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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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)
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
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)
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" <denys.perreault@rbc.com> a écrit dans le message de news:
4e2df3ea-7e34-432f-b42c-2901dd969720@l42g2000hsc.googlegroups.com...
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
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)
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
Denys
Bonjour Denis,
Merci beaucoup.... comme toujours, je vais suivre tes précieux conseils
Bonne journée
Denys
Bonjour Denis,
Merci beaucoup.... comme toujours, je vais suivre tes précieux
conseils