Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Empêcher doublon VBA et effacer TextBox

  • Initiateur de la discussion Initiateur de la discussion meldja
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

meldja

XLDnaute Impliqué
Rebonjour le forum,
Je me prends la tête avec un code pour empêcher les doublons (ou tout du moins prévenir).
Je rentre les noms de stagiaires via un UserForm qui comporte une combobox et une textbox.
Le combobox comprend le nom des différents groupes et l'utilisateur doit entrer le nom du nouveau stagiaire dans le textbox.
Je voudrais que si ce nom existe déjà, un message prévienne l'utilisateur (ça pas de problème) et que le textbox soit réinitialisé.
J'ai essayé :

Dim n As Integer
For n = 4 To 50
If Col = "SDB PAF 4" And TextBox1.Value = Sheets("ListStagiaire").Range("A" & n).Value Then
MsgBox "Ce nom existe déjà dans la liste !", , "ATTENTION !"
Exit Sub

TextBox1.Value = ""
End If
Next n

J'ai aussi essayé TextBox1.ClearContents, mais ça marche pas non plus

Merci d'avance
 
Re : Empêcher doublon VBA et effacer TextBox

Salut meldja, le Forum

Essaye de décaler ton Exit Sub

Code:
Dim n As Integer
  For n = 4 To 50
  If Col = "SDB PAF 4" And TextBox1.Value = Sheets("ListStagiaire").Range("A" & n).Value Then
  MsgBox "Ce nom existe déjà dans la liste !", , "ATTENTION !"
  With TextBox1
        .Value = ""
        .SetFocus
  End With

  Exit Sub
End If
  Next n
A tester

Bonne Journée
 
Re : Empêcher doublon VBA et effacer TextBox

Merci,
En fait, je n'avais donné qu'un morceau du code pour ne pas faire trop long (vu que je débute, je fais des code super long parce que je ne sais pas faire de recherche). Dans mon fichier, il y a 5 colonnes différentes alors j'ai fait 5 petits codes) :

Dim n As Integer
For n = 3 To 50
If Col = "SDB PAF 4" And TextBox1.Value = Sheets("ListStagiaire").Range("A" & n).Value Then
MsgBox "Ce nom existe déjà dans la liste !", , "ATTENTION !"
Exit Sub

'Trois codes identiques au premier sont zappés

ElseIf Col = "SDB 7" And TextBox1.Value = Sheets("ListStagiaire").Range("E" & n).Value Then
MsgBox "Ce nom existe déjà dans la liste !", , "ATTENTION !"
Exit Sub
TextBox1.Value = ""

End If
Next n

J'ai zappé les 3 petits codes identiques au 2 que je viens de poster.
Quand je rajoute ton truc :
With textbox
.value = ""
.SetFocus

Ca me met un message d'erreur "Bloc If sans End If"
J'ai essayé de le mettre à plusieurs endroits mais toujours le même message.
Désolé, j'aurai dû être plus clair dés le début, mais je ne pensais pas que c'était aussi compliqué
 
Re : Empêcher doublon VBA et effacer TextBox

Désolé,
J'ai voulu faire trop vite, le problème est réglé pour le message d'erreur. Ce n'était pas "If sans End If", c'était "With sans End With".
J'ai réglé ça, mais ça ne marche pas non plus. Ma textbox n'est toujours pas vide.
Merci encore
 
Re : Empêcher doublon VBA et effacer TextBox

Promis,
J'arrête d'inonder le forum pour rien. C'est bon, ça marche très bien. Je l'avais placé après "Exit sub" c'est pour ça que ça marchait pas.
Pour éviter ça je recopierai l'ensemble du code qu'on m'envoie et je vérifierai mieux avant de blablater pour rien.
Encore désolé et merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
879
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…