Knowledge base

(none)

Problème

think-cell n'utilise pas la couleur de texte principale définie dans mon modèle PowerPoint.

Solution

Ce problème survient en raison d'un bogue dans PowerPoint. Depuis juillet 2017, Microsoft a résolu le problème dans Office 365 et Office 2016. Office 365 et les éditions Office 2016 Click-to-Run ont été corrigés avec la mise à jour vers la Version 1706 (version 8229.2073). Le correctif pour l'édition basée sur MSI d'Office 2016 a été inclus dans KB3203481.

Explication et solution provisoire si votre version d'Office n'est pas réparée

think-cell essaie de déterminer la couleur de police correcte selon les couleurs de police fournies par votre modèle PowerPoint. Les versions de PowerPoint contenant un bogue indiquent à think-cell des valeurs incorrectes pour la couleur de police si certains espaces réservés manquent sur la diapositive principale du masque des diapositives. Ce problème est reproductible sans think-cell.

Reproduction de l'erreur sans think-cell

La macro suivante insère une nouvelle diapositive avec une zone de texte affichant les valeurs de couleur de police issues de chaque TextStyleLevel de votre masque des diapositives dans PowerPoint. "TextStyleLevel[1]" affiche la couleur de police principale fournie par PowerPoint.

  1. Ouvrez un fichier PowerPoint concerné et ouvrez l’éditeur VBA avec Alt + F11.
  2. Dans l’éditeur VBA, sélectionnez votre présentation et cliquez sur InsérerNouveau module
  3. Collez la macro suivante et fermez l’éditeur VBA.
  4. Dans la fenêtre de présentation de PowerPoint, appuyez sur Alt+F8 pour ouvrir la fenêtre Macro.
  5. Sélectionnez Afficher et cliquez sur Lancer
Function AppendToTextRange(txtfrm2 As PowerPoint.TextFrame2) As Office.TextRange2
    Set AppendToTextRange = _
	txtfrm2.TextRange.Characters(txtfrm2.TextRange.Length + 1, 0)
End Function

Sub Demonstrate()
    Dim pres As PowerPoint.Presentation
    Set pres = ActivePresentation
    
    Dim sld As PowerPoint.Slide
    Set sld = pres.Slides.Add(pres.Slides.Count + 1, PowerPoint.ppLayoutBlank)
    sld.Select
    
    Dim mstr As PowerPoint.Master
    Set mstr = sld.Master
    
    Dim shp As PowerPoint.Shape
    Set shp = sld.Shapes.AddShape(Office.msoShapeRectangle, 50, 50, _
    pres.PageSetup.SlideWidth / 2 - 50, pres.PageSetup.SlideHeight - 100)
    shp.Fill.ForeColor.RGB = RGB(255, 255, 122) 'light yellow backgound

    Dim txtfrm2 As PowerPoint.TextFrame2
    Set txtfrm2 = shp.TextFrame2
    
    Dim txtrng2 As Office.TextRange2
    Dim i As Integer
    i = 1
    Dim txtlvl As PowerPoint.TextStyleLevel
    For Each txtlvl In mstr.TextStyles(PowerPoint.ppBodyStyle).Levels
        Set txtrng2 = AppendToTextRange(txtfrm2)
        txtrng2.Text = "TextStyleLevel[" & i & "] has color " & vbCrLf
        txtrng2.Font.Fill.Solid
        txtrng2.Font.Fill.ForeColor.ObjectThemeColor = Office.msoThemeColorText1
        
        Set txtrng2 = AppendToTextRange(txtfrm2)
        Dim col As PowerPoint.ColorFormat
        
        Set col = txtlvl.Font.Color
        If PowerPoint.ppSchemeColorMixed = col.Type Then
            txtrng2.Text = "MIXED (should not occur)" & vbCrLf & vbCrLf
        Else
            If Office.msoNotThemeColor = col.ObjectThemeColor Then
                Dim nRgb As Long
                nRgb = col.RGB()
                txtrng2.Text = "RGB: " & (nRgb Mod 256) & "/" & ((nRgb \ 256) _
                Mod 256) & "/" & (nRgb \ 256 \ 256) & vbCrLf & vbCrLf
                txtrng2.Font.Fill.ForeColor.RGB = nRgb
            Else
                txtrng2.Text = "ObjectThemeColor: " & col.ObjectThemeColor _
                & vbCrLf & vbCrLf
                txtrng2.Font.Fill.ForeColor.ObjectThemeColor = col.ObjectThemeColor
            End If
        End If
        i = i + 1
    Next txtlvl
End Sub

Solution provisoire

Insérez les espaces réservés manquants sur le masque des diapositives de votre présentation PowerPoint :

  1. Ouvrez le masque des diapositives : PowerPoint → AffichageAffichage des masquesMasque des diapositives
  2. Rendez-vous sur la diapositive principale dans les vignettes de la barre latérale
  3. Dans la plupart des cas, le problème peut être résolu en insérant l'espace réservé de Texte et/ou Titre manquant :
    Mise en page du masqueMise en page du masque → cochez Texte et/ou TitreOK
  4. Fermez le masque des diapositives : FermerDésactiver le mode Masque
  5. Insérez un nouveau graphique ou des graphiques existants actualisés, par exemple en les faisant glisser dans une nouvelle position.

Si le problème persiste, répétez ces étapes en cochant l’ensemble des espaces réservés manquants à l’étape 3. Les modèles ou présentations peuvent contenir plus d'un masque de diapositives concerné. Appliquez la solution provisoire à tous les masques.

Il peut être utile d'inclure cette correction dans votre modèle PowerPoint ou de contacter la personne responsable de vos modèles PowerPoint pour mettre à jour votre modèle par défaut.

Si votre société possède un contrat auprès de l’Assistance Microsoft Office et que vous souhaitez que Microsoft corrige également votre version d’Office, veuillez indiquer notre numéro de dossier Microsoft 116080514511540.

Contacter l'assistance

Si think-cell n'utilise toujours pas la couleur de police correcte alors que vous utilisez une version d'Office corrigée ou que vous avez appliqué la solution, veuillez envoyer une diapositive d'exemple à notre équipe d'assistance et nous indiquer la couleur de police souhaitée.