Un programme VBA s'exécute différemment sur deux ordis séparés

Bonjour

Je ne comprends pas ! ! J'ai exactement le même fichier Excel (avec des macros) qui s’exécute avec la même version d'Excel (office 2007) sur deux ordis différents (l'un avec Win10, l'autre avec Win 11). Cela marche sur l'ordi Win10 et j'obtiens un dépassement de capacité sur l'autre avec Win11. Une variable long passe en dépassement de capacité (elle prend la valeur 1 975 308 641 - je pense que c'est la valeur avant plantage puisque elle est encore dans la limite du long). C'est une variable qui s'incrémente et ne peut en principe dépasser 987 654 321.

Avec le peu d'informations que je vous donne, auriez vous des pistes d'exploration à me suggérer. J'ai vérifié que les versions d'Excel sont paramétrées pareillement. J'ai l'impression que dans le débugueur les deux programmes s’exécutent différemment ??

Note : la variable a le même nom dans plusieurs Sub différentes (mais elle est bien déclarée comme variable interne à chaque sub). J'ai l'impression que quand cela plante, elle n'est pas remise à 0 dans les Sub - mais pas sûr)

Je ne vois pas comment cela pourrait venir du système d'exploitation Windows.

Merci de votre aide

Mike

Bonjour

Il y a je crois incompatibilité entre 2007 et Windows 11

Bonjour,

Merci Chris de ta réponse. J'ai d'autres programmes avec des macros qui n'ont pas pour l'instant montré un dysfonctionnement. Autre précision bien que je ne pense pas que ce soit l'origine de mon problème : mon Office 2007 officiel est sur un DVD (eh oui je suis de la vieille école ), mon nouvel ordi n'ayant pas de lecteur, j'ai copié le DVD sur une clé USB et donc installé Office 2007 à partir de cette clé.

Cdlt, Mike

RE

Les Windows sont tous les deux identiques soit en en 32 bits soit en 64 bits ?

Bonjour à tous,

Comme indiqué par @chris, Microsoft a stoppé le support de Office 2007 depuis un bon moment maintenant (2017) et il est indiqué que des plantages ou erreurs sont possibles, sans parler des vulnérabilités au niveau sécurité.

Personnellement, je vous conseillerai de prendre une clé numérique sur un site de retail (rakuten, gamers-outlet, etc.) pour office 2024 (ou 2021). Vous en aurez pour 5-10 € et vous aurez une version à jour.

Notez juste : ces clés fonctionnent bien, la limite est qu'elles ne sont utilisables qu'une fois (pas de réinstallation).


@chris, windows 11 n'est dispo qu'en 64 bits il me semble.

Merci à tous deux

Oui c'est du Windows 64 dans les deux cas

Je ne suis pas familier avec ces clés numériques. Sur le site de Rakuten, je lis : "Clé de produit officielle Office 2024 Pro Plus | Activation par internet simple et rapide | " au prix de 10€ !! Comment cela marche ? On télécharge l'appli à partir du site de Rakuten et on l'active avec la clé ? Quelle est la différence avec ce qu'on trouve chez d'autres vendeurs (par exemple, il me semble que Boulanger vend une licence perpétuelle au prix de 140€). Microsoft ne peux pas s'opposer à ce genre de pratiques ?

Autre point : effectivement il y a l'air d'y avoir des incompatibilités entre Win11 et Office 2007

Cdlt, Mike

Je ne suis pas familier avec ces clés numériques. Sur le site de Rakuten, je lis : "Clé de produit officielle Office 2024 Pro Plus | Activation par internet simple et rapide | " au prix de 10€ !! Comment cela marche ? On télécharge l'appli à partir du site de Rakuten et on l'active avec la clé ? Quelle est la différence avec ce qu'on trouve chez d'autres vendeurs (par exemple, il me semble que Boulanger vend une licence perpétuelle au prix de 140€). Microsoft ne peux pas s'opposer à ce genre de pratiques ?

Autre point : effectivement il y a l'air d'y avoir des incompatibilités entre Win11 et Office 2007

Cdlt, Mike

Re,

Je vous ai déjà indiqué la différence :

Notez juste : ces clés fonctionnent bien, la limite est qu'elles ne sont utilisables qu'une fois (pas de réinstallation).

En d'autres termes c'est une clé non perpétuelle (usage unique, à racheter si changement de PC/réinstallation Windows).

Pour l'activation, après l'achat un PDF de guidage étapes par étapes vous est fourni. Si je me rappelle bien vous recevrez une clé d'activation, et le PDF vous indique à quel moment de l'installation d'Office l'insérer.

RE

Oui Win 11 c'est seulement 64 bits.

Des clés il y en a aussi sur Cdiscount parfois à 2 ou 3 €

Pour des ordis de test j'en ai acheté plusieurs fois. Certaines ont tourné des années, d'autres quelques mois (plus rares) mais à ce prix le risque reste limité...

Merci de vos réponses
Je ne voudrais pas abuser mais que savez vous sur la compatibilité des VBA dans les diverses versions d'Office. J'espère que la compatibilité descendante est assurée. De mémoire mais cela fait longtemps quand j'étais passé à Excel 2007, j'avais du adapter quelques lignes de programme.

Mike

RE

Certains objets n'existaient pas donc si tu les manipules, le code ne marchera pas sur une version très ancienne.
La 1ère bascule est 2010. Beaucoup d'améliorations datent de cette version : gestion des tableaux structurés, évolution des TCD, apparition des segments, PowerQuery...

Cela a recommencé à bouger avec 365 : fonctions dynamiques notamment.

La compatibilité est toujours ascendante, mais si on se limite à ce qui ne fait pas partie des ajouts, ça tourne.

merci Chris

Bonjour

Est ce que je rêve !!!! Ce matin je me suis connecté au forum et j'ai vu un message très complet d'un contributeur qui m'expliquait les modifs de code qu'il fallait faire pour la compatibilité Win11, des précautions tels que if c≥987654321 then ... ; passer c en currency etc.

Je ne retrouve pas ce message qui m'aurait été très utile ! A t il été supprimé ?

J'espère que le sympathique contributeur se reconnaitra et le remettra en ligne

Cdlt Mike

Bonjour Mike,

Il s'agissait d'un rigolo qui copiait/collait les questions du forum dans ChatGPT (ou autre IA) et recopiait ici la réponse obtenue "telle quelle". Ses contributions, souvent non pertinentes, ont été supprimées par la modération.

Je vous invite à rechercher les différences apportées au VBA entre les systèmes 32 bits (anciens) et 64 bits (récents). Par exemple 32-bit vs. 64-bit VBA: Deep Dive, vous y retrouverez les conseils que vous avez pu lire hier.

Mais bon, un point qui n'avait pas été évoqué par l'IA est que ces changements sont assez "marginaux", 99% des macros VBA usuelles dans Excel fonctionneront aussi bien en 32 bits qu'en 64 bits.

Si jamais, n'hésitez pas à poster votre fichier avec le code en question.


Rappel : le conseil initial que nous vous avons donné avec @chris reste valide, vous devriez avant tout mettre à jour Office vers une version plus récente. Car le problème est sans doute dans Office plutôt que dans le code VBA.

merci de cette réponse et aussi merci de veiller au sérieux du forum

Mike

Un autre point. Au sujet d'un tout autre problème (avec Thunderbird qui n'enregistrait pas bien les pièces jointes), j'ai lu qu'avec Windows 11, il fallait "exécuter en tant qu'administrateur" les fichiers d'installation des applications (et non cliquer tout simplement sur l’exécutable pour l'ouvrir) ce que je n'ai pas fait avec Office 2007. Pensez vous que mon problème puisse venir de là ? J'en doute mais cela ne me coute rien d'essayer.

Mike

Encore un commentaire : plus haut dans la discussion, quelqu'un m'avait demandé si Office 2007 était installé en 32 ou 64 bits. Comme j'installe toutes mes applications en 64 bits, j’avais répondu rapidement 64. Or en regardant dans le gestionnaire de tâches, Office 2007 est installé en 32 bits. Je ne me souviens plus si au moment de l'installation on m'avait donné le choix.

Mike

Encore un commentaire : plus haut dans la discussion, quelqu'un m'avait demandé si Office 2007 était installé en 32 ou 64 bits. Comme j'installe toutes mes applications en 64 bits, j’avais répondu rapidement 64. Or en regardant dans le gestionnaire de tâches, Office 2007 est installé en 32 bits. Je ne me souviens plus si au moment de l'installation on m'avait donné le choix.

Mike

Office 2007 n'est dispo qu'en 32 bits, Windows 11 qu'en 64 bits. C'est ce que disais @chris => incompatibilité qui engendre des effets aléatoires imprévisibles.

Rechercher des sujets similaires à "programme vba execute differemment deux ordis separes"