XL 2013 Augmenter le nombre d'image sur un userform

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
 

ChTi160

XLDnaute Barbatruc
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:

maval

XLDnaute Barbatruc
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
 

Staple1600

XLDnaute Barbatruc
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.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • maval- Ajouter un contrôle image- v1a.xlsm
    52 KB · Affichages: 51
Dernière édition:

maval

XLDnaute Barbatruc
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

  • User_Monnaies.xlsm
    45.3 KB · Affichages: 45
Dernière édition:

Discussions similaires

Réponses
18
Affichages
598
Réponses
4
Affichages
186
  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
265

Statistiques des forums

Discussions
312 082
Messages
2 085 170
Membres
102 804
dernier inscrit
edaguo