Bonjour,
Soit 2 classeurs : Un contenant des données, le second des macros.
Dans le classeur de données en ligne 1 sont présents (mais pas les guillemets) :
A1 : "Désignation", B1 : "Matière" , C1 : "Référence", E1 : xxx, F1 : yyy,G1 : "Autre Référence" valeurs issues d'autres feuilles qui ne posent pas de problème, sans espace ou autres caractères. D'une feuille à une autre, les titres des colonnes peuvent
se trouver dans des colonnes différentes, d'où la recherche suivante.
Si je demande à VBA de me trouver la colonne contenant "Référence" par le code :
Col1 = Activesheet.Rows("1:1").Find("Référence", Range("A1"), xlValues, xlWhole, , xlNext, False, False, False).Column
Il me dit que ce texte n'existe pas !
Idem, avec Désignation ou Matière.
Si je copie cette ligne plus bas, même déconvenue.
Si je copie cette ligne dans un autre classeur, cela fonctionne bien...
Autre essai, si dans mon premier classeur je fais une recherche en changeant uniquement xlWhole par xlPart, cela fonctionne mais cela ne me convient pas à cause du doublon, d'où le xlWhole.
Troisième essai, si dans mon premier classeur je fais une recherche en changeant uniquement xlValues par xlFormulas, cela fonctionne aussi... mais la valeur cherchée est bien une valeur en dur.
Merci de noter que copier le contenu de la cellule dans le code de recherche en VBA n'améliore rien.
Toutes les recherches faites manuellement donnent le même résultat que VBA.
J'ai souvent fait cette remarque lors de recherches manuelles (je sais alors trier visuellement les réponses attendues des autres) mais c'est la première fois avec VBA et le classeur (un parmi une petite centaine, utilisé depuis des années) ne fonctionne
plus.
Le second classeur qui contient les macros pilote une batterie de classeurs identiques, en structure, à celui "en panne", il n'est pas possible de modifier le code.
Merci pour les idées.