VBA : liste déroulante avec plusieurs variables
Résolu
poulette17
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
poulette17 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
poulette17 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
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)
Merci de votre aide (je n'ai rien trouvé malgré plusieurs forum traitant des listes déroulantes)
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)
A voir également:
- VBA : liste déroulante avec plusieurs variables
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
1 réponse
Bonjour,
A+
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+
merci beaucoup, cela fonctionne parfaitement.