1 pièce(s) jointe(s)
Petite question VBA : fonction worksheet_change
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:
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 Sub |
Code:
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 |
Si quelqu'un pouvait m'aider ce serait super.
D'ailleurs si vous connaissez un bon site pour apprendre le VBA je suis preneur.
Merci beaucoup d'avance