Re
Sur cette base :
- colonne A : Code
- colonne B : Mr, Mme
- Colonne C : Nom
Sub NouveauPatient()
Dim dlg As Integer
Dim nom As Variant
Dim r As String, m as string
On Error Resume Next
r = InputBox("Saisissez le nom de votre nouveau patient :", "Nouveau patient")
m = InputBox("Saisissez Mr ou Mme")
If r = "" Then End
On Error GoTo 0
With Sheets("basededonneespatient")
dlg = .Range("A" & .Rows.Count).End(xlUp).Row 'dernière ligne des noms
For Each nom In Range("C2:C" & dlg)
If nom = UCase(r) Then
r = MsgBox("Ce nom existe déjà dans la feuille ''basededonneespatient''." & Chr(13) & _
"Si vous confirmez, il sera ajouté avec un autre code.", 17)
If r = 2 Then Exit Sub
Exit For
End If
Next nom
.Range("A" & dlg + 1) = Application.Max(.Range("A2:A" & dlg)) + 1
.Range("B" & dlg + 1) = m
.Range("C" & dlg + 1) = UCase(r)
.Range("A1:C" & dlg).Sort key1:=.Range("C2"), key2:=.Range("A2"), Header:=xlGuess
End With
MsgBox r & " a été enregistré avec succès !", 64
End Sub
j'ai enlevé le é du nom de la feuille
Si ok, n'oubliez pas de cloturer le fil en cliquant sur le petit v en haut à droite
Crdlt