Microsoft 365 TEXTBOX

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

dadaze

XLDnaute Nouveau
Bonjour à tous,

Bien naïvement , je pensait ne pas rencontrer de problème avec cette macro.
Et bien c'est raté, alors je m'explique.
Je demande de vérifier si les informations que je m'apprête à insérer dans ma base de données existent déjà si tel est le cas en retour le message suivant devrait s'afficher" Une correspondance a été trouvée" sinon "Aucune correspondance".
Le souci c'est que correspondance ou pas j'ai le même retour : "Aucune correspondance".
Il s'agit de numéro de sécu sans espace pour plus de commodité.
Je me suis dit probablement un problème de format car avec les TXTBOX c'est toujours plus compliqué de leur faire avaler des nombres.
C'est pourquoi, j'ai rajouté du texte dans la colonne A "PAPA" par exemple sans plus de résultat ou plutôt le même retour "Aucune correspondance"
Voilà, si vous avez un peu de temps à me consacrer solutionner mon problème, je vous en remercie.
Pour ma part, je vais continuer à chercher

Private Sub Txt1_AfterUpdate()
Me.Txt1 = Format(Me.Txt1, "0")
Set F = Sheets("BD2")

For L = 2 To F.Range("a" & Rows.Count).End(xlUp).Row
If F.Cells(L, 1) = Me.Txt1 Then
MsgBox ("Une correspondance a été trouvée")
Else
MsgBox ("Aucune correspondance")
Exit Sub
End If
Next L

End Sub
 
Bonjour dadaze,
VB:
Private Sub Txt1_AfterUpdate()
Set F = Sheets("BD2")
If Application.CountIf(F.Columns(1), Txt1) Then
    MsgBox ("Une correspondance a été trouvée")
Else
    MsgBox ("Aucune correspondance")
End If
End Sub
A+
Merci pour votre intervention job 75.
Ça fonctionne parfaitement.
Encore merci sans votre aide je n'aurai pas trouvé.
Je vous souhaite une bonne soirée.
 
Bonjour Dadaze,
En utilisant la balise </> le code est plus lisible.
Et un petit ficher test aurait été le bienvenu, ne serait que pour éviter de se le retaper.
N'oubliez pas qu'un TextBox renvoie ... du texte. Donc vous ne pouvez pas le comparer à des nombres. On peut convertir ce texte en nombre via CDbl.

En PJ un essai avec :
VB:
Private Sub TextBox1_Change()
On Error GoTo Fin  ' Si l'utilisateur entre des lettres
Nombre = CDbl(TextBox1)
Set F = Sheets("BD2")
Set Plage = F.Range("A1:A" & F.Range("a" & Rows.Count).End(xlUp).Row)
If Application.CountIf(Plage, Nombre) > 0 Then
    Ligne = Application.Match(Nombre, Plage, 0)
    MsgBox ("Une correspondance a été trouvée" & Chr(10) & "En ligne " & Ligne)
Else
    MsgBox ("Aucune correspondance")
End If
Fin:
End Sub
 

Pièces jointes

Bonjour Dadaze,
En utilisant la balise </> le code est plus lisible.
Et un petit ficher test aurait été le bienvenu, ne serait que pour éviter de se le retaper.
N'oubliez pas qu'un TextBox renvoie ... du texte. Donc vous ne pouvez pas le comparer à des nombres. On peut convertir ce texte en nombre via CDbl.

En PJ un essai avec :
VB:
Private Sub TextBox1_Change()
On Error GoTo Fin  ' Si l'utilisateur entre des lettres
Nombre = CDbl(TextBox1)
Set F = Sheets("BD2")
Set Plage = F.Range("A1:A" & F.Range("a" & Rows.Count).End(xlUp).Row)
If Application.CountIf(Plage, Nombre) > 0 Then
    Ligne = Application.Match(Nombre, Plage, 0)
    MsgBox ("Une correspondance a été trouvée" & Chr(10) & "En ligne " & Ligne)
Else
    MsgBox ("Aucune correspondance")
End If
Fin:
End Sub
Merci Sylvanu

A l’instar du code proposé par JOB 75 le votre fonctionne très bien également.
Encore une fois merci à tous les deux de m'avoir consacré un peu de votre temps et surtout de me faire partager vos compétences.

Sylvanu & JOB 75 bonne soirée

👍
 
- 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
2
Affichages
62
Réponses
13
Affichages
664
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
802
Réponses
2
Affichages
728
Retour