Macro complementaires et MacroOptions

stonech

XLDnaute Nouveau
Bonjour à tous et merci d'avance pour votre aide,

j ai créé un fichier .Xlsm avec pour décrire des fonctions et les paramètres .

Y a 2 onglets sur le fichier :
onglet 1 : sub auto_open() qui fait appel a toutes mes fonctions de description + les fonctions
onglet 2: Mes fonctions de description

Jusque la mon fichier fonctionne très bien.

L'étape suivante est que je veux qu'a chaque fois que j ouvre excel ce descriptif soit disponible. Donc j'enregistre mon fichier en xlma (macro complémentaire). Et la a chaque fois que j'ouvre le fichier macro complémentaire, ça me met le message d'erreur : "Erreur d'execution 1004 : impossible de modifier une macro dans un classeur masqué. Afficher le classeur en utilisant la fonction afficher"

Lorsque je clique sur débogage y a cette partie du code qui est en jaune :

Application.MacroOptions _
Macro:=funcName, _
Description:=funcDesc, _
category:=categorie, _
ArgumentDescriptions:=ArgDesc

(funcName, funcDesc, categorie et ArgDesc sont bien defini).

Si quelqu un sait pourquoi ça ne marche en macro complémentaire Merci d'avance pour votre aide.

Aussi si je ne clique pas sur débogage mais sur fin, mon programme fonctionne très bien mais c'est désagréable a chaque fois que j ouvre un fichier excel d avoir le message d'erreur.
 

Pièces jointes

  • erreur.jpg
    erreur.jpg
    14.7 KB · Affichages: 40
  • erreur.jpg
    erreur.jpg
    14.7 KB · Affichages: 48
  • erreur.jpg
    erreur.jpg
    14.7 KB · Affichages: 49

stonech

XLDnaute Nouveau
Re : Macro complementaires et MacroOptions

Merci pierrot donc la on a réglé le problème du message d'erreur.... seulement ça a généré un autre souci :

a chaque fonction que je fais appel à une de mes fonctions sur un fichier excel "classique" et que je ferme mon fichier excel, il me demande d'enregistrer les modifications sur mon fichier excel mais aussi sur mon fichier xlma (macro complémentaire) ce qui est pas normal.
 

stonech

XLDnaute Nouveau
Re : Macro complementaires et MacroOptions

Voila comment mon fichier est construit :

Descrition fonction1()

ThisWorkbook.IsAddin = False
'ton code
ThisWorkbook.IsAddin = True
end function

description fonction2() idem avant

et cela se répète 10 fois pour toutes mes fonctions... faut que je rajoute le .save sur toutes??? y a pas un moyen rapide ou générale de le faire???

dans mon programme j ai une fonction auto-open() c'est pas mieux de rajouter dessus les ligne de code que tu m'as donné et ca donnerai ca :

sub auto_open()
ThisWorkbook.IsAddin = False
Call description_fonction1()
....
call description_fonction10()

With ThisWorkbook
.IsAddin = True
.Saved = True
End With

Voir une autre solution s'il y a mieux

Désole pour toutes ces questions mais merci infiniment pour ton aide et ton temps
 

stonech

XLDnaute Nouveau
Re : Macro complementaires et MacroOptions

C'est bon ca marche dans ma procédure auto_open()

Merci infiniment Pierrot pour ton aide. Maintenant si je pouvais avoir un peu de théorie sur la résolution du problème original. Pourquoi avec le passage de mon fichier en xlma j ai du rajouter les ligne de code sur le isaddin??? qu'est ce qui cloche avec le Application.macroOptions pour avoir a rajouter ces lignes???

Merci :)
 

Pierrot93

XLDnaute Barbatruc
Re : Macro complementaires et MacroOptions

Re,

le "isaddin" à "false" permet d'afficher ton classeur et le considérer comme un classeur ordinaire, ce qui permet à ton code de s'exécuter normalement.... quand à ton "Application.macroOptions ", perso je sais pas trop ce qu'il fait....
 

Discussions similaires

Réponses
0
Affichages
1 K

Statistiques des forums

Discussions
311 709
Messages
2 081 779
Membres
101 816
dernier inscrit
Jfrcs