Zone de cellules dans une userform

Le
JP
Bonjour,

Dans Excelabo un article de Michel Pierron à cette adresse:
http://www.excelabo.net/excel/graphique_dans_userform
Il donne une méthode qui semble très simple pour afficher une image ou=
une zone de cellules,dans une userform



Dans son explication, Michel Pierron parle de, je cite:

La UserForm peut être dynamiquement liée à la zone du tableur conten=
ant le graphique ou dessin par l'intermédiaire d'un fichier WMF temporair=
e qui permet à chaque ouverture de la UserForm d'afficher une image mise =
à jour.


J'ai donc mis ce code à l'initialisation de l'userform qui me donne syst=
ématiquement un message d'erreur.

Private Sub UserForm_Initialize()
' Déclaration des variables
Dim nom_graphe As String
Dim graphe As Chart
'Affiche le bilan des formations
Set graphe = Sheets("feuil1").ChartObjects(1).Chart
nom_graphe = ThisWorkbook.Path & Application.PathSeparator & "graphe.=
gif"
graphe.Export Filename:=nom_graphe, FilterName:="GIF"
Image1.Picture = LoadPicture(nom_graphe)
End Sub

Un fichier exemple joint: http://cjoint.com/?CKkkV5e3Ksb


Merci des conseils

JP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #25775292
Bonjour,
Tu n'as pas de graphique sur "Feuil1".
Daniel


Bonjour,

Dans Excelabo un article de Michel Pierron à cette adresse:
http://www.excelabo.net/excel/graphique_dans_userform
Il donne une méthode qui semble très simple pour afficher une image ou une
zone de cellules,dans une userform



Dans son explication, Michel Pierron parle de, je cite:

La UserForm peut être dynamiquement liée à la zone du tableur contenant le
graphique ou dessin par l'intermédiaire d'un fichier WMF temporaire qui
permet à chaque ouverture de la UserForm d'afficher une image mise à jour.


J'ai donc mis ce code à l'initialisation de l'userform qui me donne
systématiquement un message d'erreur.

Private Sub UserForm_Initialize()
' Déclaration des variables
Dim nom_graphe As String
Dim graphe As Chart
'Affiche le bilan des formations
Set graphe = Sheets("feuil1").ChartObjects(1).Chart
nom_graphe = ThisWorkbook.Path & Application.PathSeparator & "graphe.gif"
graphe.Export Filename:=nom_graphe, FilterName:="GIF"
Image1.Picture = LoadPicture(nom_graphe)
End Sub

Un fichier exemple joint: http://cjoint.com/?CKkkV5e3Ksb


Merci des conseils

JP
JP
Le #25775342
Bonjour Daniel,

Non j'ai seulement une image et une zone de cellule qui est transformée e n une image .bmp

JP
DanielCo
Le #25775332
Oui, mais à l'initialisation de l'userform, tu cherches un graphique :

Set graphe = Sheets("feuil1").ChartObjects(1).Chart

Daniel


Bonjour Daniel,

Non j'ai seulement une image et une zone de cellule qui est transformée en
une image .bmp

JP
JP
Le #25775372
Tu as raison avec un graphe ça marche très bien.
Est-ce que, pour ce que je veux faire, il y a une modif à apporter?

JP
MichD
Le #25775522
Bonjour,

La procédure suivante crée une image de la plage A1:D4 de la Feuil1
et l'exporte dans le répertoire de ton choix.

Il ne reste plus qu'à ajouter la ligne de code qui charge l'image
dans ton formulaire

'---------------------------------------------------
Sub Créer_Fichier_Image_Plage_Cellules()
Dim Img As Shape
Dim Sh As Worksheet
Dim Chemin As String
Dim Plage As String

'****************** À définir********************
Chemin = "c:UsersTon ProfilDocuments"
fichier = "ImagePlageCellule"
Plage = "A1:D4"
Set Sh = Worksheets("Feuil1") 'Nom Feuille à adapter
'*************************************************

With Sh
.Range(Plage).CopyPicture xlScreen, xlBitmap
.Paste Destination:=.Range("A12")
Set Img = Sh.Shapes(Selection.Name)
With .ChartObjects.Add(0, 0, Img.Width, Img.Height).Chart
.Paste
.Export Chemin & fichier & ".gif", "GIF"
End With
.ChartObjects(1).Delete
Img.Delete
End With
End Sub
'---------------------------------------------------


MichD
---------------------------------------------------------------
"JP" a écrit dans le message de groupe de discussion :


Tu as raison avec un graphe ça marche très bien.
Est-ce que, pour ce que je veux faire, il y a une modif à apporter?

JP
DanielCo
Le #25775642
Je ne vois pas comment faire. Utilise plutôt un contrôle SpreadSheet.
Daniel


Tu as raison avec un graphe ça marche très bien.
Est-ce que, pour ce que je veux faire, il y a une modif à apporter?

JP
JP
Le #25775702
Merci à vous deux. La proposition de Denis me convient bien mais le fichi er va naviguer d'un pc à l'autre alors pour le chemin, je ne vois pas.

Merci encore

JP
MichD
Le #25775782
Bonjour,

Un petit fichier illustrant comment insérer une image d'une
plage de cellules dans un formulaire :

http://cjoint.com/?CKkpzM8IsfD

MichD
---------------------------------------------------------------
JP
Le #25775842
Super, j'avais bien compris mais la méthode demande d'aller dans le code pour y placer le chemin du dossier.

Sinon la méthode est très efficace.

Merci

JP
JP
Le #25775902
Denis,

Mon fichier avec ta proposition. Erreur 400.
Par ailleurs, j'ai un souci avec la fonction sommeprod dans l'onglet bilan. Dernière colonne.

http://cjoint.com/?CKkrlB3vub5

Merci

JP
Publicité
Poster une réponse
Anonyme