Liste déroulante variable VBA
Martin123
-
123Martin Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
123Martin Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaie de faire une liste déroulante sur des cellules multiples par VBA. Ma plage est variable et est dans un onglet séparé de ma liste.
Ma liste déroulante se trouve dans Feuil1 A10:A42 et ma plage de données dans rdp A4 jusqu'à la dernière ligne non vide...
Voici mon code, je suis assez près de la vérité, mais j'obtiens toujours une erreur dans la ligne qui commence par .add type. Je crois que ce qui ne va pas est le Formula1:=
Merci à l'avance !!
J'essaie de faire une liste déroulante sur des cellules multiples par VBA. Ma plage est variable et est dans un onglet séparé de ma liste.
Ma liste déroulante se trouve dans Feuil1 A10:A42 et ma plage de données dans rdp A4 jusqu'à la dernière ligne non vide...
Voici mon code, je suis assez près de la vérité, mais j'obtiens toujours une erreur dans la ligne qui commence par .add type. Je crois que ce qui ne va pas est le Formula1:=
Dim LCRN As Integer
Dim Range As Range
Dim ShtC As Worksheet
Dim ShtF As Worksheet
Set ShtF = ThisWorkbook.Sheets("Feuil1")
Set ShtC = ThisWorkbook.Sheets("rdp")
LCRN = ShtC.Range("$A$4").End(xlDown).Row + 1
Set Range = ShtC.Range("$A4:A" & LCRN)
With ShtF.Range(Cells(10, 1), Cells(42, 1)).Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="='" & ShtC.Name & "'!" & Range.Address
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End Sub
Merci à l'avance !!
A voir également:
- Liste déroulante variable VBA
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Supprimer liste déroulante excel - Forum Réseaux sociaux
- Liste code ascii - Guide
1 réponse
Bonjour,
manque le .Delete
pour le With, chez moi votre ligne ne marche pas mais rien a voir avec votre soucis
manque le .Delete
pour le With, chez moi votre ligne ne marche pas mais rien a voir avec votre soucis
Sub test() Dim LCRN As Integer Dim Range As Range Dim ShtC As Worksheet Dim ShtF As Worksheet Set ShtF = ThisWorkbook.Sheets("Feuil1") Set ShtC = ThisWorkbook.Sheets("rdp") LCRN = ShtC.Range("$A$4").End(xlDown).Row + 1 Set Range = ShtC.Range("$A4:A" & LCRN) 'With ShtF.Range(Cells(10, 1), Cells(42, 1)).Validation With ShtF.Range("A10:A42").Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="='" & ShtC.Name & "'!" & Range.Address .IgnoreBlank = True .InCellDropdown = True .ShowInput = True .ShowError = True End With End Sub
C'est exactement ce que je cherchais.