Menu déroulant en vba

Résolu/Fermé
Melycea - 27 mai 2011 à 10:18
 Melycea - 27 mai 2011 à 11:55
Bonjour à tous,

J'ai créé un menu déroulant dans un classeurA qui répertorie les noms des feuilles d'un autre classeurB.
Pour cela, j'ai d'abord mis tous les noms de feuilles (classeurB) dans la colonne Y de ma feuille (classeurA) et j'ai créé mon menu déroulant à partir des données de cette colonne.
Mon problème est que je me rend compte qu'il est impossible de rentrer manuellement un nom n'existant pas dans le menu déroulant...

Voici la partie de ma macro correspondante:
TotFeuil = Workbooks("classeurB.xls").Sheets.Count
    
    ' pour chaque feuille de classeurB on liste le nom dans la colonne Y    
Y = 25
For F = 1 To TotFeuil
        Workbooks("classeurA.xls").Sheets(1).Cells(F + 1, Y) = Workbooks _   ("classeurB.xls").Sheets(F).Name
    Next F


    ' compte le nombre de valeur à mettre dans le menu déroulant    
i = 2
If Workbooks("classeurA.xls").Sheets(1).Cells(2, 25).Value <> "" Then
        Do While Workbooks("classeurA.xls").Sheets(1).Cells(i, 25).Value <> ""
            i = i + 1
        Loop
End If
    
    ' insertion du menu déroulant dans la colonne C
Range("C3:C1000").Select
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=$Y$2:$Y$" & i - 1
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With



Merci
A voir également:

1 réponse

J'ai finalement pu me corriger toute seule en remplaçant AlertStyle:=xlValidAlertStop par AlertStyle:=xlValidAlertWarning
1