Si le nom existe déjà alors afficher msg

Bonjour chers développeurs,

j'aimerai bien ajouter une condition pour éviter d'avoir des doublons dans mes tableaux

j'ai essentiellement 7 Tableaux qui ont seulement leur 2 ème colonne remplie des mêmes données.

1 tableau dans une 1ère feuille "AuditMensuel"

5 tableaux dans une 2ème feuille "AuditMensuelilot"

1 tableau dans une 3ème feuille "Responsable"

et j'ai un textbox1 d'un userform dans lequel j'insère le nouveau nom et qu'il me l'ajoute dans tous les 2 ème colonnes de mes tableaux.

et j'aimerai bien ajouter au début de la macro que si la valeur saisie dans Textbox1 existe déjà dans l'une de ces colonnes alors MsgBox("Ce nom existe déjà")

Else appliquer mon code :

Private Sub CommandButton1_Click()
Unload Me

        With Sheets("AuditMensuel").ListObjects("Tableau1")

        .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
        End With

         With Sheets("AuditMensuelilot").ListObjects("Tableau7")

        .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
        End With

        With Sheets("AuditMensuelilot").ListObjects("Tableau6")

        .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
        End With

         With Sheets("AuditMensuelilot").ListObjects("Tableau5")

        .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
        End With

        With Sheets("AuditMensuelilot").ListObjects("Tableau4")

        .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
        End With

        With Sheets("AuditMensuelilot").ListObjects("Tableau3")

        .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
        End With

      With Sheets("Responsable").ListObjects("Tableau8")

        .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
        End With

End Sub

Merci beaucoup

Bonjour

Essaie en ajoutant ce bout de code à chaque partie semblable :

Dim cell
Private Sub CommandButton1_Click()

Set cell = Sheets("AuditMensuel").Range("Tableau1").Resize(, 1).Offset(0, 1).Find(TextBox1, lookat:=xlWhole)
    If Not cell Is Nothing Then
        MsgBox "Le nom ''" & TextBox1 & "'' existe déjà dans le Tableau 1"
    End If

    With Sheets("AuditMensuel") '.ListObjects("Tableau1")
         .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
     End With
     '...
     '...

End Sub

Bye !

gmb a écrit :

Bonjour

Essaie en ajoutant ce bout de code à chaque partie semblable :

Dim cell
Private Sub CommandButton1_Click()

Set cell = Sheets("AuditMensuel").Range("Tableau1").Resize(, 1).Offset(0, 1).Find(TextBox1, lookat:=xlWhole)
    If Not cell Is Nothing Then
        MsgBox "Le nom ''" & TextBox1 & "'' existe déjà dans le Tableau 1"
    End If

    With Sheets("AuditMensuel") '.ListObjects("Tableau1")
         .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
     End With
     '...
     '...

End Sub

Bye !

Bonjour gmb , le problème que j ai dans le cas où ce nom existe j aurai pleins de msgbox avec le nombre de tableaux . J'aimerai bien avoir un seul msg box

merci beaucoup

Alors, essaie d'ajouter cela :

Private Sub CommandButton1_Click()

   flag = 0
    Set cell = Sheets("AuditMensuel").Range("Tableau1").Resize(, 1).Offset(0, 1).Find(TextBox1, lookat:=xlWhole)
    If Not cell Is Nothing Then
        flag = 1
    End If

    For i = 2 To 6
        Set cell = Sheets("AuditMensuelilot").Range("Tableau" & i).Resize(, 1).Offset(0, 1).Find(TextBox1, lookat:=xlWhole)
        If Not cell Is Nothing Then
            flag = 1
        End If
    Next i

    Set cell = Sheets("Responsable").Range("Tableau7").Resize(, 1).Offset(0, 1).Find(TextBox1, lookat:=xlWhole)
    If Not cell Is Nothing Then
        flag = 1
    End If

    If flag = 1 Then
        MsgBox "Le nom ''" & TextBox1 & "'' existe déjà !"
        End
    End If    
    With Sheets("AuditMensuel").ListObjects("Tableau1")

        .DataBodyRange(.DataBodyRange.Rows.Count + 1, 2).Value = TextBox1.Text
    End With

    '...
    '...

End Sub
Rechercher des sujets similaires à "nom existe deja afficher msg"