[VBA] Plantage du code selon les versions d'Office

Plantage du code selon les versions d'Office [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 23-06-2006 à 11:29:36    

Bonjour,
 
J'ai réalisé une macro sur un ordinateur, il n'est pas totalement fonctionnel et plante à une certaine ligne. Seulement, lorsque je le bascule sur un autre PC, le code ne plante pas au même endroit.
 
Sur le PC où j'écris, j'utilise office word 2002 et sur le PC de test il y a office small entreprise 2003.
 
Peut il y avoir des problèmes de compatibilité entre ces versions ?


Message édité par shooker le 26-06-2006 à 15:43:06
Reply

Marsh Posté le 23-06-2006 à 11:29:36   

Reply

Marsh Posté le 23-06-2006 à 11:34:32    

il existe des différences entre les versions, mais explicite un peu plus ton soucis. Quel type de macro, quel type de bug, manipulation de fichiers ?

Reply

Marsh Posté le 23-06-2006 à 11:47:27    

sur la version 2003, cette ligne ne passe pas :
    tot = Replace(toto, Chr(13), vbNullString)
 
sur la version 2002 elle fonctionne très bien. En fait il refuse le "chr" avec le message d'erreur : projet ou bibliothèque introuvable

Reply

Marsh Posté le 23-06-2006 à 17:16:21    

Essaie Chr$(). Cette fonction n'est pas toujours documentée, mais elle fonctionne. Le problème existe aussi avec la fonction Mid et Mid$.

Reply

Marsh Posté le 26-06-2006 à 08:25:40    

Je viens d'essayer avec "$" en plus mais le résultat est le même. C'est vraiment très embêtant ce problème.

Reply

Marsh Posté le 26-06-2006 à 12:15:55    

Que dit la doc de la version 2003 sur cette commande?

Reply

Marsh Posté le 26-06-2006 à 14:01:16    

La doc est en fait la doc online de Microsoft. Mais "chr" se trouve bien dans l'explorateur d'objets du VBA, il doit donc être reconnu.

Reply

Marsh Posté le 26-06-2006 à 16:20:40    

Vu que je n'arrive toujours pas à faire fonctionner "chr", auriez vous une idée pour faire la même chose que : tot = Replace(toto, Chr(13), vbNullString) ???
 
Je veux juste remplacer les retour chariot par rien

Reply

Marsh Posté le 26-06-2006 à 16:27:51    

shooker a écrit :

Vu que je n'arrive toujours pas à faire fonctionner "chr", auriez vous une idée pour faire la même chose que : tot = Replace(toto, Chr(13), vbNullString) ???
 
Je veux juste remplacer les retour chariot par rien


voir ici
http://forum.hardware.fr/hardwaref [...] 9936-1.htm

Reply

Marsh Posté le 26-06-2006 à 17:05:56    

Merci beaucoup pour ta réponse, mais j'ai trouvé la solution. En fait la bibliothèque ne se chargeait pas, j'ai donc regarder dans les références et il y avait plusieurs références à VBA qui n'étaient pas cochées, je les ai donc toutes cochées.
 
Merci à vous !

Reply

Marsh Posté le 26-06-2006 à 17:05:56   

Reply

Marsh Posté le 26-06-2006 à 17:13:28    

Pour info, certaines fois il ne suffit pas de les cocher car elles ne sont pas du tout sur la machine cible.
Il faut alors passer par un programme d'installation qui se chargera de copier et d'enregistrer les composants nécessaire au projet (DLL, OCX, TLB ...)


Message édité par tegu le 26-06-2006 à 17:13:37
Reply

Marsh Posté le 26-06-2006 à 17:41:05    

Merci pour l'info mais là je suis "out" ! Je n'ai aucune compétence dans ce domaine.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed