XL 2013 Augmenter le nombre d'image sur un userform

  • Initiateur de la discussion Initiateur de la discussion maval
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

maval

XLDnaute Barbatruc
Bonjour

Une question est-il possible d'augmenter le nombre d'image sur un userform.
J'ai un formulaire avec 10 images dessus mais suivant la recherche avec mes combobox j'aurais besoin un autre nombre d'image plus ou moins?

Je vous remercie d'avance

Cordialement
 
Bonjour max
Bonjour le Fil ,Le Forum

on peux toujours augmenter le Nombre d'images affichées à la fois sur le Userform ,mais il faut jouer sur la taille soit du Userform ou des images ou des Deux.
comment imagines tu cela .
quel serait le maximum ?
je ne suis pas sur d'avoir bien compris le sens de augmenter le nombre d'images Lol
on pourrait utiliser un Multipage et afficher sur les différentes pages (nombre a definir) de ce multipage , les Photos concernées par le Choix .

merci par avance
Amicalement
Jean marie
 
Dernière édition:
Bonjour

Le fichier qui a était fait par Robert que je salut et remercie au passage n'a pas grand chose a voir, moi je doit mettre des images en fonction des valeur des combobox il peut y avoir de 4 image à 30 image et je voulais savoir si cela était possible
Merci et bonne journée
 
JM
Je vois qu'au fil tu temps tu ai toujours aussi sympathique mais bon......!
Je suis autant sympathique que tu es prompt à joindre un fichier exemple dés le premier message d'une discussion 😉

NB: Je préviens pourtant d'entrée de jeu, non ? (cf ma page de profil)
Penche plutôt du côté de VBA, que des formules. Mais je me soigne.
[ATTENTION]
Pratique l'humour à froid et l'ironie mordante.
Envers autrui comme envers moi-même.
 
Bonsoir maval, à tous,

Un essai d'ajout de contrôles image à la volée. Deux procédures ont été ajoutées:
  • AjouterUneImage
  • AlignerLesImages
Edit:
  • pour le pas horizontal entre les images, on se base sur Image1 et Image2
  • pour le pas vertical entre les images, on se base sur Image1 et Image5
Errata: J'ai fait une erreur dans le code de la v1. il faut remplacer les lignes:
VB:
If xctrl.Name Like "Image##" Then
par le code :
VB:
If xctrl.Name Like "Image#" Or xctrl.Name Like "Image##" Then

la version
v1a corrige cette erreur.
VB:
Private Sub AjouterUneImage()
'Ajouter une image
Dim newImg As Control, newLab As Control, x&, N&, xctrl As Control

  For Each xctrl In Controls
    If xctrl.Name Like "Image##" Or xctrl.Name Like "Image#" Then
      x = Val(Replace(xctrl.Name, "Image", "", , , vbTextCompare))
      If x > N Then N = x
    End If
  Next
  N = N + 1
  Set newImg = Me.Controls.Add("Forms.image.1", "Image" & N, True)
  Set newLab = Me.Controls.Add("Forms.label.1", "label" & (N + 2), True)
  newLab.BorderStyle = fmBorderStyleSingle
End Sub

Sub AlignerLesImages()
'Aligner les images
Dim pasV!, pasH!, Wimg!, Himg!, W!, H!, Top0!, Left0!, N&, i&, x&, j&, xctrl As Control

  For Each xctrl In Controls
    If xctrl.Name Like "Image##" Or xctrl.Name Like "Image#" Then
      x = Val(Replace(xctrl.Name, "Image", "", , , vbTextCompare))
      If x > N Then N = x
    End If
  Next

  pasV = Controls("Image5").Top - Controls("Image1").Top
  pasH = Controls("Image2").Left - Controls("Image1").Left
  W = Controls("Image1").Width: H = Controls("Image1").Height
  Top0 = Controls("Image1").Top: Left0 = Controls("Image1").Left
  For i = 2 To N
    With Controls("Image" & i)
      .Width = W: .Height = H
      .Top = Top0 + pasV * Int((i - 1) \ 4)
      .Left = Left0 + pasH * ((i - 1) Mod 4)
    End With
  Next i

  W = Controls("Label3").Width: H = Controls("Label3").Height
  Top0 = Controls("Label3").Top
  For i = 3 To N + 2
    With Controls("Label" & i)
      .Width = W: .Height = H
      .Top = Top0 + pasV * Int((i - 3) \ 4)
      j = 1 + ((i - 3) Mod 4)
      .Left = Controls("Image" & j).Left + (Controls("Image" & j).Width - W) / 2
    End With
  Next i
End Sub
 

Pièces jointes

Dernière édition:
Bonsoir Mapomme


Je te remercie pour ton excellent travail j'ai remplacé par le nouveau code.

Après avoir fait pas mal d'essai il y aurait peut-être une modification à mettre en place.

J’ai essayé de mettre que deux images l’une à côté de l’autre mais je n’arrive pas à régler la hauteur entre les deux images et lorsque j'ajoute des images il serait bien que l'userform se grandis automatiquement j’ai mis une scrollbars pour visualiser toutes les images mais cela n’est pas top?

Je te joins mon fichier modifier il sera plus explicite.

Je te remercie d’avance


Bonne nuit
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
282
Réponses
3
Affichages
205
Réponses
38
Affichages
1 K
Réponses
14
Affichages
472
Retour