Besoin d'aide pour écrire code VBA Excel

  • Initiateur de la discussion Initiateur de la discussion zangel
  • 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 !

Z

zangel

Guest
Bonjour

J'ai besoin de votre aide pour écrire le code VBA de ma macro.

1-Je veux ouvrir le fichier macros.xla de façon cachée à partir du fichier formulaire.xls.

J'ai insérer la macro suivante dans formulaire.xls.
Sub Workbook_Open()
Dim nomfichier As String
'ouvrir le fichier macros.xla
nomfichier = 'c:\\Excel\\macros.xla'
Workbooks.Open nomfichier
End Sub


Ça fonctionne sauf que je vois le fichier macros.xla. Est-ce qu'il y a moyen de le rendre invisble? Si oui commnent?

2- Quel est le code VBA que je dois associer à un bouton du fichier formulaire.xls pour appeler une macro qui se trouve dans macros.xla? Quel code dois-je mettre dans une macro de formulaire.xls pour appeler une macro de macros.xla?

En vous remerciant à l'avance de votre aide

Zangel
 
1. Après avoir créé un fichier .xla contenant l’action en VBA du bouton ou d’un autre contrôle, il faut mettre le fichier .xla dans le dossier « XLSTART » (C:\\Program Files\\Microsoft Office\\OFFICE11\\XLSTART pour la version 2003). Pas besoin d’incorporer une macro qui ouvre le fichier, il s’ouvrira et ne sera visible que dans VBA.
2. Dans le fichier .xls, pour un bouton, il faut afficher la barre d’outils « Formulaires » et non « Boîte à outils Contrôles ».
3. Lorsque le bouton est créé, la boîte de dialogue « Affecter une macro » s’ouvre automatiquement. Aucune macros du fichier .xla n’est listées, mais il suffit de taper le nom de la macro dans la partie « Nom de la macro : » (Attention !!! Uniquement le nom de la macro et pas « NomFichier!NomMacro ») et de cliquer « OK ».

Et voilà !
 
Je ne peux pas mettre le fichier macros.xla dans XLSTART. Je dois laisser les deux fichiers sur le serveur commun afin que tous mes collègues puissent y accéder.

Donc je reviens avec ma question, est-ce qu'il y a moyen de le rendre invisble? Car si mes collègues le voient, ils vont le fermer et je ne veux pas car s'ils le ferment, les macros ne fonctionneront pas.

Pour l'histoire du bouton, je dois utiliser celui de la Boîte à outils Contrôles. Comment je fais pour appeler la macro de macros.xla?

merci
 
Quand on utilise un bouton de la barre d’outils « Boîte à outils Contrôles », il est inutile d’avoir un fichier .xla. En effet, ce type de bouton (CommandButton) possède sont propre module de classe.

Lorsque le bouton est créé, il est automatiquement sélectionné. Si ce n’est pas le cas, il faut cliquer sur le bouton de la barre d’outils représentant une latte et un crayon (Mode création). Ensuite avec le bouton droit de la souris sur le CommandButton, choisir dans le menu contextuel « Visualiser le code » et taper le code de l’action de ce bouton dans ce module. Le nom de la macro sera « Private Sub CommandButton1_Click() ».

Pour masquer les codes VBA, il suffit de bloquer l’affichage par mot de passe dans VBA. Le module ne sera pas apparent.

Pour mettre un mot de passe

1. Dans VBA, clique avec le bouton droit sur « VBAProject (NomClasseur) dans le volet VBAProject. Si ce volet n’est pas affiché, alors aller dans le menu « Affichage », puis « Explorateur de projet ». Dans le menu contextuel, choisir « Propriétés de VBAProject … ».
2. Prendre l’onglet protection et cocher la case « Verrouiller le projet pour l’affichage », puis entrer le mot de passe, le confirmer et puis « OK ».
3. Enregistre le fichier. Le mot de passe ne sera actif qu’après avoir fermé complètement le fichier.

Voilà ! Je ne vois pas d’autres solutions.
 
Merci pour ton aide.

Je dois mettre un bouton de la barre d'outils, car avant d'appeler le macros de l'autre fichier, il y a des actions à exécuter dans le fichier en cours.

Merci encore pour ton aide.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
32
Affichages
1 K
  • Question Question
Réponses
7
Affichages
343
Réponses
5
Affichages
431
Réponses
4
Affichages
521
Réponses
6
Affichages
638
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
1 K
Réponses
2
Affichages
770
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
Retour