Image dans userform VB Excel
Résolu
ed
-
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde !
J'ai un petit problème en programmation VB pour Excel que je n'arrive pas à résoudre :
J'aimerais insérer une image dans un userform, MAIS sans la charger à partir du path "C:\path\mon_image".
(En fait c'est pour un petit programme en VB pour Excel qui doit tourner sur l'ordinateur de M. Toutlemonde avec une jolie charte graphique...).
Est-il possible de mettre cette image dans une feuille du fichier Excel et d'y faire appel pour l'insérer dans mon userform ?
Si quelqu'un a une solution, je suis preneur !
Merci d'avance
ed
J'ai un petit problème en programmation VB pour Excel que je n'arrive pas à résoudre :
J'aimerais insérer une image dans un userform, MAIS sans la charger à partir du path "C:\path\mon_image".
(En fait c'est pour un petit programme en VB pour Excel qui doit tourner sur l'ordinateur de M. Toutlemonde avec une jolie charte graphique...).
Est-il possible de mettre cette image dans une feuille du fichier Excel et d'y faire appel pour l'insérer dans mon userform ?
Si quelqu'un a une solution, je suis preneur !
Merci d'avance
ed
A voir également:
- Image dans userform VB Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Image iso - Guide
4 réponses
Super !
Merci à toi Bidouilleu_R, j'ai utilisé une partie de ton code et ça marche nickel !
Je mets le code ci-dessous pour d'autres qui éventuellement auraient le même problème.
@+ed
Sub BoutonCalcul_Click()
Set CurrentChart = Sheets("Calculs").ChartObjects("Graphique 2").Chart
' Sauve le graphique en format GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
' Affiche le graphique à l'intérieur de l'userform
UserForm_TPicture.Width = 477.75ypeEau.Picture = LoadPicture(Fname)
' Modification largeur/hauteur du graphique à l'intérieur de l'usf
CurrentChart.Parent.Width = 477.75
CurrentChart.Parent.Height = 343.5
Load UserForm_TypeEau
UserForm_TypeEau.Show
End Sub
Merci à toi Bidouilleu_R, j'ai utilisé une partie de ton code et ça marche nickel !
Je mets le code ci-dessous pour d'autres qui éventuellement auraient le même problème.
@+ed
Sub BoutonCalcul_Click()
Set CurrentChart = Sheets("Calculs").ChartObjects("Graphique 2").Chart
' Sauve le graphique en format GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
' Affiche le graphique à l'intérieur de l'userform
UserForm_TPicture.Width = 477.75ypeEau.Picture = LoadPicture(Fname)
' Modification largeur/hauteur du graphique à l'intérieur de l'usf
CurrentChart.Parent.Width = 477.75
CurrentChart.Parent.Height = 343.5
Load UserForm_TypeEau
UserForm_TypeEau.Show
End Sub
oui c'est possible.
Il y a plusieurs methodes...
sur ce lien tu trouveras une explication.
https://www.developpez.net/forums/d115480/logiciels/microsoft-office/excel/macros-vba-excel/vba-e-graphique-excel-userform/
à voir aussi
https://silkyroad.developpez.com/VBA/VisualBasicEditor/
Je te donne ma méthode....
dans un userform place un bouton nommé BoutonSuivantqui va contrôler La mise à jour de 5 graphique. (
la procédure Updatechart met à jour le graphique... c'est le deuxième programme.
Attention il faux Qu'un graphique existe sinon. erreur !!!
'Code du BoutonSuivant
Private Sub BoutonSuivant_Click()
If ChartNum = 5 Then
ChartNum = 1
Else
ChartNum = ChartNum + 1
UpdateChart
End If
Do Events
End Sub
Private Sub UpdateChart()
Set CurrentChart = Sheets("Evolution").ChartObjects(ChartNum).Chart
CurrentChart.Parent.Width = 480
CurrentChart.Parent.Height = 300
' Sauve le graphique en format GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
' Affiche le graphique
Image1.Picture = LoadPicture(Fname)
End Sub
A+
Il y a plusieurs methodes...
sur ce lien tu trouveras une explication.
https://www.developpez.net/forums/d115480/logiciels/microsoft-office/excel/macros-vba-excel/vba-e-graphique-excel-userform/
à voir aussi
https://silkyroad.developpez.com/VBA/VisualBasicEditor/
Je te donne ma méthode....
dans un userform place un bouton nommé BoutonSuivantqui va contrôler La mise à jour de 5 graphique. (
la procédure Updatechart met à jour le graphique... c'est le deuxième programme.
Attention il faux Qu'un graphique existe sinon. erreur !!!
'Code du BoutonSuivant
Private Sub BoutonSuivant_Click()
If ChartNum = 5 Then
ChartNum = 1
Else
ChartNum = ChartNum + 1
UpdateChart
End If
Do Events
End Sub
Private Sub UpdateChart()
Set CurrentChart = Sheets("Evolution").ChartObjects(ChartNum).Chart
CurrentChart.Parent.Width = 480
CurrentChart.Parent.Height = 300
' Sauve le graphique en format GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
' Affiche le graphique
Image1.Picture = LoadPicture(Fname)
End Sub
A+