VBA : liste déroulante avec plusieurs variables

Résolu/Fermé
poulette17 Messages postés 10 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 12 février 2017 - Modifié par poulette17 le 29/05/2015 à 23:21
poulette17 Messages postés 10 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 12 février 2017 - 30 mai 2015 à 22:07
Bonjour,

Je souhaite créer un tableau avec les phases d'un tournoi de tennis par exemple. Dans ce tableau je veux que ma case pour la demi-finale soit une liste déroulante avec les noms inscrits dans les cases 1/4 de finale. Mon problème se situe au niveau de "Formula1", dans la macro test que j'ai enregistré, j'avais Formula1:="=$B$4:$B$5" mais moi je veux pouvoir paramétrer la ligne et la colonne à souhait avec des variables (cf. ci-après)

Sub Tournoi()

Dim i As Integer 'pour ligne et colonne des cellules
Dim j As Integer


'faire liste 2nd tour colonne C
For i = 4 To 67 'ligne joueur 1 à 64
j = 3 'colonne C, 2nd tour

Range(Cells(i, j), Cells(i + 1, j)).Select 'cellules ou j'insère ma liste

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Cells(i, j - 1):Cells(i + 1, j - 1)"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
i = i + 2 'pour passer au suivant
Next i
End Sub



Merci de votre aide (je n'ai rien trouvé malgré plusieurs forum traitant des listes déroulantes)

1 réponse

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
30 mai 2015 à 07:22
Bonjour,

Sub Tournoi()
Dim MaPlage As Range
Dim i As Integer, j As Integer
j = 3
For i = 4 To 66 Step 2
Set MaPlage = Range(Cells(i, j), Cells(i + 1, j))
With MaPlage.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=" & MaPlage.Offset(0, -1).Address
End With
Next i
End Sub


A+
0
poulette17 Messages postés 10 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 12 février 2017
30 mai 2015 à 22:07
Gyrus,

merci beaucoup, cela fonctionne parfaitement.
0