probleme zone de liste déroulante

GuillaumeJ

XLDnaute Nouveau
Bonjour à tous,

je suis en train de créer une macro gérant une base de données fournisseurs. J'utilise un code avec une zone de liste déroulante permettant de choisir le fournisseur... le code est le suivant :
(chaque fournisseur est sur un onglet différent)

'fournisseur1
If ActiveSheet.Cells(16, 5) = 2 _
Then
ActiveSheet.Shapes("Drop Down 2").Select
With Selection
.ListFillRange = "fournisseur1!$G$2:$G$65536"
.LinkedCell = "$G$16"
.DropDownLines = 8
.Display3DShading = False
End With
End If


'fournisseur2
If ActiveSheet.Cells(16, 5) = 3 _
Then
ActiveSheet.Shapes("Drop Down 2").Select
With Selection
.ListFillRange = "fournisseur2!$G$2:$G$65536"
.LinkedCell = "$G$16"
.DropDownLines = 8
.Display3DShading = False
End With
End If


sachant que j'ai une centaine de fournisseur, je ne vais quand meme pas me taper les blocs "if endif" par fournisseur. Je voudrais automatiser ce bloc.
le seul hic c'est que je ne sais pas comment noter le x ième fournisseur au lieu de noter le nom de l'onglet. en fait faire une espece de référence relative avec le premier onglet...
.ListFillRange = "fournisseur2!$G$2:$G$65536"
je voudrais changer le nom "fournisseur2" par un code du genre "ActiveSheet.Next.Select".

j'espère que tout le monde a compris.


petite question en plus :
comment faire pour activer un onglet sans passer par le nom de celui-ci?



Bonne journée et merci d'avance



Guillaume
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 233
Messages
2 086 465
Membres
103 224
dernier inscrit
VieuxSeb