Textbox , recherche et et msg d'alerte

Claudy

XLDnaute Accro
Bonjour à tous,
Un tableau et des numéros de facture (Colonne A)....
Un userform à remplir...
Le textbox1 désigne le numéro de facture, si le gestionnaire rempli ce textbox et que la ligne (par exemple colonne B) est déjà remplie un msgbox ("Ce numéro de facture est déjà utilisé")
J'ai essayé ceci , mais ça bug!

Private Sub TextBox1_Change()

For i = 2 To 100
If Cells(i, 1).Value = CDbl(TextBox1.Value * 1) Then
Exit For
Cells(i, 2).Select
If Cells(i, 2).Value > 0 Then 'Test si la colonne B est vide
MsgBox "Ce numéro de facture est déjà utilisé"
TextBox1 = "" 'Réinitialisation du text box
TextBox1.SetFocus 'Pour revenir sur text box
End If
Next
End Sub'''''''Merci d'avance, Claudy
 

frangy

XLDnaute Occasionnel
Re : Textbox , recherche et et msg d'alerte

Bonjour,

Tu peux essayer comme cela
Code:
Private Sub TextBox1_AfterUpdate()
Dim Msg As String
Dim i As Long
Msg = "Ce numéro de facture n'est pas utilisé"
For i = 2 To 100
    'Si on trouve un numéro de facture identique dans la liste,
    If Cells(i, 1).Value = CDbl(TextBox1.Value * 1) Then
        'Si la colonne B n'est pas vide
        If Cells(i, 2).Value <> "" Then
            Msg = "Ce numéro de facture est déjà utilisé"
            TextBox1 = "" 'Réinitialisation du text box
            TextBox1.SetFocus 'Pour revenir sur text box
            Cells(i, 2).Select
            Exit For
        End If
    Else
    End If
Next
MsgBox Msg
End Sub

A+
 

xhudi69

XLDnaute Accro
Re : Textbox , recherche et et msg d'alerte

Bonjour Claudy

Essaie ce code

Code:
For i = 2 To 100
 If Cells(i, 1).Value = TextBox1.Value Then
 If Cells(i, 2).Value <> "" Then
 TextBox1.value = "" 
 TextBox1.SetFocus 
 End If
 End If
 Next
 MsgBox "Ce numéro de facture est déjà utilisé"

Désolé Frangy je suis en retard :cool:
 

Claudy

XLDnaute Accro
Re : Textbox , recherche et et msg d'alerte

Ok merci à vous deux , c'est nikel!
Petite question: pour faire apparaitre mon userform, j'utilse :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
UserForm3.Show

End Sub

Pas de soucis...mais quand je le ferme il y a le menu contextuel du clic droit qui est là et qui m'embête!
Comment éviter cela?
Merci,
Claudy
 

Claudy

XLDnaute Accro
Re : Textbox , recherche et et msg d'alerte

Après recherches sur le site,

j'ai adapté comme ceci:
'Mais le .SelLength = .TextLength ne fonctionne pas!

Private Sub TextBox1_AfterUpdate()
Dim Msg As String
Dim i As Long
'Msg = "Ce numéro de facture n'est pas utilisé"
For i = 2 To 100
'Si on trouve un numéro de facture identique dans la liste,
If Cells(i, 1).Value = CDbl(TextBox1.Value * 1) Then
'Si la colonne B n'est pas vide
If Cells(i, 2).Value <> "" Then

'TextBox1 = "" 'Réinitialisation du text box

Msg = MsgBox("Ce numéro de facture est déjà utilisé")
'''''''Ici ça ne marche pas'
With TextBox1
.SelStart = 0
.SelLength = .TextLength
End With

'TextBox1.BackColor = 14540253 'pour le gris
'Cells(i, 2).Select
Exit For

End If
Else
End If
Next



'MsgBox Msg
'TextBox2.SetFocus
End Sub
Je joint un fichier....
 

Pièces jointes

  • ClasseurClaudy.xlsm
    16.6 KB · Affichages: 46
  • ClasseurClaudy.xlsm
    16.6 KB · Affichages: 47
  • ClasseurClaudy.xlsm
    16.6 KB · Affichages: 47
Dernière édition:

frangy

XLDnaute Occasionnel
Re : Textbox , recherche et et msg d'alerte

Bonjour Claudy, le forum,

Quand xhudi69 te demande de joindre un bout de fichier, ce n’est pas par simple curiosité mais parce que ça peut aider à trouver comment obtenir le résultat attendu.
Plutot qu'un TextBox1.SetFocus ... contenu du textbox1 en bleu ou gris ... pour que mon numéro de facture erroné soit surligné... mauvais textbox1... mais le SelLength ne fonctionne pas.
Oufti aussi !

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 277
Messages
2 086 715
Membres
103 378
dernier inscrit
phdrouart