Le mystère de la fonction find word depuis excel (ô_Ô)

Anormade Messages postés 6 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 21 janvier 2011 - 22 oct. 2009 à 13:52
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 22 oct. 2009 à 21:16
Au boulo on utilise des feuilles de calculs excel qui donnent des tableaux.
On édite des rapports sous word automatiquement.
Je me suis confronté à un problème bien étrange.


Lorsque depuis VBA excel je fais un find dans mon document word, sur certain ordi ça plante d'autre pas.("mon_doc.Application.Selection.find....")


Du coup ça devient un casse tête pour écrire un numéro de dossier dans l'entête où on ne peut pas placer de signet.

Bon je m'en suis sorti, mais je voulais signaler ce truc mystique.
Dès que find apparaît dans mon code VBA excel pour un document word pouf plantage.

J'oubliais, tous les post sont sous office 2003.

4 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
22 oct. 2009 à 16:27
Salut,

ben si on peu mettre un signet dans l'entête

Pour le reste dur de voir d'ou cela peu venir sans le code qui utilise le find... mais je soupçonne qu'il y mélange entre le find d'excel et le find de word... peut etre un probleme de reference donc.

A+
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
22 oct. 2009 à 18:18
Bonjour,

Il n'y a pas de raison de plantage entre les deux applications, mais piloter une application à partir d'une autre demande plus de minutie dans le code... surtout au niveau des références aux objets.
En effet, quand on travaille uniquement dans une seule application, certaines facilités aux références d'objets (mais si on ne fait pas attention) sont en jeux...
Ensuite, le coup classique des débutants, c'est les valeurs des constantes sont VBA... Chaque application ont leur propre jeu de constantes, qu'il faut retraduire en valeur lorsqu'on fait un pilotage... Par exemple, sous VBA EXCEL, la constante "wdFindContinue" n'a pas de valeur définie... donc 0 par défaut... Or "wdFindContinue" vaut 1 sous WORD...

Amicalement,
Us.
0
Anormade Messages postés 6 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 21 janvier 2011
22 oct. 2009 à 19:36
Le code que j'utilise, je l'ai obtenu en enregistrant une macro sous word. J'ai juste adapté en rajoutant "mon_doc.Application." devant les instructions.
(Et j'ai bien évidemment activé la ref des instructions de Word)
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
22 oct. 2009 à 21:16
... "ref des instructions de Word", ne veut rien dire pour moi. Tu as créé un objet qui pointe sur WORD, et passer les instructions de la macro fait sous WORD... mais les constantes ne sont pas prises en compte, car l'application d'origine (Excel ici) fait un premier traitement, en remplaçant les constantes par leurs valeurs... Donc WORD, ne reçoit pas les constantes sous leurs formes symbolique, mais numérique...

Amicalement,
Us.
0
Rejoignez-nous