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

Contrôle du userform d'un autre fichier depuis une macro

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

T

toine59

Guest
Bonjour à tous,

Je cherche à contrôler depuis un fichier central le userform (identique et avec le même nom) de 10 fichiers.

Dans chaque fichier, le userform apparait à l'ouverture du fichier et je souhaite que sa valeur .mois.Value soit celle définie dans le userform de mon fichier central .booklet.Value

J'ai fait de nombreuses tentatives mais aucune n'est fructueuse... voici la partie de mon code concerné :



Merci à tous 🙂
 
Re : Contrôle du userform d'un autre fichier depuis une macro

Bonjour.
Même si je ne dis pas cela impoosible, je ne m'amuserais pas à essayer d'accéder à un userform défini dans un autre projet VBA.
Passez par une cellule du fichier central contenant ce fameux mois
Si impossible, un nom du fichier central, ayant pour référence non pas une adresse de cellule mais ce fameux mois.
Une autre possibilité qui aurait ma préférence, si c'est possible, que toutes la programmation soit dans le fichier central, avec un Run d'une de ses macros dans le Thisworbook.Open de chacun des 10.
À+
 
Re : Contrôle du userform d'un autre fichier depuis une macro

Une autre possibilité qui aurait ma préférence, si c'est possible, que toutes la programmation soit dans le fichier central, avec un Run d'une de ses macros dans le Thisworbook.Open de chacun des 10.

Je ne comprends pas cette manipulation. Peux-tu m'expliquer ?
 
Re : Contrôle du userform d'un autre fichier depuis une macro

Bonjour Toinet, bonjour le forum,

Difficile de t'aider avec juste ce bout de code...
Je ne crois pas que l'on puisse modifier comme ça une UserForm d'un autre classeur sans passer par VBAProject.
En plus, je ne comprends pas que .booklet.Value soit pointé et fasse référence à l'UserForm : Workbooks(Tablo(i, 2) & ".xltm").UserForm1 alors que tu dis qu'il vient de l'UserForm de ton fichier central...

[Édition]
Bonjour Bernard on s'est croisé...
 
Re : Contrôle du userform d'un autre fichier depuis une macro

Bonjour Robert,

Voici exactement le scénario que je souhaite :

Ouverture du fichier central
Apparition du Userform avec liste de valeurs . booklet.Value
Sélection d'une valeur

Puis...

Pour chacun des 10 fichiers :

Ouverture du fichier
Affichage du userForm 1 avec liste de valeur .mois.Value
Définition automatique de .mois.Value = .booklet.Value
Fermeture du userform ( la macro associée se lance)
Impression du document ( macro gérée 🙂 )
Fermeture du document
Passage au document suivant...
 
Re : Contrôle du userform d'un autre fichier depuis une macro

Bonjour Toine, Bernard, bonjour le forum,

Il ne faudrait pas que l'UserForm s'affiche à l'ouverture du fichier. Il faudrait d'abord ouvrir le fichier, puis modifier le code d'initialisation de l'UserForm pour y placer la valeur récupérée puis afficher cette UserForm... Mais je suis désolé je ne sais pas faire ça...
 
Re : Contrôle du userform d'un autre fichier depuis une macro

Bonjour le fil, bonjour le forum,

Peut-être, comme ça :
Dans chaque fichier tu rajoutes une macro (Macro1) dans un module (Module1) qui ouvre l'Userform (UserForm1.Show). Plus d'affichage de l'Userform à l'ouverture du fichier.
Tu stockes la valeur du mois dans une variable. Tu ouvres le fichier. Tu places la variable dans une cellule du fichier ouvert.
Tu modifies le code d'initialisation de l'UserForm pour qu'il récupére la valeur de la cellule.
Tu lances la macro1 du module 1 du fichier ouvert... (comment ? ça je sais pas comment).
 
Re : Contrôle du userform d'un autre fichier depuis une macro

Merci beaucoup de votre aide à tous les 2... malheureusement mon niveau VBA ne me permet pas de tout comprendre et de savoir comment mettre en place ce que vous m'expliquez 🙁
 
Re : Contrôle du userform d'un autre fichier depuis une macro

Bonsoir.
Donc, l'idée:
Le moins de programmation possible dans les 10 classeurs: juste dans leurs modules ThisWorkbook:
VB:
Private Sub Workbook_Open()
Application.Run "ClassCentral.xls!Ouverture", Me.Name
End Sub
et dans un module ordinaire, cette fois, du ClassCentral.xls une procédure qui commence comme ça:
VB:
Sub Ouverture(NomClass As String)
Dim Class As Workbook
Set Class = Workbooks(NomClass)
Comme ça, pas besoin d'un userform dans chacun, un seul qui est dans le classeur central et que vous affichez dans cette procédure.
À+
 
- 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

F
Réponses
5
Affichages
3 K
fleet21
F
L
Réponses
14
Affichages
2 K
L
M
Réponses
0
Affichages
1 K
M
J
Réponses
2
Affichages
800
Jonathan1986
J
N
  • Question Question
Réponses
5
Affichages
3 K
3
Réponses
0
Affichages
2 K
31toto
3
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…