Reconnaitre un nombre inscrit dans une colonne

Le
Denys
Bonjour à tous,

Ci-bas, j'ai un code qui me permet de savoir si un nombre a déjà été=

entré dans la colonne D afin d'éviter les doublons. Cependant, cela ne
fonctionne que si j'ai préalablement entré les chiffres comme texte en
leur mettant un apostrophe devant '002 par exemple.

Y aurait-il moyen que je laisse les nombres s'inscrire en nombre dans
la colonne et qu'excel puisse quand même les reconnaitre lorsqu'ils
sont inscrits dans la colonne?

Merci

Denys

Private Sub TextBox1_AfterUpdate()
If TextBox1 = "" Then Exit Sub
Dim NoErreur As Long
On Error Resume Next
Application.WorksheetFunction.Match TextBox1.Text, [$d$8:$d
$50000], 0
NoErreur = Err.Number
On Error GoTo Suite
If NoErreur = 0 Then
MsgBox "Account number " & TextBox1.Text & " already appears
in the list"
Cancel = True
TextBox1.Text = vbNullString
End If
Suite:
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #6633691
Tu peux toujours utiliser une fonction de conversion pour transformer
la donnée du textbox en nombre.. tu choisis celle qui convient au type de
donnée de ton textbox....

Si tu choisis la fonction "Match", omet l'objet "WorksheetFunction", elle est bugguée!
Application.Match CDbl(TextBox1.Text), [$d$8:$d$50000], 0

liste des fonctions de conversion : (aide dans excel pour chacune d'elles)

CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CSng(expression)
CStr(expression)
CVar(expression)

Tu peux utiliser la fonction CountIf
Il est toujours préférable de s'assurer que l'on fait référence à la bonne feuille....!!!

with feuil1
if Application.CountIf(.range("d8:d50000"), CDbl(TextBox1.Text)) = 0 then
' ton code
end if
end with




"Denys"
Bonjour à tous,

Ci-bas, j'ai un code qui me permet de savoir si un nombre a déjà été
entré dans la colonne D afin d'éviter les doublons. Cependant, cela ne
fonctionne que si j'ai préalablement entré les chiffres comme texte en
leur mettant un apostrophe devant '002 par exemple.

Y aurait-il moyen que je laisse les nombres s'inscrire en nombre dans
la colonne et qu'excel puisse quand même les reconnaitre lorsqu'ils
sont inscrits dans la colonne?

Merci

Denys

Private Sub TextBox1_AfterUpdate()
If TextBox1 = "" Then Exit Sub
Dim NoErreur As Long
On Error Resume Next
Application.WorksheetFunction.Match TextBox1.Text, [$d$8:$d
$50000], 0
NoErreur = Err.Number
On Error GoTo Suite
If NoErreur = 0 Then
MsgBox "Account number " & TextBox1.Text & " already appears
in the list"
Cancel = True
TextBox1.Text = vbNullString
End If
Suite:
End Sub
Denys
Le #6633641
Bonjour Denis,

Merci beaucoup.... comme toujours, je vais suivre tes précieux
conseils

Bonne journée

Denys
Publicité
Poster une réponse
Anonyme