Microsoft 365 code VBA incorrecte

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

claude.bonato0

XLDnaute Nouveau
Bonjour

J'ait un probléme de code vba qui fonctionnait avec excel 2007 seul 2 paragraphes fonctionnes il on tous le meme code seul le n° de paragraphe change
je ne comprend pas
merci à vous tous
VB:
 If Graph = 3 Then 'graph écart boule interprété
            Sheets("Feuil3").ChartObjects(1).Chart.Export fichier, "gif"
            Me.Image3.Picture = LoadPicture("c:tempgraphique.gif")
            Sheets("Feuil1").Select
        End If
 
Dernière édition:
Bonjour
J'AIT UN PROLEME DE CODE VBA QUI FONCTIONNAIT AVEC EXCEL 2007 SEUL 2 PARAGRAFE FONCTIONNE IL ON TOUS LES MEME CODES SEUL LE N° DE PARAGRAFE CHANGE
JE NE COMPREND PAS
VB:
 If Graph = 3 Then 'graph écart boule interprété
            Sheets("Feuil3").ChartObjects(1).Chart.Export fichier, "gif"
            Me.Image3.Picture = LoadPicture("c:tempgraphique.gif")
            Sheets("Feuil1").Select
        End If
Bonjour,

En tant qu'ami je te conseille d'enlever les majuscules de ton poste tout de suite, cela risque d'énerver certains membres et ils risquent même de ne pas de te répondre, ce forum et une aide bénévole, donc si quelqu'un ne respecte pas la charte (et même si il l'a respecte) il n'ont pas l'obligation d'aider. Alors enlève les majuscules de ton poste c'est déconseillé par la charte.
 
Bonjour à tous,
Même en ayant changé "la casse" du texte de demande, celle-ci n'est pas ou peu exploitable en l'état.
Fourni un fichier exemple sans données confidentielle sinon, comme le dis à juste titre ETOTO (que je salue au passage), tu ne trouveras pas de réponse.
Un fichier joint avec des explications claires est plus souvent propice à une solution.
@+ Lolote83
 
Bonjour
je vous joint le fichier en question
Sub AffichageDesGraph(Graph)
Dim i%

For i = 1 To 6
If Graph = i Then
UserForm1.Controls("image" & i).Visible = True
Const fichier = "c:tempgraphique.gif"
If Graph = 1 Then 'graph nombre sortie boule
Sheets("Feuil4").ChartObjects(1).Chart.Export fichier, "gif"
Me.Image1.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 2 Then 'graph nombre sortie étoile
Sheets("Feuil4").ChartObjects(2).Chart.Export fichier, "gif"
Me.Image2.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If



If Graph = 3 Then 'graph écart boule interprété
Sheets("Feuil3").ChartObjects(1).Chart.Export fichier, "gif"
Me.Image3.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 4 Then 'graph écart étoile interprété
Sheets("Feuil3").ChartObjects(2).Chart.Export fichier, "gif"
Me.Image4.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 5 Then 'graph écart réel boule
Sheets("Feuil3").ChartObjects(3).Chart.Export fichier, "gif"

Me.Image5.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 6 Then 'graph écart réel étoile
Sheets("Feuil3").ChartObjects(4).Chart.Export fichier, "gif"
Me.Image6.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
ElseIf Graph <> i Then
UserForm1.Controls("image" & i).Visible = False
End If
Next i
End Sub
 
Bonjour
je vous joint le fichier en question
Sub AffichageDesGraph(Graph)
Dim i%

For i = 1 To 6
If Graph = i Then
UserForm1.Controls("image" & i).Visible = True
Const fichier = "c:tempgraphique.gif"
If Graph = 1 Then 'graph nombre sortie boule
Sheets("Feuil4").ChartObjects(1).Chart.Export fichier, "gif"
Me.Image1.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 2 Then 'graph nombre sortie étoile
Sheets("Feuil4").ChartObjects(2).Chart.Export fichier, "gif"
Me.Image2.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If



If Graph = 3 Then 'graph écart boule interprété
Sheets("Feuil3").ChartObjects(1).Chart.Export fichier, "gif"
Me.Image3.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 4 Then 'graph écart étoile interprété
Sheets("Feuil3").ChartObjects(2).Chart.Export fichier, "gif"
Me.Image4.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 5 Then 'graph écart réel boule
Sheets("Feuil3").ChartObjects(3).Chart.Export fichier, "gif"

Me.Image5.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 6 Then 'graph écart réel étoile
Sheets("Feuil3").ChartObjects(4).Chart.Export fichier, "gif"
Me.Image6.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
ElseIf Graph <> i Then
UserForm1.Controls("image" & i).Visible = False
End If
Next i
End Sub
Heu, la tu nous as joint que le code, mais comme dit @Yeahou dans le post #6, le chemin n'est pas dans le bon format.
 
Bonjour je vous joint le fichier complet
Bonjour
je vous joint le fichier en question
Sub AffichageDesGraph(Graph)
Dim i%

For i = 1 To 6
If Graph = i Then
UserForm1.Controls("image" & i).Visible = True
Const fichier = "c:tempgraphique.gif"
If Graph = 1 Then 'graph nombre sortie boule
Sheets("Feuil4").ChartObjects(1).Chart.Export fichier, "gif"
Me.Image1.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 2 Then 'graph nombre sortie étoile
Sheets("Feuil4").ChartObjects(2).Chart.Export fichier, "gif"
Me.Image2.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If



If Graph = 3 Then 'graph écart boule interprété
Sheets("Feuil3").ChartObjects(1).Chart.Export fichier, "gif"
Me.Image3.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 4 Then 'graph écart étoile interprété
Sheets("Feuil3").ChartObjects(2).Chart.Export fichier, "gif"
Me.Image4.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 5 Then 'graph écart réel boule
Sheets("Feuil3").ChartObjects(3).Chart.Export fichier, "gif"

Me.Image5.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 6 Then 'graph écart réel étoile
Sheets("Feuil3").ChartObjects(4).Chart.Export fichier, "gif"
Me.Image6.Picture = LoadPicture("c:tempgraphique.gif")
Sheets("Feuil1").Select
End If
ElseIf Graph <> i Then
UserForm1.Controls("image" & i).Visible = False
End If
Next i
End Sub
 
Je suis pas bon en VBA mais j'applique les conseils de @Yeahou. Voici le code :

Mais il faut nous montrer le fichier où est stocké le code.

VB:
Sub AffichageDesGraph(Graph)
Dim i%

For i = 1 To 6
If Graph = i Then
UserForm1.Controls("image" & i).Visible = True
Const fichier = "c:tempgraphique.gif"
If Graph = 1 Then 'graph nombre sortie boule
Sheets("Feuil4").ChartObjects(1).Chart.Export fichier, "gif"
Me.Image1.Picture = LoadPicture("c:\temp\graphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 2 Then 'graph nombre sortie étoile
Sheets("Feuil4").ChartObjects(2).Chart.Export fichier, "gif"
Me.Image2.Picture = LoadPicture("c:\temp\graphique.gif")
Sheets("Feuil1").Select
End If



If Graph = 3 Then 'graph écart boule interprété
Sheets("Feuil3").ChartObjects(1).Chart.Export fichier, "gif"
Me.Image3.Picture = LoadPicture("c:\temp\graphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 4 Then 'graph écart étoile interprété
Sheets("Feuil3").ChartObjects(2).Chart.Export fichier, "gif"
Me.Image4.Picture = LoadPicture("c:\temp\graphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 5 Then 'graph écart réel boule
Sheets("Feuil3").ChartObjects(3).Chart.Export fichier, "gif"

Me.Image5.Picture = LoadPicture("c:\temp\graphique.gif")
Sheets("Feuil1").Select
End If
If Graph = 6 Then 'graph écart réel étoile
Sheets("Feuil3").ChartObjects(4).Chart.Export fichier, "gif"
Me.Image6.Picture = LoadPicture("c:\temp\graphique.gif")
Sheets("Feuil1").Select
End If
ElseIf Graph <> i Then
UserForm1.Controls("image" & i).Visible = False
End If
Next i
End Sub
 
re
bonjour
j'aurais fait un truc dans le genre perso
VB:
Function exportGraph(x As Long)
    Dim fichier$
    fichier = ThisWorkbook.Path
    Select Case x
    Case 1, 2: fichier = fichier & "\chart" & x & ".gif"
        Sheets("Feuil4").ChartObjects(x).Chart.Export fichier, "gif"

    Case 3, 4, 5, 6: fichier = fichier & "\chart" & x - 2 & ".gif"
        Sheets("Feuil3").ChartObjects(x - 2).Chart.Export fichier, "gif"
    End Select
    Do: Loop While Dir(fichier) = ""
    exportGraph = fichier
End Function


Sub AffichageDesGraph()
    Dim i%, fichier$
    For i = 1 To 6
        fichier = exportGraph(i)
        With UserForm1.Controls("image" & i)
            .Visible = True
            .Picture = LoadPicture(fichier)
            Sheets("Feuil1").Select
        End With
        Kill fichier
    Next i
End Sub
bien sur je peux pas tester et optimiser vu que tu persiste a n'envoyer que le code et non le fichier xl
 
Bonjour Claude, le fil,

Bonjour je vous joint le fichier complet

y'a un progrès ! tu as su mettre ton code VBA entre balises de code ! 🙂

mais le code VBA d'un Classeur Excel n'est pas le fichier de ce classeur Excel !

fichier = FILE en anglais ! 😄 il se trouve sur le disque dur de ton PC.​

un code VBA, c'est les instructions d'un programme, et ce programme est dans un des modules du classeur Excel si le fichier a l'extension .xlsm ou .xls.

soan
 
Bonjour Claude, le fil,



y'a un progrès ! tu as su mettre ton code VBA entre balises de code ! 🙂

mais le code VBA d'un Classeur Excel n'est pas le fichier de ce classeur Excel !

fichier = FILE en anglais ! 😄 il se trouve sur le disque dur de ton PC.​

un code VBA, c'est les instructions d'un programme, et ce programme est dans un des modules du classeur Excel si le fichier a l'extension .xlsm ou .xls.

soan
🤣 🤣 Vives les fichiers !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
665
Retour