Bonjour
J'ai créé un formulaire de modification ,à partir duquel je rappelle toutes les données d'une ligne:
La recherche se fait à partir de la combobox "ChoixN_Eng" (chaque ligne de chaque tableau correspond à un numéro enregistrement unique).
Je dispose de six(6) onglets dans mon classeur sur lesquels j'effectue des saisies et modifications.
Mon userform fonctionne correctement sur certains onglets tel que l'onglet "Gestion_Débiteur", par contre sur certains tel que "Gestion_Créancier"; "JAL_OD"; "JAL_AN", cela ne fonctionne pas.
En effet ,après le chois dans la combobox "ChoixN_Eng", cela me génère une erreur.
J'ai beau chercher je n'arrive pas à le résoudre, quelqu'un peut il m'aider s'il vous plait.
Bonjour Kyasteph,
Un Textbox renvoie .. un texte. Or le texte "1211" n'est pas trouvé puisque seule la valeur numérique 1211 est présente.
J'ai remplacé
Bonjour,
Il faut aussi se méfier du Application.Transpose qui peut réduire un tableau à 2 dimensions vers un tableau à une dimension quand la 2ème dimension est 1 (range d'une seule ligne par exemple):
t(1 to 2, 1 to 1) -> t(1 to 2).
Bonjour Kyasteph,
Un Textbox renvoie .. un texte. Or le texte "1211" n'est pas trouvé puisque seule la valeur numérique 1211 est présente.
J'ai remplacé
Bonsoir @kyasteph ,@Dudu2 ,@sylvanu ,
Désolé de m'incruster. Je suis depuis ce matin cette discussion.
J'ai essayé de modifier les codes de kysteph mais je suis resté confronté au problème de la fonction Find qui ne trouve pas la valeur de la combobox. J'ai fait des recherches et beaucoup de tests sans succès.
@sylvanu: Ta proposition contourne le problème rencontrer avec le fonction Find. Cependant, je n'ai pas trouvé la cause pour quelle raison elle ne fonctionnait pas.
En effet, notre ami a formaté sa colonne (col2) au format numérique avec séparateur de décimal.
Or, pour un nombre < à 999, il est trouvé. Alors, j'ai fait le petit fichier ci-joint où la fonction Find fonctionne pour différents format de cellule.
Voilà pour mon grain de sel. En espérant, que quelqu'un décèle le pourquoi du non fonctionnement correct du fichier de kysteph.
Bonsoir, @cp4
Si dans le fichier de kyasteph vous mettez le N°Enreg 1 234 en format standard ( 1234 ), sa fonction marche. Je pense qu'issue d'une TextBox 1234 est reconnu automatiquement par le VBA comme un nombre mais que 1 234 est reconnu comme une chaine de caractères. D'où le problème.
Et voulant conservé le format initial je suis passé par Match avec Val.
On le voit d'ailleurs dans votre fichier le "nombre" 3 210 n'est pas reconnu car dans la textbox il y a 3210.
Tout du moins c'est mon analyse.
Bonsoir, @cp4
Si dans le fichier de kyasteph vous mettez le N°Enreg 1 234 en format standard ( 1234 ), sa fonction marche. Je pense qu'issue d'une TextBox 1234 est reconnu automatiquement par le VBA comme un nombre mais que 1 234 est reconnu comme une chaine de caractères. D'où le problème.
Et voulant conservé le format initial je suis passé par Match avec Val.
On le voit d'ailleurs dans votre fichier le "nombre" 3 210 n'est pas reconnu car dans la textbox il y a 3210. Regarde la pièce jointe 1085017
Tout du moins c'est mon analyse.
Je suis sous Excel 2010.
J'ai appliqué la même chose sur le fichier de kyasteph mais ça ne fonctionne pas comme chez toi.
En effet, si on format les cellules en standard ça fonctionne.
J'ai pris le temps de tester ta proposition. Je te confirme qu'elle fonctionne.
Mais je n'ai pas compris pourquoi il y a Range("b1"), car la cellule b1 est vide.
Merci d'éclairé ma lanterne.
le Range("b1") n'est pas nécessaire, il indique le point de départ de la recherche.
C'est un résidu de mes "recherches/test", j'ai oublié de l'enlever ..