je souhaiterai être renseigné suite à un besoin ou bien être redirigé vers une personne qui pourrait m’aider.

Je fais une analyse de la performance commerciale d'un groupe automobile sur un historique entre 2013 et 2016 et un périmètre portant sur différentes régions. J’ai trouvé un code en VBA me permettant de faire défiler automatiquement mes données dans un graphique selon la cellule dans laquelle je me situe dont voici les éléments constitutifs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, [a7:a14]) Is Nothing Then
[a19].Value = ActiveCell.Value
End If
'----------------
If Not Intersect(ActiveCell, [b6:e6]) Is Nothing Then
[g6].Value = ActiveCell.Value
End If
End Sub 
 
Ensuite, j’ai écrit une nouvelle macro pour exporter ces données sur Powerpoint. Mon besoin est d’avoir un curseur sur Powerpoint me permettant  d’utiliser le même principe. Voici la macro : 
 
Sub NouvellePresentation()
Dim pptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Dim Diapo As PowerPoint.Slide
Dim Sh As PowerPoint.Shape
Dim Cs1 As ColorScheme
Dim nbshpe As Integer
 
Set pptApp = CreateObject("Powerpoint.Application")
Set PptDoc = pptApp.Presentations.Add
 
With PptDoc
 
    '--- Ajoute un Slide
    .Slides.Add Index:=1, Layout:=ppLayoutBlank
    'Crée une zone de texte (AddLabel)
    Set Sh = .Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
        Left:=100, Top:=100, Width:=150, Height:=60)
    'insère la valeur de la Cellule A1 dans une zone de texte
    Sh.TextFrame.TextRange.Text = Range("A1")
    'Modifie la couleur du texte
    Sh.TextFrame.TextRange.Font.Color = RGB(255, 100, 255)
 
 
    '--- Ajoute un nouveau slide et le positionner en 2eme position
    Set Diapo = .Slides.Add(Index:=2, Layout:=ppLayoutBlank)
 
    'copie le 1er graphique contenu dans la feuille Excel active
    ActiveSheet.ChartObjects(1).Copy
    'collage dans la 2eme diapositive
    Diapo.Shapes.Paste
 
    'Compte le nombre de shapes dans la diapositive:
    'le dernier objet inséré correspond à l'index le plus élevé
    nbshpe = Diapo.Shapes.Count
 
    'Renomme et met en forme l'objet collé
    With Diapo.Shapes(nbshpe)
        .Name = "monGraph" 'personnalise le nom
        .Left = 150 'définit la position horizontale dans le slide
        .Top = 100 'définit la position verticale dans le slide
        .Height = 300 'hauteur
        .Width = 400 'largeur
    End With
 
 
    '--- Modifie la couleur de fond dans les différents Slides
    Set Cs1 = .ColorSchemes(3)
    Cs1.Colors(ppBackground).RGB = RGB(225, 233, 200)
    .SlideMaster.ColorScheme = Cs1
End With
 
 
'Sauvegarde la présentation
'dans le meme répertoire que le classeur excel contenant la macro.
PptDoc.SaveAs Filename:=ThisWorkbook.Path & "\" & "NouvellePresentation.ppt"
'ferme la presentation
PptDoc.Close
'ferme powerpoint
pptApp.Quit
 
MsgBox "Opération terminée."
End Sub
Le problème avec ce code est qu’il m’ouvre mon graphique dans une autre présentation alors que je souhaiterai mettre le graph dans une présentation adhoc.

Aussi, je dois rester sur le fichier excel et changer de cellule pour que les données se mettent à jour automatiquement sur mon graphique dans powerpoint. Il me faudrait un curseur qui me permette de faire defiler mes données dans les différents graphiques sur la presentation powerpoint.

J'ai active l'onglet développeur sous powerpoint, mais j'ai besoin d'un code qui puisse être en mesure de résoudre mon problem.


Je vous remercie d’avance pour votre aide.