user_mobilelogo

Word 365: Vous saurez tout !

Pour tout connaître sur Word
Nouvelle version !

 

En promotion tout le mois d'octobre 2020
600 pages !

4,90 € (au lieu de 9,80€)

 

En savoir plus.

Vous souhaitez insérer dans une diapositive PowerPoint, un résultat calculé dans Excel et vous souhaitez que ce résultat soit automatiquement mis à jour.

Il suffit de copier la cellule et de la coller avec lien : Onglet Accueil, bouton Coller => Collage spécial => Coller le lien. La mise à jour sera automatique à chaque modification de cette cellule.

Le problème dans PowerPoint, est que, contrairement à Word, vous ne pouvez pas ou peu modifier la mise en forme de ce résultat dans PowerPoint. Si la cellule Excel n'a pas de fond de couleur, vous pourrez en mettre un dans PowerPoint (via Format de la forme). Vous pourrez également agrandir la forme. Si la cellule a déjà un fond coloré, ce fond restera. De plus, vous ne pourrez pas changer la police.

En conséquence, si vous tenez absolument à une mise en forme spécifique, qui soit cohérente avec votre présentation PowerPoint, la seule solution est de passer par une macro Excel.

Exceptionnellement (vu que mon site ne porte pas sur Excel), je donne ici un exemple de macro qui permettra d'obtenir une mise à jour automatiquement dans le fichier PowerPoint, en conservant la mise en forme que vous aurez choisie auparavant dans votre présentation.

Cette macro est une macro événementielle que vous devez mettre dans la feuille Excel qui contient la cellule (clic droit sur l'onglet => Visualiser le code). Elle se déclenchera automatiquement dès que le contenu de la cellule en question sera modifié.

Private Sub Worksheet_Change(ByVal Target As Range)
'macro écrite par m@rina
Dim PptDoc As Object
Dim texte As String

'mettez ici le nom du fichier Ppt avec son chemin
Set PptDoc = GetObject("C:\xxxx\yyyy.pptx")
'mettez ici la référence de la cellule
texte = Range("A1")
With PptDoc
'mettez ici le numéro de la diapo et le nom de la forme dans PowerPoint
    .Slides(1).Shapes("maforme").TextFrame.TextRange.Text = texte
    .Save
    .Close

End With
End Sub
 

 

Statistiques

Aujourd'hui135
Hier3302
Cette semaine3437
Ce mois71093
Total depuis 200412503373

8
visiteurs actuellement en ligne

27 octobre 2020