Création liste déroulante dans feuille excel avec VBA. Attribuer source de donnée

Vorens

XLDnaute Occasionnel
Bonjour à tous,


Je me vois confronté à une difficultés et je ne trouve pas la solution sur le net.

Je désire créer des listes déroulantes dans une feuille Excel via VBA. Pour une colonne donnée, chaque cellule comporte la même liste déroulante.

Le problème n'est pas de la créer car pour cela on peut s'inspirer de l'enregistreur de macro. Le problème viens de l'attribution des données sources de la liste déroulante car celle.ci se trouve dans un fichier de paramètre différant.

Ma question est donc:

Est il possible d'attribuer des données à une liste déroulante par un autre moyen qu'un formule y faisant référence. Imaginons les données sources contenues dans un Array.

Si oui, comment modifier ce code pour que cela fonctionne ?

Code:
    If Not PosCol Is Nothing Then
    
        NbValEnum = Workbooks("Parameters Catalogs.xlsx").Sheets("Liste déroulante").Range("B" & PosCol.Row).Value
        
        Colonne = LetCol(i)
        
        With Workbooks(Catalogue).Sheets(1).Range(Colonne & "2" & ":" & Colonne & "65535").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween,[B] Formula1:="=$A$2:$A$6"[/B]
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With

    End If

Next

End Sub

Function LetCol(NoCol)
LetCol = Split(Cells(1, NoCol).Address, "$")(1)
End Function

Par avance merci pour votre aide et votre temps.

Meilleures salutations

Vorens
 

Discussions similaires

Réponses
16
Affichages
2 K

Statistiques des forums

Discussions
312 322
Messages
2 087 269
Membres
103 503
dernier inscrit
maison