C OK
J'ai la réponse à ma question
Si cela interesse quelqu'un je joins la macro
La macro permet de n'utiliser que deux feuille : une de saisie et une de BD.
La première macro sert à enregistrer les info et la seconde à rechercher les infos dans la BD.
Merci à vous de vous être pencher sur mon PB
Public Sub Nouveau()
Dim LigneVide As Integer
Dim PremLigne As Integer
Dim Ligne As Integer
Dim MaFeuille As String
Rem Nom de la feuille des données
MaFeuille = "BD"
LigneVide = ActiveWorkbook.Sheets(MaFeuille).UsedRange.Rows.Count + 1
PremLigne = 2
Ligne = PremLigne
While ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 2).Value <> ActiveWorkbook.ActiveSheet.Cells(6, 3).Value And Ligne < LigneVide
Ligne = Ligne + 1
Wend
If ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 2).Value <> ActiveWorkbook.ActiveSheet.Cells(6, 3).Value Then
MsgBox ("Nouveau")
Else
MsgBox ("Modifier")
End If
Rem Numero
ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 2).Value = ActiveWorkbook.ActiveSheet.Cells(6, 3).Value
Rem Nom
ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 3).Value = ActiveWorkbook.ActiveSheet.Cells(8, 3).Value
Rem Prenom
ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 4).Value = ActiveWorkbook.ActiveSheet.Cells(9, 3).Value
Rem Adresse
ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 5).Value = ActiveWorkbook.ActiveSheet.Cells(10, 3).Value
End Sub
Public Sub Recherche()
Dim LigneVide As Integer
Dim PremLigne As Integer
Dim Ligne As Integer
Dim MaFeuille As String
Rem Nom de la feuille des données
MaFeuille = "BD"
LigneVide = ActiveWorkbook.Sheets(MaFeuille).UsedRange.Rows.Count + 1
PremLigne = 2
Ligne = PremLigne
While ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 2).Value <> ActiveWorkbook.ActiveSheet.Cells(6, 3).Value And Ligne < LigneVide
Ligne = Ligne + 1
Wend
If ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 2).Value <> ActiveWorkbook.ActiveSheet.Cells(6, 3).Value Then
MsgBox ("Le dossier n'existe pas")
Else
Rem Numero
ActiveWorkbook.ActiveSheet.Cells(6, 3).Value = ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 2).Value
Rem Nom
ActiveWorkbook.ActiveSheet.Cells(8, 3).Value = ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 3).Value
Rem Prenom
ActiveWorkbook.ActiveSheet.Cells(9, 3).Value = ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 4).Value
Rem Adresse
ActiveWorkbook.ActiveSheet.Cells(10, 3).Value = ActiveWorkbook.Sheets(MaFeuille).Cells(Ligne, 5).Value
End If
End Sub