Microsoft 365 liste deroulante

mart9395

XLDnaute Nouveau
Bonjour

Quelqu'un pourrait m'aider pour une liste déroulante.
J'ai une liste de pays AD | Andorra que je souhaiterais garder dans la liste déroulante et quand on sélectionne le pays il faudrait que le code AD soit seulement mis dans la cellule.
Je ne sais pas si c'est assez clair

Merci de vos retours
 

Pièces jointes

  • exemple liste deroulante.xlsx
    8.9 KB · Affichages: 14

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Mart, le fil
En PJ un essai avec un petit peu de VBA :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Row = 6 And Target.Column = 7 Then        ' A modifier, délimitez la zone active
        Application.EnableEvents = False                ' Inhibe les Events pour éviter les ré-entrances
        Cells(Target.Row, Target.Column) = Left(Target.Value, 2)    ' Extrait les deux premières lettres
        Application.EnableEvents = True                 ' Remet les events actifs.
    End If
End Sub
 

Pièces jointes

  • exemple liste deroulante.xlsm
    18.1 KB · Affichages: 18

Ikito

XLDnaute Occasionnel
Bonjour Mart, le fil
En PJ un essai avec un petit peu de VBA :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Row = 6 And Target.Column = 7 Then        ' A modifier, délimitez la zone active
        Application.EnableEvents = False                ' Inhibe les Events pour éviter les ré-entrances
        Cells(Target.Row, Target.Column) = Left(Target.Value, 2)    ' Extrait les deux premières lettres
        Application.EnableEvents = True                 ' Remet les events actifs.
    End If
End Sub

Avec un petit Application.ScreenUpdating = false. Là ça clignote légèrement ;)
 

mart9395

XLDnaute Nouveau
Bonjour Mart, le fil
En PJ un essai avec un petit peu de VBA :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Row = 6 And Target.Column = 7 Then        ' A modifier, délimitez la zone active
        Application.EnableEvents = False                ' Inhibe les Events pour éviter les ré-entrances
        Cells(Target.Row, Target.Column) = Left(Target.Value, 2)    ' Extrait les deux premières lettres
        Application.EnableEvents = True                 ' Remet les events actifs.
    End If
End Sub
Merci je vais essayer
 

mart9395

XLDnaute Nouveau
Merci mais cela me fait un message d'erreur quand je crée mes donnée il n'accepte pas les 3 colonnes, message erreur
1581973177322.png
 

goube

XLDnaute Impliqué
Re,
Il faut d'abord créer la liste avec une seule colonne, puis générer la validation de données avec cette liste et seulement après modifier le nom en y ajoutant les deux autres colonnes.
Si tu rencontre des problèmes mets un bout de fichier sur le forum.
Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
299 832
Messages
1 979 390
Membres
206 712
dernier inscrit
nacer2015