Redimensionnement d'un UserForm pour image

Résolu/Fermé
pierre64 - 9 juin 2017 à 17:00
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 - 13 juin 2017 à 10:15
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.

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:

6 réponses

yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
10 juin 2017 à 12:11
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.
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
Modifié le 10 juin 2017 à 12:34
peux-tu partager ton fichier?
en passant, je remarque que tu as interverti hauteurs et largeurs dans ton code.
0
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 !
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
12 juin 2017 à 10:04
Bonjour,

« Je ne peux pas partager le fichier, car ce sont des données confidentielles.»
Ça demande juste un petit effort : il suffit de remplacer les données confidentielles par des données génériques !

Patrice
0
pierre64200 Messages postés 21 Date d'inscription mardi 8 décembre 2015 Statut Membre Dernière intervention 13 juin 2017
12 juin 2017 à 10:17
Effectivement mais je n'arrive pas à télécharge le fichier sur le forum
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
12 juin 2017 à 10:39
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
.
0
pierre64200 Messages postés 21 Date d'inscription mardi 8 décembre 2015 Statut Membre Dernière intervention 13 juin 2017
12 juin 2017 à 11:40
Le fichier est en ligne http://www.cjoint.com/c/GFmiPrFZFAH
0
pierre64200 Messages postés 21 Date d'inscription mardi 8 décembre 2015 Statut Membre Dernière intervention 13 juin 2017
12 juin 2017 à 10:42
Voici le fichier
http://www.cjoint.com/c/GFmiPrFZFAH

Merci pour votre aide
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
12 juin 2017 à 13:22
Il faudrait fournir un fichier avec un minimum de données pour qu'il soit fonctionnel !
0
pierre64200 Messages postés 21 Date d'inscription mardi 8 décembre 2015 Statut Membre Dernière intervention 13 juin 2017
12 juin 2017 à 14:46
Il y a des données dans la feuille "Base de données"
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
12 juin 2017 à 15:01
je ne vois rien dans UserForm1, et ne vois le code VBA nulle part...
as-tu corrigé l'inversion des hauteurs et largeurs dans ton code?
0
pierre64200 Messages postés 21 Date d'inscription mardi 8 décembre 2015 Statut Membre Dernière intervention 13 juin 2017
Modifié le 12 juin 2017 à 15:04
Dans Userform c'est normal qu'il n'affiche rien car tu n'as pas l'image qu'il cherche.
Le code VBA est dans le Module 1 dans Visual Basic
J'ai bien échangé les hauteurs et largeurs oui
0
pierre64200 Messages postés 21 Date d'inscription mardi 8 décembre 2015 Statut Membre Dernière intervention 13 juin 2017
12 juin 2017 à 15:08

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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
12 juin 2017 à 15:36
suggestion:
    UserForm1.Image1.AutoSize = True
   UserForm1.Width = UserForm1.Image1.Width
    UserForm1.Height = UserForm1.Image1.Height
0
pierre64200 Messages postés 21 Date d'inscription mardi 8 décembre 2015 Statut Membre Dernière intervention 13 juin 2017
13 juin 2017 à 08:52
C'est parfait c'est exactement ca !
Merci beaucoup
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
13 juin 2017 à 10:15
pour info, Picture.Height n'est pas exprimé dans la même unité que Image1.Height et que UserForm1.Height.
d'où ton soucis.
0