Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA - OLEObjects.add fait perdre les valeurs des variables globales de tous les Modules

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,

J'avais déjà remarqué ce phénomène étrange et excessivement gênant lorsqu'on veut partager des variables entres plusieurs fonctions.
Si on déclare et valorise des variables au niveau d'un ou plusieurs Modules et que dans un des Modules on créé une ComboBox de feuille Active X, toutes ces valeurs sont perdues !

La création de la ComboBox dézingue toutes les variables Modules de TOUS les Modules !

Je cherche un contournement de ce problème car même si on peut s'en sortir avec un Application.OnTime Now après la création de la ComboBox, cette solution ne permet pas de passer des paramètres reçus qui sont précisément les valeurs à placer en variables Module. Et puis de toutes façons, comme tous les Modules sont affectés, c'est irrattrapable !
 

Pièces jointes

Bonjour @job75,
Je suis sur 2010 sur mon Laptop mais il me semble que c'était pareil avec 2016 que j'avais sur mon Desktop carte mère HS en cours de remplacement.
Content de voir que ça fonctionne en 2019. Parce que c'est un sacré gros gros bug !
 
Bonjour @patricktoulon, @ChTi160,
chez moi 2013 c'est nickel
je voyais pas la raison de tout façon
Ok, donc ce serait que 2010 ? Je vais acheter une licence 2016 pour mon Windows 8.1.
Y pas de raison. C'est une grosse anomalie.
Ça se passe sur le End Sub (ou End Function) Avant c'est encore bon.
Je suppose que c'est l'effacement des éléments de contexte de la fonction qui embarque ces variables quand il y a eu un OLEObjects.Add. que ce soit pour une ComboBox ou ListBox ou autre.
Pourquoi ne pas déclarer les variables dans un module en public
Elles sont dans des modules en Public.
 
Dernière édition:
re
non je pense que soit la variable est modifiée dans la fonction
soit alors si ça se produit au end (sub/function) c'est qu'il s'en sert en argument
ou alors il y a un gros bug et là ça peut être n'importe quoi la raison
je ne pense pas que cela soit un bug 2010 a proprement parler

 
Ah ben je suis content que tu aies suivi le protocole indiqué 😉.
Et aussi que tu l'aies reproduit. Je me sens moins seul.

Par contre pour trouver un "workaround", j'ai essayé des trucs (mise en classe etc...) mais rien ne fonctionne.
 
re
tu peux te venter d'avoir soulever un lievre
sur le net on ne trouve rien sur cette erreur
woawh!!! c'est costaud !!!!
pour info chez moi sur 2007 2013 2016 bonnet blanc blanc bonnet

il me reste un seul test a faire sur 2013 et 2016 je reviens tout a l'heure
 

Il va se faire souffler dans les bronches
Sur 365, les variables conservent leurs valeurs.
En effet, si le 2019 de @job75 l'a corrigé, 365 doit avoir aussi le fix.
Par contre je suis étonné que le fix n'ait pas été propagé dans les updates de Windows pour les versions antérieures.

Le problème reste quand même entier pour quelqu'un qui reçoit un code d'un 2019/365 et le tourne sous 2016. Et le 2019/365 ne comprendras pas pourquoi ça ne fonctionne pas.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…