Bonjour,
j'ai une photo plus grande que mon objet image sur mon userform et je voudrais que cette photo soit à la taille de mon objet image
Comment ajuster une image dans un objet image sur un userform ?
merci d'avance
Bonjour,
j'ai une photo plus grande que mon objet image sur mon userform et je voudrais que cette photo soit à la taille de mon objet image
Comment ajuster une image dans un objet image sur un userform ?
merci d'avance
Salut grimgrim,
La propriété "PictureSizeMode" doit contenir la valeur 1, il me semble.
Cordialement,
Kimy
Bonsoir,
Cela n'a pas fonctionner, j'ai fait ce code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 For Each FileItem In SourceFolder.Files 'Inscrit le nom du fichier dans la cellule A = FileItem.Name If ArtRech = Left(A, 9) Or ArtRech = Left(A, 7) Then 'Or ArtRech = Left(A, 7) If B = 1 Then Image1.Picture = LoadPicture(Chemin & A) Image1.PictureSizeMode = fmPictureSizeModeStretch ElseIf B = 2 Then Image2.Picture = LoadPicture(Chemin & A) Image12PictureSizeMode = fmPictureSizeModeStretch ElseIf B = 3 Then Image3.Picture = LoadPicture(Chemin & A) Image3.PictureSizeMode = fmPictureSizeModeStretch AA = A 'Principal.Shapes.Pictures("Image5").Visible = False ElseIf B = 4 Then Image4.Picture = LoadPicture(Chemin & A) Image4.PictureSizeMode = fmPictureSizeModeStretch ElseIf B = 5 Then Image5.Picture = LoadPicture(Chemin & A) Image5.PictureSizeMode = fmPictureSizeModeStretch End If B = B + 1 End If I = I + 1 Next FileItem ' If B = 4 Then Image3.Picture = LoadPicture("") Image5.Picture = LoadPicture(Chemin & AA) Image5.PictureSizeMode = fmPictureSizeModeStretch End If
Cordialement,
Bonjour,
S'il n'est pas possible d'adapter la photo à l'objet image dans un userform, est il possible de faire de l'inverse ?
Avez vous une idée des deux possibilités et du problème rencontré ?
Cordialement,
Dans l'aide de VBA Excel:
Encore dans l'aide de VBA Excel:PictureSizeMode, propriété
Voir aussi Exemple S'applique à Spécificités
Spécifie comment afficher une image de fond sur un contrôle, une feuille ou une page.
Syntaxe
object.PictureSizeMode [= fmPictureSizeMode]
La syntaxe de la propriété PictureSizeMode comprend les éléments suivants :
Élément Description
object Objet valide.
fmPictureSizeMode Facultatif. Action à effectuer si l'image et la feuille ou la page qui la contienne ne sont pas de la même taille.
Valeurs
Les valeurs de fmPictureSizeMode sont les suivantes :
Constante Valeur Description
fmPictureSizeModeClip 0 Découpe la partie de l'image plus grande que la feuille ou la page (par défaut).
fmPictureSizeModeStretch 1 Étire l'image pour remplir la feuille ou la page. Cette définition déforme l'image dans le sens horizontal ou vertical.
fmPictureSizeModeZoom 3 Agrandit l'image mais ne la déforme ni dans le sens horizontal, ni dans le sens vertical.
Remarques
La valeur fmPictureSizeModeClip indique que vous voulez afficher l'image dans ses taille et échelle initiales. Si la feuille ou page est plus petite que l'image, cette définition n'affiche que la partie de l'image qui tient dans la feuille ou page.
Les valeurs fmPictureSizeModeStretch et fmPictureSizeModeZoom agrandissent toutes les deux l'image, mais la valeur fmPictureSizeModeStretch provoque une distorsion. La valeur fmPictureSizeModeStretch agrandit l'image dans le sens vertical et horizontal jusqu'à ce que celle-ci atteigne les bords correspondants du conteneur ou contrôle. La valeur fmPictureSizeModeZoom agrandit l'image jusqu'à ce qu'elle atteigne les bords horizontaux ou verticaux du conteneur ou contrôle. Si l'image atteint en premier les bords horizontaux, la distance restante jusqu'aux bords verticaux reste vierge. Si elle atteint en premier les bords horizontaux, la distance restante jusqu'aux bords horizontaux reste vierge.
Toujours dans l'aide de VBA ExcelAutoSize, propriété
Voir aussi Exemple S'applique à Spécificités
Spécifie si un objet se redimensionne automatiquement pour afficher la totalité de son contenu.
Syntaxe
object.AutoSize [= Boolean]
La syntaxe de la propriété AutoSize comprend les éléments suivants :
Élément Description
object Objet valide.
Boolean Facultatif. Si le contrôle est redimensionné
Valeurs
Les valeurs de Boolean sont les suivantes :
Valeur Description
True Redimensionne automatiquement le contrôle pour afficher la totalité de son contenu.
False Maintient la dimension du contrôle constante. Le contenu est découpé lorsqu'il dépasse la zone du contrôle (par défaut).
Remarques
Pour les contrôles ayant une légende, la propriété AutoSize précise si le contrôle s'ajuste automatiquement pour afficher toute la légende.
Pour les contrôles sans légende, cette propriété spécifie si ce contrôle s'ajuste automatiquement pour afficher les informations qu'il contient. Dans un contrôle ComboBox, par exemple, la définition de AutoSize sur True détermine automatiquement la largeur de la zone d'affichage pour correspondre à la longueur du texte courant.
Pour les zones de texte à ligne unique, la définition de AutoSize sur True détermine automatiquement la largeur de la zone d'affichage pour correspondre à la longueur du texte de la zone de texte.
Pour une zone de texte à plusieurs lignes ne contenant pas de texte, la définition de AutoSize sur True affiche automatiquement le texte sous forme de colonne. La largeur de la colonne de texte est déterminée pour accueillir la lettre la plus large de cette taille des caractères. La hauteur de la colonne de texte est définie pour afficher tout le texte du contrôle TextBox.
Pour une zone de texte à plusieurs lignes contenant du texte, la définition de AutoSize sur True agrandit automatiquement le TextBox verticalement pour afficher la totalité du texte. La largeur de TextBox reste inchangée.
Note Si vous modifiez manuellement la taille d'un contrôle alors que AutoSize est défini sur True, la modification manuelle l'emporte sur le réglage de AutoSize.
Et puis il existe une tralée de programmes gratuits ou payants qui permettent de redimensionner une image. Tu choisis le dimension d'image que tu veux, tu la redimensionne en conséquence et tu ajustes les dimensions de ton contrôle image en conséquence.Height, Width, propriétés
Voir aussi Exemple S'applique à Spécificités
Hauteur ou largeur en points d'un objet.
Syntaxe
object.Height [= Single]
object.Width [= Single]
La syntaxe des propriétés Height et Width comprend les éléments suivants :
Élément Description
object Objet valide.
Single Facultatif. Expression numérique spécifiant les dimensions d'un objet.
Remarques
Les propriétés Height et Width sont automatiquement mises à jour lorsque vous déplacez ou redimensionnez un contrôle. Si vous modifiez la taille d'un contrôle, la propriété Height ou Width stocke la nouvelle hauteur ou largeur, alors que la propriété OldHeight ou OldWidth stocke la hauteur ou largeur précédente. Si vous spécifiez une valeur pour la propriété Left ou Top inférieure à zéro, cette valeur sera utilisée pour calculer la hauteur ou largeur du contrôle, mais une partie du contrôle ne sera pas visible sur la feuille.
Si vous déplacez un contrôle d'une partie d'une feuille à une autre, la valeur de Height ou Width ne change que si vous dimensionnez le contrôle lors de son déplacement. Les valeurs des propriétés Left et Top du contrôle changent pour refléter la nouvelle position du contrôle par rapport aux bords de la feuille qui le contient.
La valeur affectée à Height ou Width doit être supérieure ou égale à zéro. Pour la plupart des systèmes, la plage de valeurs recommandée est de 0 à +32.767. Des valeurs supérieures peuvent également fonctionner selon la configuration de votre système.
D'habitude, ce site aide énormément les personnes qui ont un besoin et ne fait pas comme d'autres sites avec des commentaires spécifiques
Si j'ai posté ce besoin d'aide, c'est parce que je n'ai pas trouvé dans l'aide ni sur le web le problème que je rencontre
Merci aux autres personnes de l'aide que vous pourrez m'apporter
Cordialement,
Je t'ai cité l'aide de VBA, la même aide de VBA qui est supposée être sur ton propre disque.
La même aide de VBA qui te dit qu'il y a trois constantes fmPictureSizeMode
1) fmPictureSizeModeClip
Valeur numérique 0
Découpe la partie de l'image plus grande que la feuille ou la page (par défaut).
Ce n'est visiblement pas celle dont tu as besoin
2) fmPictureSizeModeStretch
Valeur numérique 1
Étire l'image pour remplir la feuille ou la page. Cette définition déforme l'image dans le sens horizontal ou vertical.
Si tu ne veux pas que ton image soit déformée, ce n'est visiblement pas celle dont tu as besoin
3) fmPictureSizeModeZoom
Valeur numérique 3
Agrandit l'image mais ne la déforme ni dans le sens horizontal, ni dans le sens vertical.
Si les dimensions de ton contrôle image ne respectent pas les mêmes proportions que ton image originale, elle risque d'être rognée.
La même aide de VBA qui est supposée être sur ton propre disque te dit aussi que le contrôle image a une propriété Autosize
La même aide de VBA qui te dit qu'il y a deux valeurs possibles pour la propriété Autosize:
1) True
======================================> Redimensionne automatiquement le contrôle pour afficher la totalité de son contenu.
Il faut quand même comprendre que quand le contrôle se redimensionne et qu'il n'est seul sur le User_Form, cela risque de ne pas être trop beau au final
2) False
Maintient la dimension du contrôle constante. Le contenu est découpé lorsqu'il dépasse la zone du contrôle (par défaut).
Au final, cela ressemble pas mal à fmPictureSizeModeClip
You compreniche maintenant ?
Ceci dit, si VB6 a déjà été installé sur ta machine et que tu ne feras jamais passer ta macro sur un Office 64 bits, tu peux regarder si tu n'as pas aussi un contrôle PictureBox. C'est un contrôle plus puissant et plus souple qu'un contrôle image. Si mes souvenirs sont exacts, il a même ses propres barres de défilement.
Mais, ce qui va causer le moins de problèmes d'ajustements, de redimensionnements, d'étirements et de rognages automatiques c'est ceci:
C'est-tu plus clair astheure ?Et puis il existe une tralée de programmes gratuits ou payants qui permettent de redimensionner une image. Tu choisis le dimension d'image que tu veux, tu la redimensionne en conséquence et tu ajustes les dimensions de ton contrôle image en conséquence.
Partager