Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

if...elseif...elseif...elseif......

  • Initiateur de la discussion Initiateur de la discussion hotsauce91
  • 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 !

H

hotsauce91

Guest
Bonjour à Tous !


Je dois charger une image dans une Userform.

J'ai 4 cellules, dans chaques cellules un texte et l'image doit ce charger en fonction du texte qu'il y a dans la cellule.

J'ai trouvé une solution mais elle est à mon gout trop longue.

Ca donne ceci :

1ere cellule :

if Range("B32") = "Roulements à billes à gorges profondes" Then
UserForm6.Image1.Picture = LoadPicture("C:\Documents ...

ElseIf Range("B32") = "Roulement à une rangé de billes à contact oblique" Then
UserForm6.Image1.Picture = LoadPicture("C:\Documents ...

ElseIf Range("B32") = "Roulement à deux rangées de billes à contact oblique" Then
UserForm6.Image1.Picture = LoadPicture("C:\Documents ...




2eme cellule :

If Range("B33") = "Roulements à billes à gorges profondes" Then
UserForm6.Image2.Picture = LoadPicture("C:\Documents ...

ElseIf Range("B33") = "Roulement à une rangé de billes à contact oblique" Then
UserForm6.Image2.Picture = LoadPicture("C:\Documents ...

ElseIf Range("B33") = "Roulement à deux rangées de billes à contact oblique" Then
UserForm6.Image2.Picture = LoadPicture("C:\Documents ...



3eme cellule :

If Range("B34") = "Roulements à billes à gorges profondes" Then
UserForm6.Image3.Picture = LoadPicture("C:\Documents ...

ElseIf Range("B34") = "Roulement à une rangé de billes à contact oblique" Then
UserForm6.Image3.Picture = LoadPicture("C:\Documents ...

ElseIf Range("B34") = "Roulement à deux rangées de billes à contact oblique" Then
UserForm6.Image3.Picture = LoadPicture("C:\Documents ...



4eme cellule :

If Range("B35") = "Roulements à billes à gorges profondes" Then
UserForm6.Image4.Picture = LoadPicture("C:\Documents ...

ElseIf Range("B35") = "Roulement à une rangé de billes à contact oblique" Then
UserForm6.Image4.Picture = LoadPicture("C:\Documents ...

ElseIf Range("B35") = "Roulement à deux rangées de billes à contact oblique" Then
UserForm6.Image4.Picture = LoadPicture("C:\Documents ...


Pour mon application j'ai 25 " elseif " par cellule ... si quelqu'un a une solution en passant par VBA ou une astuce directement dans Excel je suis preneur.


Cordialement
 
Re : if...elseif...elseif...elseif......

Bonjour Tabasco (ho pardon ! HotSauce), bonjour le forum,

Non testé mais ce code devrait fonctionner :

Code:
Dim x As Byte
For x = 1 To Range("B32:B35").Cells.Count
    Select Case Cells(31 + x, 2).Value
        Case "Roulements à billes à gorges profondes"
            UserForm6.Controls("Image" & x).Picture = LoadPicture("C:\Documents ...
        Case "Roulement à une rangé de billes à contact oblique"
            UserForm6.Controls("Image" & x).Picture = LoadPicture("C:\Documents ...
        Case "Roulement à deux rangées de billes à contact oblique"
            UserForm6.Controls("Image" & x).Picture = LoadPicture("C:\Documents ...
    End Select
Next x
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 VBA insert photos
Réponses
12
Affichages
1 K
T
  • Question Question
Réponses
9
Affichages
1 K
W
Réponses
7
Affichages
2 K
L
Réponses
2
Affichages
1 K
Luminou
L
J
Réponses
7
Affichages
1 K
@+Thierry
@
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…