billybond
Messages postés14Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention18 mai 2007
-
14 mai 2007 à 17:38
billybond
Messages postés14Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention18 mai 2007
-
15 mai 2007 à 11:30
Bonjour un tous.
J'ai un petit probleme qui nécessite votre aide.
J'utilise des macro dans word pour generer automatiquement des documentations concernant des clients. Pour cela je doit recuperer des tableaux dans Excell. Mon application doit pouvoir fonctionner sous Office 2000 ET Office 2003.
Voila mon probleme.
Lors de la recopie du tableau Excel dans le document word par la methode selection.paste, une erreur survien parfois avec Office 2003 ( tableau copier mais impossible a mettre en page, la mise en page etant automatiser l'application plante). Pour repondre a ce probleme j'ai donc utiliser la methode selection.PasteExcelTable. Cependant cette methode n'est pas disponible sous Office 2000 et il m'es donc impossible de l'utiliser.
Pour repondre a ce probleme j'ai tenter la methode suivante :
If Application.Version = "11.0" Then 'Si office 2003
Documents(Name_Doc).Application.Selection.PasteExcelTable False, False, True
Else
Documents(Name_Doc).Application.Selection.Paste
End If
Ceci ne fonctionne pas car sous windows 2000 surviens une erreur de compilation dans le module ( normal car il ne connais pas le code PasteExcelTable!!!
Je pensais cree deux module specifique , un pour Office 2000 et l'autre pour 2003 et charger le bon selon la version de Office utiliser, cependant je ne vois pas du tout comment faire.
cs_Maroxye
Messages postés177Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention16 octobre 2012 14 mai 2007 à 22:30
Le problème n'est pas là à mon avis. Parce que tu as mis une condition, si l'application n'est pas la version 11, il ne lit donc pas le .PasteExcelTable. Il passe plutôt au Else.
Peux-tu nous dire quelle est l'erreur exacte qu'il te donne?
billybond
Messages postés14Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention18 mai 2007 15 mai 2007 à 11:04
Rectification cela ne fonctionne pas.
En effet la compilation conditionnel se fait avant l'execution. Il faudrait donc que je specifie par une ligne de commande la version de Office ne pouvans pas modifie une constante lors de l'execution.
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 15 mai 2007 à 11:13
Exacte, je suis pas sur mais il me semble que cela est parametre dans ton IDE. Regarde dans les options ou dans les autres menus mais n'ayant pas VB6 devant moi, je peux pas dire.
Sinon, tu n'as qu'a passer par un inputbox (j'espere que ca existe aussi en VB6). C'est une boite de dialogue qui permet de rentrer une chaine de caractères
billybond
Messages postés14Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention18 mai 2007 15 mai 2007 à 11:19
Je suis d'accord sur le principe mais etant donnée qu'il s'agit d'une constante meme une input box n'y changera rien vu qu'on ne peut pas la modifier.
Je suis entrain de chercher dans les constantes predefinies de Office peut etre je trouverai mon bonheur.