A voir également:
- [Excel] vlookup ça marche, ça marche pas
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
5 réponses
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
644
22 juin 2009 à 16:15
22 juin 2009 à 16:15
Bonjour,
D'abord que je comprenne bien, il suffit de taper un caractère et automatiquement le traitement des RechercheV se déclenche.
Alors, le 1* c'est pour prendre un chiffre tapé en caractère (dans la textbox) et le convertir en chiffre pour le retrouver dans la colonne A3 à A26. Donc ce n'est pas cohérent car il ne peut y avoir que 10 chiffres possibles.
Donc j'en déduit que dans cette colonne il y a des caractères (non pas des chiffres).
Donc il faut supprimer le 1*
Mais par contre si il y a à la fois des chiffres et des lettres il faut en plus typer la colonne A en texte.
Je pense (sans certitude bien sur) que l'erreur doit venir de cette incompatibilité de type.
A+
D'abord que je comprenne bien, il suffit de taper un caractère et automatiquement le traitement des RechercheV se déclenche.
Alors, le 1* c'est pour prendre un chiffre tapé en caractère (dans la textbox) et le convertir en chiffre pour le retrouver dans la colonne A3 à A26. Donc ce n'est pas cohérent car il ne peut y avoir que 10 chiffres possibles.
Donc j'en déduit que dans cette colonne il y a des caractères (non pas des chiffres).
Donc il faut supprimer le 1*
Mais par contre si il y a à la fois des chiffres et des lettres il faut en plus typer la colonne A en texte.
Je pense (sans certitude bien sur) que l'erreur doit venir de cette incompatibilité de type.
A+
Merci Pilas de me répondre,
en effet j'ai essayé d'enlever le "1*" mais l'erreur persiste.
en cherchant, j'ai testé de copier coller le code qui marche bien (le premier) sur un classeur excel vierge reprenant la base de données, ça marche.
en revanche, lorsque je copie ce code dans un classeur excel dans word (parce que c'est la mise en page que j'aimerais), le code ne marche plus.
Que dois je faire?
Merci pour ton aide
en effet j'ai essayé d'enlever le "1*" mais l'erreur persiste.
en cherchant, j'ai testé de copier coller le code qui marche bien (le premier) sur un classeur excel vierge reprenant la base de données, ça marche.
en revanche, lorsque je copie ce code dans un classeur excel dans word (parce que c'est la mise en page que j'aimerais), le code ne marche plus.
Que dois je faire?
Merci pour ton aide
finallement ça marche entre excel et word
par contre peux-tu, s'il te plait, m'expliquer pourquoi 10 chiffres maximum?
"retrouver le numéro correspondant dans la colonne A3 à A26. Donc ce n'est pas cohérent car il ne peut y avoir que 10 chiffres possibles"
par contre peux-tu, s'il te plait, m'expliquer pourquoi 10 chiffres maximum?
"retrouver le numéro correspondant dans la colonne A3 à A26. Donc ce n'est pas cohérent car il ne peut y avoir que 10 chiffres possibles"
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
644
22 juin 2009 à 16:51
22 juin 2009 à 16:51
Tu as été plus rapide.
Oui comme dés qu'il tape un caractére la routine se déclenche et que c'était un chiffre j'ai pensé que les références n'allaient que de 0 à 9 mais avec le traitement d'érreur on peut taper plusieurs caractéres.
Oui comme dés qu'il tape un caractére la routine se déclenche et que c'était un chiffre j'ai pensé que les références n'allaient que de 0 à 9 mais avec le traitement d'érreur on peut taper plusieurs caractéres.
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
644
22 juin 2009 à 16:46
22 juin 2009 à 16:46
Oui, peut-être qu'il est perdu dans la référence au classeur.
Regarde, je te propose une écriture légérement différente en ajoutant "ThisWorkbook" pour lui préciser d'aller chercher au bon endroit. Au passage j'ai ajouté un petit traitement d'erreur au cas ou l'utilisateur tape une référence fausse (mais tu peux l'enlever si tu veux) :
Cordialement,
Regarde, je te propose une écriture légérement différente en ajoutant "ThisWorkbook" pour lui préciser d'aller chercher au bon endroit. Au passage j'ai ajouté un petit traitement d'erreur au cas ou l'utilisateur tape une référence fausse (mais tu peux l'enlever si tu veux) :
Private Sub TextBox2_reference_Change() On Error GoTo Fin If TextBox2_reference.Text <> "" Then TextBox3_days.Text = Application.VLookup(TextBox2_reference, ThisWorkbook.Worksheets("hidenrow").Range("A3:G26"), 3, False) TextBox4_hours.Text = Application.VLookup(TextBox2_reference, ThisWorkbook.Worksheets("hidenrow").Range("A3:G26"), 4, False) TextBox5_priceperpilot.Text = Application.VLookup(TextBox2_reference, ThisWorkbook.Worksheets("hidenrow").Range("A3:G26"), 5, False) Else TextBox3_days.Text = "" TextBox4_hours.Text = "" TextBox5_priceperpilot.Text = "" End If Fin: If Err <> 0 Then TextBox3_days.Text = "<Erreur de saisie>" End If End Sub--
Cordialement,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je vais essayer ton code, merci!
en attendant je me suis demandé si l'erreur n'était pas générée par ce code que je t'ai pas transmis avant:
Private Sub UserForm_Initialize() 'combobox rowsource
ComboBox1_training.RowSource = "hidenrow!C3:C26"
End Sub
puisque j'ai lié la textbox2_reference à la combobox1_training
en fait il me semble que la recherchev ne marche qu'avec des nombres, donc le texte de la combobox renvoie un nombre dans la textbox2_reference
qu'en penses-tu?
en attendant je me suis demandé si l'erreur n'était pas générée par ce code que je t'ai pas transmis avant:
Private Sub UserForm_Initialize() 'combobox rowsource
ComboBox1_training.RowSource = "hidenrow!C3:C26"
End Sub
puisque j'ai lié la textbox2_reference à la combobox1_training
en fait il me semble que la recherchev ne marche qu'avec des nombres, donc le texte de la combobox renvoie un nombre dans la textbox2_reference
qu'en penses-tu?