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

hotsauce91

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

Robert

XLDnaute Barbatruc
Repose en paix
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
 
C

Compte Supprimé 979

Guest
Re : if...elseif...elseif...elseif......

Bonjour à tous,

Hot Sauce, c'est trop d'la balle :D
je sais elle est trop facile ...

Mais il est trop fort le gars, chapeau bas
king.gif


5 minutes de pur bonheur YouTube - hot sauce

A+
 

Statistiques des forums

Discussions
312 775
Messages
2 092 009
Membres
105 148
dernier inscrit
gegre