Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Reconnaitre un nombre inscrit dans une colonne

2 réponses
Avatar
Denys
Bonjour =E0 tous,

Ci-bas, j'ai un code qui me permet de savoir si un nombre a d=E9j=E0 =E9t=E9=

entr=E9 dans la colonne D afin d'=E9viter les doublons. Cependant, cela ne
fonctionne que si j'ai pr=E9alablement entr=E9 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=EAme les reconnaitre lorsqu'ils
sont inscrits dans la colonne?

Merci

Denys

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

2 réponses

Avatar
MichDenis
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" a écrit dans le message de news:

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
Avatar
Denys
Bonjour Denis,

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

Bonne journée

Denys