Userform - recherche valeur

Le
JulieH
Bonjour à toutes et tous,

Il y a quelques temps déjà j'avais réussi, grâce à l'aide des archives
du forum, à réaliser une petite application qui fonctionnait
parfaitement. Or aujourd'hui j'ai, semble-t-il, trouver une limite.

J'ai une liste de numéros en colonne C, ils sont classés de manière
aléatoire.
J'appelle un userform, je saisis un chiffre, je clique sur un bouton
et, grâce à la macro suivante il me retrouve le numéro dans la liste et
va placer le curseur dans la cellule immédiatement à droite.

Private Sub CommandButton2_Click()
On Error GoTo NotFound
Valeur = Me.TxtBox1.Value
ToFind = Application.Match(CInt(TxtBox1.Value), Range("C2:C20000"), 0)
Application.Goto Worksheets("Saisie_infos").Cells(ToFind,
3).Offset(1, 1)
Me.TxtBox1 = ""
TxtBox1.SetFocus
Me.Hide
Exit Sub

NotFound:
Me.TxtBox1 = ""
TxtBox1.SetFocus
MsgBox "La valeur " & Valeur & " n'est pas dans la liste",
vbInformation, "Résultat de recherche"
End Sub




J'avais jusqu'à présent des numéros assez faibles (de 1 à 2500) et je
n'avais jamais rencontré de problème. Mais cette fois-ci j'ai des
numéros à 7 chiffres et la Msgbox me dit qu'il ne sont pas dans la liste.
Il ne s'agit pas d'un problème de format. Cela fonctionne à 32500 mais
pas à 32999 et au delà. Je n'ai pas tout testé.

Quelqu'un a-t-il déjà rencontré ce problème ?

Merci d'avance pour votre aide.

Julie
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #4567921
bonjour Julie,

as tu essayé avec CDbl au lieu de CInt ?

isabelle


Bonjour à toutes et tous,

Il y a quelques temps déjà j'avais réussi, grâce à l'aide des
archives du forum, à réaliser une petite application qui fonctionnait
parfaitement. Or aujourd'hui j'ai, semble-t-il, trouver une limite.

J'ai une liste de numéros en colonne C, ils sont classés de manière
aléatoire.
J'appelle un userform, je saisis un chiffre, je clique sur un bouton
et, grâce à la macro suivante il me retrouve le numéro dans la liste et
va placer le curseur dans la cellule immédiatement à droite.

Private Sub CommandButton2_Click()
On Error GoTo NotFound
Valeur = Me.TxtBox1.Value
ToFind = Application.Match(CInt(TxtBox1.Value), Range("C2:C20000"), 0)
Application.Goto Worksheets("Saisie_infos").Cells(ToFind,
3).Offset(1, 1)
Me.TxtBox1 = ""
TxtBox1.SetFocus
Me.Hide
Exit Sub

NotFound:
Me.TxtBox1 = ""
TxtBox1.SetFocus
MsgBox "La valeur " & Valeur & " n'est pas dans la liste",
vbInformation, "Résultat de recherche"
End Sub




J'avais jusqu'à présent des numéros assez faibles (de 1 à 2500) et
je n'avais jamais rencontré de problème. Mais cette fois-ci j'ai des
numéros à 7 chiffres et la Msgbox me dit qu'il ne sont pas dans la liste.
Il ne s'agit pas d'un problème de format. Cela fonctionne à 32500
mais pas à 32999 et au delà. Je n'ai pas tout testé.

Quelqu'un a-t-il déjà rencontré ce problème ?

Merci d'avance pour votre aide.

Julie


JulieH
Le #4567901
Bonjour Isabelle et merci beaucoup pour l'aide,

En effet, même si je n'ai pas tester toutes les possibilités, cela a
permis de résoudre le problème initial.

Si tu as une minute, peux-tu me donner la signification de CInt et CDbl ?

Bon après midi

Julie

bonjour Julie,

as tu essayé avec CDbl au lieu de CInt ?

isabelle


Bonjour à toutes et tous,

Il y a quelques temps déjà j'avais réussi, grâce à l'aide des
archives du forum, à réaliser une petite application qui fonctionnait
parfaitement. Or aujourd'hui j'ai, semble-t-il, trouver une limite.

J'ai une liste de numéros en colonne C, ils sont classés de
manière aléatoire.
J'appelle un userform, je saisis un chiffre, je clique sur un
bouton et, grâce à la macro suivante il me retrouve le numéro dans la
liste et va placer le curseur dans la cellule immédiatement à droite.

Private Sub CommandButton2_Click()
On Error GoTo NotFound
Valeur = Me.TxtBox1.Value
ToFind = Application.Match(CInt(TxtBox1.Value),
Range("C2:C20000"), 0)
Application.Goto Worksheets("Saisie_infos").Cells(ToFind,
3).Offset(1, 1)
Me.TxtBox1 = ""
TxtBox1.SetFocus
Me.Hide
Exit Sub

NotFound:
Me.TxtBox1 = ""
TxtBox1.SetFocus
MsgBox "La valeur " & Valeur & " n'est pas dans la liste",
vbInformation, "Résultat de recherche"
End Sub




J'avais jusqu'à présent des numéros assez faibles (de 1 à 2500) et
je n'avais jamais rencontré de problème. Mais cette fois-ci j'ai des
numéros à 7 chiffres et la Msgbox me dit qu'il ne sont pas dans la liste.
Il ne s'agit pas d'un problème de format. Cela fonctionne à 32500
mais pas à 32999 et au delà. Je n'ai pas tout testé.

Quelqu'un a-t-il déjà rencontré ce problème ?

Merci d'avance pour votre aide.

Julie




JB
Le #4567861
Bonjour,

Private Sub CommandButton2_Click()
Set c = [C:C].Find(what:=Me.TxtBox1, lookat:=xlWhole)
If c Is Nothing Then
MsgBox "inc"
Else
Range(c.Address).Offset(0, 1).Select
Me.Hide
End If
End Sub

JB

On 31 mai, 13:23, JulieH
Bonjour à toutes et tous,

Il y a quelques temps déjà j'avais réussi, grâce à l'ai de des archives
du forum, à réaliser une petite application qui fonctionnait
parfaitement. Or aujourd'hui j'ai, semble-t-il, trouver une limite.

J'ai une liste de numéros en colonne C, ils sont classés de m anière
aléatoire.
J'appelle un userform, je saisis un chiffre, je clique sur un bou ton
et, grâce à la macro suivante il me retrouve le numéro dans la list e et
va placer le curseur dans la cellule immédiatement à droite.

Private Sub CommandButton2_Click()
On Error GoTo NotFound
Valeur = Me.TxtBox1.Value
ToFind = Application.Match(CInt(TxtBox1.Value), Range("C2:C20000") , 0)
Application.Goto Worksheets("Saisie_infos").Cells(ToFind,
3).Offset(1, 1)
Me.TxtBox1 = ""
TxtBox1.SetFocus
Me.Hide
Exit Sub

NotFound:
Me.TxtBox1 = ""
TxtBox1.SetFocus
MsgBox "La valeur " & Valeur & " n'est pas dans la liste",
vbInformation, "Résultat de recherche"
End Sub

J'avais jusqu'à présent des numéros assez faibles (de 1 à 2500) et je
n'avais jamais rencontré de problème. Mais cette fois-ci j'ai des
numéros à 7 chiffres et la Msgbox me dit qu'il ne sont pas dans la li ste.
Il ne s'agit pas d'un problème de format. Cela fonctionne à 3 2500 mais
pas à 32999 et au delà. Je n'ai pas tout testé.

Quelqu'un a-t-il déjà rencontré ce problème ?

Merci d'avance pour votre aide.

Julie


isabelle
Le #4567841
bonjour Julie,


Si tu as une minute, peux-tu me donner la signification de CInt et
CDbl ?


bien sur, voici un extrait de l'aide :

CDbl
Double, type de données
Type de données stockant sur 64 bits les nombres à virgule flottante en double précision compris
entre -1,79769313486231E308 et -4,94065645841247E-324 pour les valeurs négatives,
et entre 4,94065645841247E-324 et 1,79769313486232E308 pour les valeurs positives.
Dans Visual Basic, le signe dièse (#) est le caractère de déclaration du type Double.


CInt
Integer, type de données
Type de données contenant des nombres entiers stockés sous forme d'entiers de 2 octets compris
entre -32 768 et 32 767. Le type de données Integer permet également de représenter des valeurs énumérées.
Dans Visual Basic, le signe % est le caractère de déclaration du type Integer.

pour voir tout les type de données,
dans visual basic, tu place le curseur sur CDbl ou CInt et tu appuis sur la touche "F1"

isabelle

JulieH
Le #4567831
Bonjour,

OK cela fonctionne également.

Merci

Julie

Bonjour,

Private Sub CommandButton2_Click()
Set c = [C:C].Find(what:=Me.TxtBox1, lookat:=xlWhole)
If c Is Nothing Then
MsgBox "inc"
Else
Range(c.Address).Offset(0, 1).Select
Me.Hide
End If
End Sub

JB

On 31 mai, 13:23, JulieH
Bonjour à toutes et tous,

Il y a quelques temps déjà j'avais réussi, grâce à l'aide des archives
du forum, à réaliser une petite application qui fonctionnait
parfaitement. Or aujourd'hui j'ai, semble-t-il, trouver une limite.

J'ai une liste de numéros en colonne C, ils sont classés de manière
aléatoire.
J'appelle un userform, je saisis un chiffre, je clique sur un bouton
et, grâce à la macro suivante il me retrouve le numéro dans la liste et
va placer le curseur dans la cellule immédiatement à droite.

Private Sub CommandButton2_Click()
On Error GoTo NotFound
Valeur = Me.TxtBox1.Value
ToFind = Application.Match(CInt(TxtBox1.Value), Range("C2:C20000"), 0)
Application.Goto Worksheets("Saisie_infos").Cells(ToFind,
3).Offset(1, 1)
Me.TxtBox1 = ""
TxtBox1.SetFocus
Me.Hide
Exit Sub

NotFound:
Me.TxtBox1 = ""
TxtBox1.SetFocus
MsgBox "La valeur " & Valeur & " n'est pas dans la liste",
vbInformation, "Résultat de recherche"
End Sub

J'avais jusqu'à présent des numéros assez faibles (de 1 à 2500) et je
n'avais jamais rencontré de problème. Mais cette fois-ci j'ai des
numéros à 7 chiffres et la Msgbox me dit qu'il ne sont pas dans la liste.
Il ne s'agit pas d'un problème de format. Cela fonctionne à 32500 mais
pas à 32999 et au delà. Je n'ai pas tout testé.

Quelqu'un a-t-il déjà rencontré ce problème ?

Merci d'avance pour votre aide.

Julie






MichDenis
Le #4567811
| Si tu as une minute, peux-tu me donner la signification de CInt et CDbl ?

Si tu utilises ceci, il faut t'assurer que le séparateur décimale saisie dans le
textbox soit le même que celui définit dans le panneau de configuration de windows
car la fonction de conversion Cdbl() utilise ce séparateur décimale...sinon
la fonction se plante.

Pour plus d'informations, je passe la main à Isabellle.
JP25
Le #4567631
Bonjour,
Tu rempaces ToFind par Find ça fonctionne aussi
JP25

"JulieH"
Bonjour à toutes et tous,

Il y a quelques temps déjà j'avais réussi, grâce à l'aide des archives du
forum, à réaliser une petite application qui fonctionnait parfaitement. Or
aujourd'hui j'ai, semble-t-il, trouver une limite.

J'ai une liste de numéros en colonne C, ils sont classés de manière
aléatoire.
J'appelle un userform, je saisis un chiffre, je clique sur un bouton et,
grâce à la macro suivante il me retrouve le numéro dans la liste et va
placer le curseur dans la cellule immédiatement à droite.

Private Sub CommandButton2_Click()
On Error GoTo NotFound
Valeur = Me.TxtBox1.Value
ToFind = Application.Match(CInt(TxtBox1.Value), Range("C2:C20000"), 0)
Application.Goto Worksheets("Saisie_infos").Cells(ToFind, 3).Offset(1,
1)
Me.TxtBox1 = ""
TxtBox1.SetFocus
Me.Hide
Exit Sub

NotFound:
Me.TxtBox1 = ""
TxtBox1.SetFocus
MsgBox "La valeur " & Valeur & " n'est pas dans la liste",
vbInformation, "Résultat de recherche"
End Sub




J'avais jusqu'à présent des numéros assez faibles (de 1 à 2500) et je
n'avais jamais rencontré de problème. Mais cette fois-ci j'ai des numéros
à 7 chiffres et la Msgbox me dit qu'il ne sont pas dans la liste.
Il ne s'agit pas d'un problème de format. Cela fonctionne à 32500 mais pas
à 32999 et au delà. Je n'ai pas tout testé.

Quelqu'un a-t-il déjà rencontré ce problème ?

Merci d'avance pour votre aide.

Julie


JB
Le #4567581
Avec Find, les valeurs peuvent être alphanumériques

JB
On 31 mai, 14:00, JulieH
Bonjour,

OK cela fonctionne également.

Merci

Julie




Bonjour,

Private Sub CommandButton2_Click()
Set c = [C:C].Find(what:=Me.TxtBox1, lookat:=xlWhole)
If c Is Nothing Then
MsgBox "inc"
Else
Range(c.Address).Offset(0, 1).Select
Me.Hide
End If
End Sub

JB

On 31 mai, 13:23, JulieH
Bonjour à toutes et tous,

Il y a quelques temps déjà j'avais réussi, grâce à l 'aide des archives
du forum, à réaliser une petite application qui fonctionnait
parfaitement. Or aujourd'hui j'ai, semble-t-il, trouver une limite.

J'ai une liste de numéros en colonne C, ils sont classés d e manière
aléatoire.
J'appelle un userform, je saisis un chiffre, je clique sur un bouton
et, grâce à la macro suivante il me retrouve le numéro dans la l iste et
va placer le curseur dans la cellule immédiatement à droite.

Private Sub CommandButton2_Click()
On Error GoTo NotFound
Valeur = Me.TxtBox1.Value
ToFind = Application.Match(CInt(TxtBox1.Value), Range("C2:C2000 0"), 0)
Application.Goto Worksheets("Saisie_infos").Cells(ToFind,
3).Offset(1, 1)
Me.TxtBox1 = ""
TxtBox1.SetFocus
Me.Hide
Exit Sub

NotFound:
Me.TxtBox1 = ""
TxtBox1.SetFocus
MsgBox "La valeur " & Valeur & " n'est pas dans la liste",
vbInformation, "Résultat de recherche"
End Sub

J'avais jusqu'à présent des numéros assez faibles (de 1 à 2500) et je
n'avais jamais rencontré de problème. Mais cette fois-ci j'ai des
numéros à 7 chiffres et la Msgbox me dit qu'il ne sont pas dans la liste.
Il ne s'agit pas d'un problème de format. Cela fonctionne à 32500 mais
pas à 32999 et au delà. Je n'ai pas tout testé.

Quelqu'un a-t-il déjà rencontré ce problème ?

Merci d'avance pour votre aide.

Julie- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




MichDenis
Le #4567541
| Avec Find, les valeurs peuvent être alphanumériques


La méthode Find recherche toujours une chaîne de caractère
quelle soit numérique ou alphanumérique, cela n'a pas
grande importance !
JP25
Le #4567531
Re,
Pour tes valeurs > 32767,
Tu fais :
Dim Valeur as Long
Et tu remplaces CInt par CLong
JP25

"JB"
Avec Find, les valeurs peuvent être alphanumériques

JB
On 31 mai, 14:00, JulieH
Bonjour,

OK cela fonctionne également.

Merci

Julie




Bonjour,

Private Sub CommandButton2_Click()
Set c = [C:C].Find(what:=Me.TxtBox1, lookat:=xlWhole)
If c Is Nothing Then
MsgBox "inc"
Else
Range(c.Address).Offset(0, 1).Select
Me.Hide
End If
End Sub

JB

On 31 mai, 13:23, JulieH
Bonjour à toutes et tous,

Il y a quelques temps déjà j'avais réussi, grâce à l'aide des
archives
du forum, à réaliser une petite application qui fonctionnait
parfaitement. Or aujourd'hui j'ai, semble-t-il, trouver une limite.

J'ai une liste de numéros en colonne C, ils sont classés de
manière
aléatoire.
J'appelle un userform, je saisis un chiffre, je clique sur un
bouton
et, grâce à la macro suivante il me retrouve le numéro dans la liste et
va placer le curseur dans la cellule immédiatement à droite.

Private Sub CommandButton2_Click()
On Error GoTo NotFound
Valeur = Me.TxtBox1.Value
ToFind = Application.Match(CInt(TxtBox1.Value),
Range("C2:C20000"), 0)
Application.Goto Worksheets("Saisie_infos").Cells(ToFind,
3).Offset(1, 1)
Me.TxtBox1 = ""
TxtBox1.SetFocus
Me.Hide
Exit Sub

NotFound:
Me.TxtBox1 = ""
TxtBox1.SetFocus
MsgBox "La valeur " & Valeur & " n'est pas dans la liste",
vbInformation, "Résultat de recherche"
End Sub

J'avais jusqu'à présent des numéros assez faibles (de 1 à 2500)
et je
n'avais jamais rencontré de problème. Mais cette fois-ci j'ai des
numéros à 7 chiffres et la Msgbox me dit qu'il ne sont pas dans la
liste.
Il ne s'agit pas d'un problème de format. Cela fonctionne à
32500 mais
pas à 32999 et au delà. Je n'ai pas tout testé.

Quelqu'un a-t-il déjà rencontré ce problème ?

Merci d'avance pour votre aide.

Julie- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Publicité
Poster une réponse
Anonyme