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
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