Msgbox dans textbox par rapport à une base de données

Bonjour je vous explique mon besoin pour que vous puissiez m'y répondre au mieux :

J'ai userform ( voir image )

Dans le textbox1 "ajout d'un conducteur" j'aimerais intégrer une msgbox d'alerte qui s'affiche quand on veut ajouter ce conducteur par l'appui du bouton ajouter qui se trouve à côté du textbox1 s'il est déjà présent dans ma base de données nommée "BDD COND" pour ne pas créer de doublon dans cette base de données. ( on voit cette base données en arrière plan sur l'image ) .

mais également msgbox qui s'affiche pour confirmer s'il est bien ajouté dans ma base de données.

je vous ajoute le code VBA du bouton ajouter à modifier !

Merci pour votre aide précieuse.

image

Private Sub CommandButton2_Click()

Dim Ligne As Integer
If MsgBox("Confirmez vous l'ajout du conducteur dans la base de donnée ?", vbYesNo, "confirmation") = vbYes Then
Worksheets("BDD COND").Select
Ligne = Sheets("BDD COND").Range("A456541").End(xlUp).Row + 1

'Nom pour l'ajout dans la base de données conducteurs
Cells(Ligne, 1) = TextBox8.Value

'Prénom
Cells(Ligne, 2) = TextBox1.Value

'Société
Cells(Ligne, 8) = TextBox2.Value

'Validité du permis de conduire
Cells(Ligne, 3) = TextBox3.Value

'Validité du titre ADR
Cells(Ligne, 4) = TextBox4.Value

'Validité de l'Accueil Innospec
Cells(Ligne, 5) = TextBox5.Value

'Immatriculation du tracteur
Cells(Ligne, 6) = TextBox6.Value

'Validité des mines du tracteur
Cells(Ligne, 7) = TextBox7.Value

Unload UserForm25
UserForm25.Show

Else
End If
End Sub

Bonjour

joint un fichier à ta demande

c'est plus simple pour répondre

Bonjour

joint un fichier à ta demande

c'est plus simple pour répondre

Bonjour Gullaud, le soucis est que le fichier est trop lourd pour le joindre.

Bonjour,

' fonction pour trouver la ligne du tableau correspondant au nom
Function Trouve_Ligne(Nom As String, Plage As Range)
    Dim Trouve As Variant
    On Error Resume Next
    Trouve = Application.Match(Nom, Plage, 0)
    If Trouve < 1 Then Trouve_Ligne = 0: Exit Function
    Trouve_Ligne = Trouve
End Function

Une fonction qui cherche un nom dans une plage.

Pour la "lancer" , un exemple :

Lig = Trouve_Ligne(TextBox1, Range("Planning[Noms]"))

où Lig aura comme résultat le numéro de ligne de la feuille Excel qui contiendra le nom cherché dans la colonne Noms du tableau "Planning".
Sera égale à 0 si rien n'est trouvé, donc si >0 alors il y a doublon (code extrait de mon application "Suivi Planning")

@ bientôt

LouReeD

Bonjour,

' fonction pour trouver la ligne du tableau correspondant au nom
Function Trouve_Ligne(Nom As String, Plage As Range)
    Dim Trouve As Variant
    On Error Resume Next
    Trouve = Application.Match(Nom, Plage, 0)
    If Trouve < 1 Then Trouve_Ligne = 0: Exit Function
    Trouve_Ligne = Trouve
End Function

Une fonction qui cherche un nom dans une plage.

Pour la "lancer" , un exemple :

Lig = Trouve_Ligne(TextBox1, Range("Planning[Noms]"))

où Lig aura comme résultat le numéro de ligne de la feuille Excel qui contiendra le nom cherché dans la colonne Noms du tableau "Planning".
Sera égale à 0 si rien n'est trouvé, donc si >0 alors il y a doublon (code extrait de mon application "Suivi Planning")

@ bientôt

LouReeD

Merci LouReed pour tes informations, je vous joint le fichier que j'ai alléger pour l'occasion.

Onglet : BDD COND

Clic en haut à gauche sur le bouton AJOUT/RECHERCHE D'UN CONDUCTEUR

le userform s'ouvre et on arrive sur ma copie d'écran initiale de ce post.

mot de passe VBA si besoin : lo@de%

26xpolog-v2-test.zip (1.22 Mo)

Voici votre fichier avec la modification :

41xpolog-v2-test.zip (1.21 Mo)

Lors de la sortie du textbox8 recherche d'un doublon, si c'est le cas il numérote le nom en "Nom_X" où le x correspond au numéro du doublon :
LouReeD, doublon 1 => LouReeD_1, doublon 2 => LouReeD_2

Le fait d'inscrire LouReeD dans le TextBox et de cliquer sur "ajouter", alors LouReeD_1 s'affiche dans le textBox pour le premier doublon et il faut recliquer sur "ajouter" pour que l'ajout se fasse, c'est comme si que le USF vous demandait de valider la proposition du nouveau nom pour éviter le doublon.

Mais avec une gestion "Nom Prénom", les doublons seraient plus rares...

@ bientôt

LouReeD

Bonjour Atomiik Loic, Gullaud, LouReeD,

Ci-dessous une partie de code à intégrer après Ligne du Private CommandButton2_Click()

'Colonne de recherche Nom
    With ActiveSheet.Range("A1:A" & Ligne) 
    Set CelNom = .Find(Me.TextBox8)
    Set CelPre = Range(CelNom.Address).Offset(0,1)
    If CelNom is Nothing then Goto Suite else Adr=CelPre.Address
    'Boucle de recherche tant que nom identique
    Do
        'Sortie si doublon trouvé Nom & Prénom
        If CelPre = Me.TextBox1 Then MsgBox "Doublon trouvé en " & CelNom.Address: Exit Sub
         Set CelNom = .FindNext(CelNom)
         Set CelPre = Range(CelNom.Address).Offset(0, 1)
        Loop While Adr<> CelPre.Address
    End With
Suite:
'suite de ton code pour enregistrement des données

Dans le cas d'un nom et prénom partagé par plusieurs personnes. Exemple Martin Jean, ajoutez une vérification supplémentaire comme la société.

Bons tests, bonne continuation.

Voici votre fichier avec la modification :

41xpolog-v2-test.zip (1.21 Mo)

Lors de la sortie du textbox8 recherche d'un doublon, si c'est le cas il numérote le nom en "Nom_X" où le x correspond au numéro du doublon :
LouReeD, doublon 1 => LouReeD_1, doublon 2 => LouReeD_2

Le fait d'inscrire LouReeD dans le TextBox et de cliquer sur "ajouter", alors LouReeD_1 s'affiche dans le textBox pour le premier doublon et il faut recliquer sur "ajouter" pour que l'ajout se fasse, c'est comme si que le USF vous demandait de valider la proposition du nouveau nom pour éviter le doublon.

Mais avec une gestion "Nom Prénom", les doublons seraient plus rares...

@ bientôt

LouReeD

Merci à tous pour votre réactivité et de vous êtres pencher sur mon problème ça marche désormais super bien !

Longue vie à ce forum et merci à tout les volontaires sans qui j'avancerais pas avec mes connaissances.

Merci @ vous pour vos remerciements collectifs et votre retour !

@ bientôt

LouReeD

Rechercher des sujets similaires à "msgbox textbox rapport base donnees"