Redimensionnement d'un UserForm pour image
Résolu
pierre64
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je vous écris, car j'aurais besoin d'un petit renseignement.
J'aurais besoin que mon UserForm1 et mon Image1 se mettent aux dimensions de l'image que je veux importer.
Je vous joins la partie de code que j'ai essayé de faire, mais qui ne fonctionne pas, car l'Userform devient énorme et l'Image1 reste petit.
En vous remerciant par avance
Pierre
Je vous écris, car j'aurais besoin d'un petit renseignement.
J'aurais besoin que mon UserForm1 et mon Image1 se mettent aux dimensions de l'image que je veux importer.
Je vous joins la partie de code que j'ai essayé de faire, mais qui ne fonctionne pas, car l'Userform devient énorme et l'Image1 reste petit.
UserForm1.Image1.Picture = LoadPicture("C:\Users\9503923B\Desktop\Image ligne\" & Sheets("Recherche").Range("D7").Value & ".JPG")
UserForm1.Image1.Width = UserForm1.Image1.Picture.Height
UserForm1.Image1.Height = UserForm1.Image1.Picture.Width
UserForm1.Show
En vous remerciant par avance
Pierre
A voir également:
- Redimensionnement d'un UserForm pour image
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
- Légender une image - Guide
- Image gratuite - Guide
6 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, pour découvrir comment faire, je te suggère d’enregistrer une macro pendant que tu fais les manipulations à la main, puis d'examiner le code VBA de la macro.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
peux-tu partager ton fichier?
en passant, je remarque que tu as interverti hauteurs et largeurs dans ton code.
en passant, je remarque que tu as interverti hauteurs et largeurs dans ton code.
Merci pour ta réponse !
Je ne peux pas partager le fichier, car ce sont des données confidentielles.
C'est assez simple, quand je clique sur un bouton, en fonction du contenu d'une cellule, mon UserForm s'ouvre avec seulement une image à l’intérieur. Mais les différentes images ont des tailles différentes. J'aimerais donc que mon Userform s'adapte automatiquement à la taille de l'image appelée.
Merci pour ton aide !
Je ne peux pas partager le fichier, car ce sont des données confidentielles.
C'est assez simple, quand je clique sur un bouton, en fonction du contenu d'une cellule, mon UserForm s'ouvre avec seulement une image à l’intérieur. Mais les différentes images ont des tailles différentes. J'aimerais donc que mon Userform s'adapte automatiquement à la taille de l'image appelée.
Merci pour ton aide !
Déposes le fichier avec des commentaires explicatifs sur
https://mon-partage.fr/ ou sur https://www.cjoint.com/
et mets le lien obtenu dans ton prochain message.
Tuto : Comment utiliser C.joint.fr
.
https://mon-partage.fr/ ou sur https://www.cjoint.com/
et mets le lien obtenu dans ton prochain message.
Tuto : Comment utiliser C.joint.fr
.
Voici le fichier
http://www.cjoint.com/c/GFmiPrFZFAH
Merci pour votre aide
http://www.cjoint.com/c/GFmiPrFZFAH
Merci pour votre aide
Sub MonFiltre()
Application.DisplayAlerts = False
Sheets.Add.Move After:=Sheets(Sheets.Count)
Dim Image As String
Dim a As String
a = Sheets("Recherche").Range("U1")
Sheets(Sheets.Count).Name = "Resultat" + a
Sheets("Resultat" + a).Columns("C").ColumnWidth = 13
Sheets("Resultat" + a).Columns("E").ColumnWidth = 13
Sheets("Resultat" + a).Columns("F").ColumnWidth = 18.5
Sheets("Resultat" + a).Columns("M").ColumnWidth = 15
Sheets("Resultat" + a).Columns("O").ColumnWidth = 11.5
Sheets("Resultat" + a).Columns("S").ColumnWidth = 11.5
Sheets("Resultat" + a).Columns("X").ColumnWidth = 11.2
Sheets("Resultat" + a).Columns("Y").ColumnWidth = 11.2
Sheets("Resultat" + a).Range("A1").CurrentRegion.Offset(1, 0).Clear
Set Mazone = Sheets("Base de données").Range("A1:Y9").CurrentRegion
Mazone.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Recherche").Range("A6:Y7"), CopyToRange:=Sheets("Resultat" + a).Range("A6:Y100")
On Error GoTo errorHandler
UserForm1.Image1.Picture = LoadPicture("C:\Users\9503923B\Desktop\Image ligne\" & Sheets("Recherche").Range("D7").Value & ".JPG")
UserForm1.Width = Application.Width / 2
UserForm1.Height = Application.Height
UserForm1.Image1.Width = Application.Width / 2
UserForm1.Image1.Height = Application.Height
UserForm1.Show vbModeless
errorHandler:
Sheets("Resultat" + a).Select
Sheets("Recherche").Range("U1") = a + 1
Application.DisplayAlerts = True
End Sub
Voici le code entier si tu ne le trouve pas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
suggestion:
UserForm1.Image1.AutoSize = True UserForm1.Width = UserForm1.Image1.Width UserForm1.Height = UserForm1.Image1.Height
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
pour info, Picture.Height n'est pas exprimé dans la même unité que Image1.Height et que UserForm1.Height.
d'où ton soucis.
d'où ton soucis.