IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macros qui fonctionnemnt sur un poste mais pas sur un autre


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Macros qui fonctionnemnt sur un poste mais pas sur un autre
    Bonjour,

    En général, je trouve les réponses à mes questions sans avoir à écrire (c'est mieux pour ne pas encombrer les forums), mais là, çà fait plus d'un mois que je n'ai pas trouvé la solution.

    Pour cette raison, je me rattache à la discussion qui me semble la plus proche de mes préoccupations.

    J'ai (comme mes collègues) subi la mise à jour désastreuse OFFICE 2007 (sous win7) de Krosoft de décembre 2014, et j'ai bien sur appliqué le fix, qui a parfaitement fonctionné sur mon poste, mais, depuis, les macros que je développent ne fonctionnent plus sur les postes de mes collègues. Nous sommes donc passé par plusieurs contrôles :
    - passage du fix sur tous les postes
    - vérification de la liste des mises à jour KBxxxxxx installées
    .... rien n'a résolu le problème
    Des investigations plus profondes montrent que (en traitant le fichier xlsm comme un zip) dans les fichiers contenant des macros, a fichier équivalent, le composant VBAproject.bin est différent.

    Si je crée un fichier avec macro sur le poste d'un collègue, il fonctionne. Si je l'ouvre sur mon poste et que le le sauve sans rien faire, il fonctionne toujours chez moi mais plus chez lui !!!

    Je joint les 2 versions de ces fichiers celle qui marche partout et celle qui ne marche que chez moi.

    Si quelqu'un a une solution, il me rendra un service bien plus grand que le technet de krosoft.

    PYDou
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    salut, as-tu supprimé ces fameux fichiers *.exd ? un utilitaire qui le fait : Suppression fichiers *.exd

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Fichiers EXD
    Citation Envoyé par kiki29 Voir le message
    salut, as-tu supprimer ces fameux fichiers *.exd ? un utilitaire qui le fait : Suppression fichiers *.exd
    Bien sur, c'est la première chose que j'ai faite le jour ou mes macros ont cessé de fonctionner, même chez moi !!!
    Tout ce qui concerne le bug lié à la mise à jour office a été traité comme il faut et selon les conseils récltés tant sur le technet qu'ailleurs..

    PYDou

  4. #4
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Re, déjà en Avril 2012 aussi une personne croyait avoir tout fait et avait oublié de supprimer certains *.exd, en oubliant de traiter un dossier .....

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Fichiers EXD
    Citation Envoyé par kiki29 Voir le message
    Re, déjà en Avril 2012 aussi une personne croyait avoir tout fait et avait oublié de supprimer certains *.exd, en oubliant de traiter un dossier .....
    Les commandes suivantes (issues de nombreux forums y compris celui de Krosoft) ont été passées après la mise à jour sur l'ensemble des postes concernés :

    del %temp%\vbe\*.exd
    del %temp%\excel8.0\*.exd
    del %appdata%\microsoft\forms\*.exd
    del %appdata%\microsoft\local\*.exd
    del %temp%\word8.0\*.exd
    del %temp%\PPT11.0\*.exd

    PYDou

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Si le problème est dû à des contrôles ActiveX, le plus simple serait peut-être de changer de type de contrôle ?
    Même si tu fixes le problème, tant que M$ n'aura pas fixé de son côté, le problème sera récurrent à chaque mise à jour...

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    J'y ai naturellement pensé, mais si je donne un exemple avec presque rien dedans pour identifier avec précision le problème,
    le fichier qui me pose problème et que je distribue à une vingtaine de consultants contient 25 onglets et 10000 lignes de VBA, avec des boutons que l'on doit contrôler (masquage, contenu, couleur), et il n'y a que sur les boutons ActiveX que je peux manipuler correctement ces propriétés. les objets de contrôle de formulaires sont moins riches en propriétés et méthodes VBA.

    Je cherche donc juste à savoir pourquoi quand j'ouvre un fichier sur ma machine, et que je le sauve, l'objet VBAproject.bin du container est modifié, ce qui rend le fichier inutilisable ailleurs. Je dois avoir une différence je ne sais ou ( ActiveX, COM ou autre) et c'est pour çà que je m'adresse à des experts qui seraient capable de me dire le pourquoi du comment de cette différence de VBAProject.bin dès que je sauve un fichier contenant des macros sur mon poste.

    A en croire les forums internationaux, je ne suis pas le seul dans cette situation, et avec sa mise à jour qui reproduit pour la 5eme fois le même problème en 5 ans, Microsoft a planté des millions de clients. Pour ma part, c'est la première fois que j'y suis confronté, mais quelle galère !!!

    PYDou

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Points : 377
    Points
    377
    Par défaut
    Bonsoir tous,

    Le problème réside dans le fait d'insérer des Controls ActiveX directement sur une feuille, mais non dans un Formulaire.

    Une idée, peut-être, serait de regrouper ces différents Controls situés sur un même onglet dans un Formulaire. Ce dernier, non-modal, s'ouvrirait automatiquement avec la Sub Activate de l'onglet correspondant et se fermerait avec la Sub Deactivate.
    Cela permettrait de conserver les propriétés de ces Controls.

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Tes 2 exemples fonctionnent bien chez moi.
    Et après la mise à jour de Microsoft, comme je ne pouvais pas insérer de contrôle ActiveX, j'ai TOUT effacé des fichiers temporaires, pas seulement les exd.

    Pour ce qui est des propriétés des boutons, tu pourrais aussi réussir à le faire avec de simple Forms (Shapes), il me semble.
    Les propriétés ne sont pas aussi simples à gérer, mais tu peux faire à peu près tout ce que les ActiveX permettent en passant par VBA.

    Et comme le mentionne HopPopPop, l'utilisation d'un Userform pourrait aussi être une alternative.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Userforms
    Dans l'application, il y a déjà une quarantaine de userforms (assistants ou autre listes de choix complexes et/ou filtrées) ... mais je les ai placés dans un fichier à part (xlsa) chargé au lancement de l'application, qui contient aussi toutes les procédures et fonctions. Le fichier qui contient les données ne fait que des appels aux procédures du xlsa par des run("procedure") ... ce qui permet de corriger les bugs VBA sans avoir à toucher au contenu des données:-):-):-)

    Mais le problème ne vient pas de là... Il est important pour moi de pouvoir distribuer des mises à jour de ce tableau Excel, et depuis fin décembre, je ne peux plus... Sauf à utiliser la méthode complexe suivante :
    • enregistrer le fichier sans macros (xlsx) sur un poste autre que le mien
    • le réenregistrer avec macros (xlsm) sur ce poste autre
    • réintégrer les macros liées à chaque onglet dans ce xlsm
    • ... et surtout ... ne pas l'ouvrir sur mon poste après cette opération ... ce qui m'interdit d'intervenir sur des fichiers à la demande des collègues qui l'utilisent :-(:-(:-(

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    J'ai l'impression que ton problème ne provient pas de la mise à jour de Microsoft qui empêche d'insérer des contrôles ActiveX sur une feuille, mais plutôt des versions de contrôles différentes sur chaque poste. Est-ce possible ?

    Il faudrait voir quels contrôles tu utilises autre que ceux d'Excel (MS Forms 2.0). Utilises-tu le Date and Time Picker ou MonthView ? Listview ? Autre ?

Discussions similaires

  1. [XL-2007] Macro fonctionne sur mon poste mais pas chez les autres
    Par Rosees dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/10/2013, 17h01
  2. [XL-2007] Macro qui fonctionne sur un poste mais pas sur un autre
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/06/2012, 10h24
  3. Réponses: 0
    Dernier message: 24/06/2010, 15h10
  4. Code qui marche sur un poste mais pas sur un autre
    Par TOSCAN dans le forum Langage
    Réponses: 5
    Dernier message: 11/06/2008, 21h09
  5. Erreur sur un poste mais pas sur un autre
    Par hawk² dans le forum Framework .NET
    Réponses: 10
    Dernier message: 27/08/2007, 09h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo