Bonjour,
Je ne maitrise pas beaucoup le VBA et j'ai ce fichier ci-joint,
Dans la cellule B2, j'ai une liste qui s'affiche suivant les premières lettres que je tape (ex :al, liste albert). Si le prénom n'existe pas dans la liste, j'ai une fonction worksheet-change qui me propose de l'ajouter à ma liste de prénom sur la feuille2. Pas de pb.
Par contre sur la cellule B3, la liste fonctionne aussi mais pas la fonction worksheet. Ainsi je ne peux ajouter le prénom tapé dans cette cellule s'il n'existe pas dans ma liste de référence.
j'ai essayé de recopier le language dans l'éditeur en mettant ceci mais ca ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$2" And Target <> "" Then If IsError(Application.Match(Target.Value, [noms], 0)) Then If MsgBox("On ajoute?", vbYesNo) = vbYes Then [noms].End(xlDown).Offset(1, 0) = Target.Value Sheets("Feuil2").[noms].Sort key1:=Sheets("Feuil2").Range("A2") Else Application.Undo End If End If End If End SubSi quelqu'un pouvait m'aider ce serait super.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$3" And Target <> "" Then If IsError(Application.Match(Target.Value, [noms], 0)) Then If MsgBox("On ajoute?", vbYesNo) = vbYes Then [noms].End(xlDown).Offset(1, 0) = Target.Value Sheets("Feuil2").[noms].Sort key1:=Sheets("Feuil2").Range("A2") Else Application.Undo End If End If End If End Sub
D'ailleurs si vous connaissez un bon site pour apprendre le VBA je suis preneur.
Merci beaucoup d'avance
Partager