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

Userform - recherche valeur

11 réponses
Avatar
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

10 réponses

1 2
Avatar
isabelle
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


Avatar
JulieH
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




Avatar
JB
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 wrote:
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


Avatar
isabelle
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

Avatar
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 wrote:
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






Avatar
MichDenis
| 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.
Avatar
JP25
Bonjour,
Tu rempaces ToFind par Find ça fonctionne aussi
JP25

"JulieH" a écrit dans le message de news:

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


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

JB
On 31 mai, 14:00, JulieH wrote:
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 wrote:
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 -




Avatar
MichDenis
| 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 !
Avatar
JP25
Re,
Pour tes valeurs > 32767,
Tu fais :
Dim Valeur as Long
Et tu remplaces CInt par CLong
JP25

"JB" a écrit dans le message de news:

Avec Find, les valeurs peuvent être alphanumériques

JB
On 31 mai, 14:00, JulieH wrote:
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 wrote:
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 -




1 2