Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Insertion automatique d'une forme dans un classeur

5 réponses
Avatar
Bret
Bonjour à tous,
Je vous expose mon problème :
J'ai développé un formaire que j'ai exporté dans un fichier .frm
J'ai une centaine de classeurs Excel dans laquelle je dois insérer ce
formulaire.
Je souhaite automatiser cette insertion dans une macro ; du style :
Lister tous les fichiers d'un répertoire (ça je sais faire)
Pour chaque fichier :
Ouverture du fichier (je sais aussi)
Copie du fichier .frm dans le fichier -> et ça je sais pas
Ajouter dans l'auto open du classeur -> userform.show (si possible)
enregistrer le classeur (ça je sais)
je bloque vraiment sur la copie de la forme
merci

5 réponses

Avatar
lSteph
Bonjour,
Exemple:
ActiveWorkbook.VBProject.VBComponents.Import ("C:program filesMicrosoft
OfficeOFFICE11UFsteph.frm")

lSteph

"Bret" a écrit dans le message de news:

Bonjour à tous,
Je vous expose mon problème :
J'ai développé un formaire que j'ai exporté dans un fichier .frm
J'ai une centaine de classeurs Excel dans laquelle je dois insérer ce
formulaire.
Je souhaite automatiser cette insertion dans une macro ; du style :
Lister tous les fichiers d'un répertoire (ça je sais faire)
Pour chaque fichier :
Ouverture du fichier (je sais aussi)
Copie du fichier .frm dans le fichier -> et ça je sais pas
Ajouter dans l'auto open du classeur -> userform.show (si possible)
enregistrer le classeur (ça je sais)
je bloque vraiment sur la copie de la forme
merci





Avatar
lSteph
...En complément pour lancer au démarrage plutôt que auto open
Utilises le module de Thisworkbook
Dans le déroulant gauche Workbook
maintenant dans le déroulant droit s'affiche Open
ainsi que les autres events de niveau classeur
et dans la fenêtre de module il t'est proposé de coder exemple:

Private Sub Workbook_Open()
UFsteph.show
End Sub

"Bret" a écrit dans le message de news:

Bonjour à tous,
Je vous expose mon problème :
J'ai développé un formaire que j'ai exporté dans un fichier .frm
J'ai une centaine de classeurs Excel dans laquelle je dois insérer ce
formulaire.
Je souhaite automatiser cette insertion dans une macro ; du style :
Lister tous les fichiers d'un répertoire (ça je sais faire)
Pour chaque fichier :
Ouverture du fichier (je sais aussi)
Copie du fichier .frm dans le fichier -> et ça je sais pas
Ajouter dans l'auto open du classeur -> userform.show (si possible)
enregistrer le classeur (ça je sais)
je bloque vraiment sur la copie de la forme
merci





Avatar
Bret
Génial pour l'insertion de la forme !
Pour le workbook.open c'est la méthode que j'utilise, Y a t il un moyen pour
inclure cette saisie dans la macro ?

Sinon encore merci pour la solution.


....En complément pour lancer au démarrage plutôt que auto open
Utilises le module de Thisworkbook
Dans le déroulant gauche Workbook
maintenant dans le déroulant droit s'affiche Open
ainsi que les autres events de niveau classeur
et dans la fenêtre de module il t'est proposé de coder exemple:

Private Sub Workbook_Open()
UFsteph.show
End Sub

"Bret" a écrit dans le message de news:

Bonjour à tous,
Je vous expose mon problème :
J'ai développé un formaire que j'ai exporté dans un fichier .frm
J'ai une centaine de classeurs Excel dans laquelle je dois insérer ce
formulaire.
Je souhaite automatiser cette insertion dans une macro ; du style :
Lister tous les fichiers d'un répertoire (ça je sais faire)
Pour chaque fichier :
Ouverture du fichier (je sais aussi)
Copie du fichier .frm dans le fichier -> et ça je sais pas
Ajouter dans l'auto open du classeur -> userform.show (si possible)
enregistrer le classeur (ça je sais)
je bloque vraiment sur la copie de la forme
merci










Avatar
lSteph
Sub importUF()
With ActiveWorkbook.VBProject
.VBComponents.Import ("C:program filesMicrosoft
OfficeOFFICE11UFsteph.frm")
.VBComponents("Thisworkbook").CodeModule.InsertLines 1, _
"Private Sub Workbook_Open()" & vbCrLf & "UFsteph.Show" & vbCrLf & "end sub"
End With
End Sub

'lSteph

"Bret" a écrit dans le message de news:

Génial pour l'insertion de la forme !
Pour le workbook.open c'est la méthode que j'utilise, Y a t il un moyen
pour
inclure cette saisie dans la macro ?

Sinon encore merci pour la solution.


....En complément pour lancer au démarrage plutôt que auto open
Utilises le module de Thisworkbook
Dans le déroulant gauche Workbook
maintenant dans le déroulant droit s'affiche Open
ainsi que les autres events de niveau classeur
et dans la fenêtre de module il t'est proposé de coder exemple:

Private Sub Workbook_Open()
UFsteph.show
End Sub

"Bret" a écrit dans le message de news:

Bonjour à tous,
Je vous expose mon problème :
J'ai développé un formaire que j'ai exporté dans un fichier .frm
J'ai une centaine de classeurs Excel dans laquelle je dois insérer ce
formulaire.
Je souhaite automatiser cette insertion dans une macro ; du style :
Lister tous les fichiers d'un répertoire (ça je sais faire)
Pour chaque fichier :
Ouverture du fichier (je sais aussi)
Copie du fichier .frm dans le fichier -> et ça je sais pas
Ajouter dans l'auto open du classeur -> userform.show (si possible)
enregistrer le classeur (ça je sais)
je bloque vraiment sur la copie de la forme
merci












Avatar
Bret
C'est complet, C'est parfait !
Merci et.... respect et toute ma gratitude.


....En complément pour lancer au démarrage plutôt que auto open
Utilises le module de Thisworkbook
Dans le déroulant gauche Workbook
maintenant dans le déroulant droit s'affiche Open
ainsi que les autres events de niveau classeur
et dans la fenêtre de module il t'est proposé de coder exemple:

Private Sub Workbook_Open()
UFsteph.show
End Sub

"Bret" a écrit dans le message de news:

Bonjour à tous,
Je vous expose mon problème :
J'ai développé un formaire que j'ai exporté dans un fichier .frm
J'ai une centaine de classeurs Excel dans laquelle je dois insérer ce
formulaire.
Je souhaite automatiser cette insertion dans une macro ; du style :
Lister tous les fichiers d'un répertoire (ça je sais faire)
Pour chaque fichier :
Ouverture du fichier (je sais aussi)
Copie du fichier .frm dans le fichier -> et ça je sais pas
Ajouter dans l'auto open du classeur -> userform.show (si possible)
enregistrer le classeur (ça je sais)
je bloque vraiment sur la copie de la forme
merci