Se connecter avec
S'enregistrer | Connectez-vous

VBA recherche d'un cellule sur un classeur précis

Dernière réponse : dans Programmation

Je reviens une fois de plus demander de l'aide car je penche depuis un bon moment sur un problème qu je n'arrive pas à résoudre... :pt1cable: 

J'ai deux classeurs ouverts. Je souhaite rechercher une cellule qui contient les mots "PRODUITS D'EXPLOITATION" dans le classeur : classeur_previ et dans la feuille :feuille_previ de ce classeur, qui est l'un des deux classeurs. Le souci c'est que l'autre classeur a une cellule qui contient "total produits d'exploitation", et ma macro au lieu de chercher la cellule dans classeur_previ, trouve cette cellule "total produits d'exploitation" dans l'autre classeur...
Pourtant j'ai vérifié: classeur_previ et feuille_previ désignent bien le bon classeur...
J'ai une idée d'où peut venir le problème: LookIN:=xlValues. Je suppose que du coup il effectue la recherche dans toutes les cellules des classeur excel ouverts... Mais comment je peux préciser dans le "LookIn" que je veux qu'il cherche QUE dans classeur_previ? (le problème ne vient peut être pas de là...)

Mon code:
  1. Workbooks(classeur_previ).Activate
  2. With Worksheets(feuille_previ).Cells
  3. Set cellule_tableau = .Find("PRODUITS D'EXPLOITATION", LookIn:=xlValues)
  4. End With


Si vous avez des suggestions, merci beaucoup! :jap: 
Lassé par la pub ? Créez un compte
Expert Programmation

LookIn sert à préciser si tu recherches par valeur, dans la formule ou dans les commentaires.

Sinon, plutôt que de faire confiance à l'activation, essaie un truc comme ça :
  1. Workbooks(classeur_previ).Worksheets(feuille_previ).Cells.Find
Encore une piste. Tu peux ajouter
  1. LookAt:=xlWhole
pour préciser que tu ne veux que les cellules qui contiennent exactement ces mots.
Expert Programmation

Fais-le à la main en enregistrant le tout dans une macro. Compare ton travail de réflexion avec l'horreur(*) que va créer l'enregistreur de macro.

Ne désespère pas, on va l'avoir :) 

(*) Je hais les activate et autres Select

Je crois que j'ai résolu le pb...
j'ai vérifié plusieurs fois l'orthographe de "PRODUITS D'EXPLOITATION" et je l'avais à prioris bien écrit dans mon code...
mais je me suis dit: je vais faire un copier coller de la cellule d'origine pour être sûre....
et ça marche ! donc le souci venait du fait que dans la cellule que je recherchais il y avait un espace en trop entre les mots... :fou: 
tout ça pour ça !!! pfiou...
Lassé par la pub ? Créez un compte