tester un textbox pour afficher un message si doublon l

  • Initiateur de la discussion Initiateur de la discussion ngexcel
  • 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 !

ngexcel

XLDnaute Occasionnel
j'ai un userform1 a l'ouverture je clic sur nouveau mes textbox sont vides et le curseur va sur le textbox1
quand je saisie un numéro dans ma textbox1 et que je passe a la textbox2
je voudrais un message attention numéro déjà saisie dans la base

la base est dans la feuil2 colonne A

ci joint fichier mot de passe 1234
 
Re : tester un textbox pour afficher un message si doublon l

A mettre dans l'événement Exit de TextBox1 :

Code:
Dim fin As Integer, i As Integer
fin = ActiveWorkbook.Sheets("Feuil2").Range("A65536").End(xlUp).Row
For i = 2 To fin
    If TextBox1.Value = ActiveWorkbook.Sheets("Feuil2").Cells(i, 1).Value Then
        MsgBox "Attention numéro déjà saisie dans la base !", vbCritical
        Exit Sub
    End If
Next
 
Re : tester un textbox pour afficher un message si doublon l

Je reviens juste pour dire que le code fonctionne mais quand je clic sur le Bouton nouveau il insert comme même le numéro qui est en doublon voir fichier merci et pardon du dérangement
 
Re : tester un textbox pour afficher un message si doublon l

Bonsoir,

étant donné que tu as un Module de classe, une solution éventuelle :
Dans Userform1, renomme Textbox1 en Nouveau.
Dans Classe1, rajoute
Code:
Private Sub texb_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
   If texb.Name <> "Nouveau" Then Exit Sub
   Dim Est As Range
    With Feuil2
        Set Est = .Range("A1:B" & .Cells(Rows.Count, 1).End(xlUp).Row).Find(texb, LookIn:=xlValues, lookat:=xlWhole, MatchCase:=True)
    End With
    If Est Is Nothing Then Exit Sub
    MsgBox "Ce numéro est déjà dans la base !", vbCritical, "Code refusé :"
    texb = ""
    texb.SetFocus
End Sub
 
Re : tester un textbox pour afficher un message si doublon l

j'ai mis le code ainsi que textbox1 en nouveau
mais j'ai toujours un problème quand le userform s'ouvre avec les textbox
les textbox affiche la premiere ligne des donnéés de la base
j'ai donc un message Ce numéro est déjà dans la base !
si je fais nouveau il efface le numero article et le sauvegarde
peux tu tester mon fichier je suis en panique...
 
Re : tester un textbox pour afficher un message si doublon l

Bonjour le fil, bonjour le forum,

Puisque tu rencontres des problèmes peut-être revenir à la proposition de Unrender. J'ai juste remplacé la boucle par une recherche Find...
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim r As Range 'déclare la variable r (Recherche)
 
If TextBox1.Value <> "" Then 'condition 1 : si la TextBox1 n'est pas vide
    Set r = Sheets("Feuil2").Columns(1).Find(TextBox1.Value, , xlValues, xlWhole) 'définit la recherche r
    If Not r Is Nothing Then 'condition 2 : s'il existe au moins une occurrence
        MsgBox "Attention numéro déjà saisie dans la base !", vbCritical 'message
        Cancel = True 'annule la sortie de la TextBox1
        TextBox1.SetFocus 'place le curseur dans la Textbox1
        'sélectionne la TextBox1
        TextBox1.SelStart = 0 'début de la sélection
        TextBox1.SelLength = Len(TextBox1.Value) 'longueur de la sélection
    End If 'fin de la condition 2
End If 'fin de la condition1
End Sub

Quand on ouvre ton fichier on est confronté à toutes sortes de code mais pas du tout à ton problème...
 
Dernière édition:
Re : tester un textbox pour afficher un message si doublon l

robert merci pour les motifs cela bloque bien mon textbox1 car il affiche la premiere ligne de ma base j ai bien le message mais je peux pas faire nouveau et si je retape par dessus les textbox je vais effacer mon enregistrement qui etait affiché peux tu regarder mon fichier
merci ng
 
Re : tester un textbox pour afficher un message si doublon l

Bonjour le fil, bonjour le forum,

Ben c'est bien ça le problème... Je l'ai regardé ton fichier... Mais avec ce module de classe et tous ces codes élaborés je n'y ai rien compris... Là il te faut du balèze pas du bricoleur !!!
 
- 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
32
Affichages
1 K
  • Question Question
Microsoft 365 TEXTBOX
Réponses
7
Affichages
614
Retour