XL 2010 liste déroulante "dynamique"

clapas

XLDnaute Nouveau
Bonjour à tous,
Sans doute un problème déjà résolu, mais pour lequel je n'ai pas trouvé de solution.
j'ai dans une cellule une liste déroulante nommée "client" est-il possible qu'en saisissant un nouveau nom dans cette cellule celui-ci s'ajoute automatiquement dans la liste "client" et apparaisse ensuite lorsque je clique sur l'ascenseur ?
pour le moment je dois ajouter préalablement ce nouveau client dans la liste et par une petite macro j'opère le tri alpha et supprime les doublons.
C'est long et un peu fastidieux.
Merci de votre ou vos réponses
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Clapas,
En PJ un essai de ce qu'il pourrait être fait :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        If IsError(Application.Match(Target, Range("F:F"), 0)) Then
            Cells(1 + Range("F65500").End(xlUp).Row, 6) = Target
            MsgBox Target & " n'existant pas dans la liste" & Chr(13) & " Je l'ai rajouté à la fin"
            ' Mettre ici le tri et suppression de doublons
        End If
    End If
End Sub
Quand on valide une valeur dans la liste déroulante, si celle ci n'existe pas dans la liste, elle y est rajoutée.
Evidemment à modifier et enrichir avec vos macros de tri.
 

Pièces jointes

  • Classeur123.xlsm
    14.9 KB · Affichages: 35

clapas

XLDnaute Nouveau
Bonsoir Clapas,
En PJ un essai de ce qu'il pourrait être fait :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        If IsError(Application.Match(Target, Range("F:F"), 0)) Then
            Cells(1 + Range("F65500").End(xlUp).Row, 6) = Target
            MsgBox Target & " n'existant pas dans la liste" & Chr(13) & " Je l'ai rajouté à la fin"
            ' Mettre ici le tri et suppression de doublons
        End If
    End If
End Sub
Quand on valide une valeur dans la liste déroulante, si celle ci n'existe pas dans la liste, elle y est rajoutée.
Evidemment à modifier et enrichir avec vos macros de tri.
Bonsoir Clapas,
En PJ un essai de ce qu'il pourrait être fait :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        If IsError(Application.Match(Target, Range("F:F"), 0)) Then
            Cells(1 + Range("F65500").End(xlUp).Row, 6) = Target
            MsgBox Target & " n'existant pas dans la liste" & Chr(13) & " Je l'ai rajouté à la fin"
            ' Mettre ici le tri et suppression de doublons
        End If
    End If
End Sub
Quand on valide une valeur dans la liste déroulante, si celle ci n'existe pas dans la liste, elle y est rajoutée.
Evidemment à modifier et enrichir avec vos macros de tri.
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024