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

Eviter les doublons dans textbox

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 !

KyFranRD

XLDnaute Occasionnel
Bonjour à tous

Voilà mon soucis

J'ai 2 userform. Le premier possède 10 textbox et se nomme UserFSaisieDépart avec des données numériques.

Le second possède un textbox1. Comment éviter les doublons dans ce textbox1?

Voir fichier >>> j'ai limité les textbox à 3 dans le premier userform

merci à l'avance
 

Pièces jointes

Re : Eviter les doublons dans textbox

Bonsoir KyFranRD,
Sous le bouton Valider voici un nouveau code


Private Sub CommandButton1_Click()
If Application.CountIf(Sheets("prévisions").[A1:Z1000], CDbl(TextBox1)) = 0 Then
Worksheets("sheet1").Range("C4").Value = TextBox1.Value
Else
MsgBox "Déja mis": Exit Sub
End If
Unload Me
End Sub

Bruno
 
Re : Eviter les doublons dans textbox

Bonjour KyFranRD, Bruno,

Attention, CDbl beugue si TextBox1 n'est pas numérique !

Dans UserForm2, la macro Change contrôle la frappe :

Code:
Private Sub Textbox1_Change()
If TextBox1 <> "" And Not IsNumeric(TextBox1) Then TextBox1 = ""
End Sub

Private Sub CommandButton1_Click()
'Sheet1 et Sheet2 sont les CodeName des feuilles
With TextBox1
  If .Text = "" Then .SetFocus: Exit Sub
  If Application.CountIf(Sheet2.[D11:F11], CDbl(.Text)) Then _
    MsgBox "Déja mis": .SetFocus: .SelStart = 0: .SelLength = 99: Exit Sub
  Sheet1.[C4] = CDbl(.Text)
End With
Unload Me
End Sub
A+
 
Re : Eviter les doublons dans textbox

Bonjour le fil, bonjour le forum,

autre proposition très simmilaire aux réponses déjà données :

Code:
Private Sub CommandButton1_Click() 'bouton "Valider" de l'UserFOrm2
Dim cel As Range 'déclare la variable cel

For Each cel In Sheets("prévisions").Range("D11:F11") 'boucle sur la plage D11:F11 de l'onglet "prévisions"
    If Me.TextBox1.Value = CStr(cel.Value) Then 'condition : si la valeur de la TextBox1 est égale à la valeur de la cellule el convertie en texte
        MsgBox "Nombre non valide ! Veuillez recommencer." 'message
        With Me.TextBox1 'prend en compte la TextBox1
            .SelStart = 0 'début de la sélection
            .SelLength = Len(.Value) 'longueur de la sélection
            .SetFocus 'place le curseur dans la TextBox1
        End With 'fin de la prise en compte de la TextBox1
        Exit Sub 'sort de la procédure
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
Worksheets("sheet1").Range("C4").Value = TextBox1.Value
Unload Me
End Sub
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…