Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Zone de cellules dans une userform

20 réponses
Avatar
JP
Bonjour,

Dans Excelabo un article de Michel Pierron =E0 cette adresse:
http://www.excelabo.net/excel/graphique_dans_userform
Il donne une m=E9thode qui semble tr=E8s 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 =EAtre dynamiquement li=E9e =E0 la zone du tableur conten=
ant le graphique ou dessin par l'interm=E9diaire d'un fichier WMF temporair=
e qui permet =E0 chaque ouverture de la UserForm d'afficher une image mise =
=E0 jour.


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

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

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


Merci des conseils

JP

10 réponses

1 2
Avatar
DanielCo
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
Avatar
JP
Bonjour Daniel,

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

JP
Avatar
DanielCo
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
Avatar
JP
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
Avatar
MichD
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
Avatar
DanielCo
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
Avatar
JP
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
Avatar
MichD
Bonjour,

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

http://cjoint.com/?CKkpzM8IsfD

MichD
---------------------------------------------------------------
Avatar
JP
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
Avatar
JP
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
1 2