OVH Cloud OVH Cloud

copie d'un userform dans un nouveau classeur

4 réponses
Avatar
Jackadit
Bonjour,

est-il possible de copier un userform dans un nouveau classeur de façon
programmée ?
Par exemple, j'ai un classeur avec un userform pour entrer des données à
l'ouverture. Une fois celui-ci rempli, on enregistre le tout vers un nouveau
classeur en cliquant sur un bouton prévu à cet effet dans le userform.
Mais voilà le userform n'existe pas dans le nouveau classeur et donc
impossiblité de réouvrir ce userform pour modifier des données.

Y a t'il une solution à ce problème (pour moi ;-) ) ?

Merci de vos réponses pour éclairer ma lanterne qui ne brille pas de mille
feux en ce moment :-(

4 réponses

Avatar
LeSteph
Bonjour Jackadit.,
Une solution parmi d'autres:
Enregistrer un classeur contenant le UF ,
ses données liées (feuilles listes ou autre datas) et son code
en tant que Modèle (format xlt)
et dans la macro l'appeler
Workbooks.Add ("c:monrepmonmodel.xlt")
lSteph

"Jackadit" a écrit dans le message de news:
cneehd$1ga4$
Bonjour,

est-il possible de copier un userform dans un nouveau classeur de façon
programmée ?
Par exemple, j'ai un classeur avec un userform pour entrer des données à
l'ouverture. Une fois celui-ci rempli, on enregistre le tout vers un
nouveau classeur en cliquant sur un bouton prévu à cet effet dans le
userform.
Mais voilà le userform n'existe pas dans le nouveau classeur et donc
impossiblité de réouvrir ce userform pour modifier des données.

Y a t'il une solution à ce problème (pour moi ;-) ) ?

Merci de vos réponses pour éclairer ma lanterne qui ne brille pas de mille
feux en ce moment :-(




Avatar
michdenis
Bonjour Jackadit,

En prenant soin d'identifier correctement les objets selon ton application.
Lors de l'importation, tu dois t'assurer que le classeur devant recevoir le formulaire ne possède pas déjà un formulaire
du nom du formulaire que tu tentes d'importer ... sinon, il ne va pas apprécier !

'------------------------------------
Sub Exporter_Importer_Formulaire()

Dim Chemin As String
Dim Fichier As String

'**Endroit où se stocké le fichier***
Chemin = "c:" ' à déterminer
Fichier = "Form.frm"
'*************************************

'******Exportation du formulaire*******
'Userform1 = Nom du formualire à exporter
With ThisWorkbook
With .VBProject.VBComponents("Userform1")
.Export Chemin & Fichier
End With
End With
'**************************************

'******Importation du formulaire dans
'le nouveau classeur*******************
With Workbooks("NomClasseur.xls")
With .VBProject.VBComponents
.Import Chemin & Fichier
End With
End With
'***************************************

'***Suppression du fichier temporaire***
Kill Chemin & Fichier
'***************************************

End Sub
'------------------------------------



Salutations!



"Jackadit" a écrit dans le message de news: cneehd$1ga4$
Bonjour,

est-il possible de copier un userform dans un nouveau classeur de façon
programmée ?
Par exemple, j'ai un classeur avec un userform pour entrer des données à
l'ouverture. Une fois celui-ci rempli, on enregistre le tout vers un nouveau
classeur en cliquant sur un bouton prévu à cet effet dans le userform.
Mais voilà le userform n'existe pas dans le nouveau classeur et donc
impossiblité de réouvrir ce userform pour modifier des données.

Y a t'il une solution à ce problème (pour moi ;-) ) ?

Merci de vos réponses pour éclairer ma lanterne qui ne brille pas de mille
feux en ce moment :-(
Avatar
Jackadit
Merci pour vos réponses,

Je teste et il me reste un souci. Le nouveau classeur est créé avec la
fonction Move.... à partir du déplacement d'une feuille créée vers un
nouveau classeur.
Peut-on lui donner un nom à ce classeur ? car cette opération va se
reproduire plusieurs fois dans son utilisation normale et donc j'ai
classeur1... classeur2... etc

Comment contourner ce problème ?



"Jackadit" a écrit dans le message de news:
cneehd$1ga4$
Bonjour,

est-il possible de copier un userform dans un nouveau classeur de façon
programmée ?
Par exemple, j'ai un classeur avec un userform pour entrer des données à
l'ouverture. Une fois celui-ci rempli, on enregistre le tout vers un
nouveau classeur en cliquant sur un bouton prévu à cet effet dans le
userform.
Mais voilà le userform n'existe pas dans le nouveau classeur et donc
impossiblité de réouvrir ce userform pour modifier des données.

Y a t'il une solution à ce problème (pour moi ;-) ) ?

Merci de vos réponses pour éclairer ma lanterne qui ne brille pas de mille
feux en ce moment :-(




Avatar
bartez
activeworkbook.name=("nomdemonnouveauclasseur")
philippe

"Jackadit" a écrit dans le message de news:
cngoji$2oga$
Merci pour vos réponses,

Je teste et il me reste un souci. Le nouveau classeur est créé avec la
fonction Move.... à partir du déplacement d'une feuille créée vers un
nouveau classeur.
Peut-on lui donner un nom à ce classeur ? car cette opération va se
reproduire plusieurs fois dans son utilisation normale et donc j'ai
classeur1... classeur2... etc

Comment contourner ce problème ?



"Jackadit" a écrit dans le message de news:
cneehd$1ga4$
Bonjour,

est-il possible de copier un userform dans un nouveau classeur de façon
programmée ?
Par exemple, j'ai un classeur avec un userform pour entrer des données à
l'ouverture. Une fois celui-ci rempli, on enregistre le tout vers un
nouveau classeur en cliquant sur un bouton prévu à cet effet dans le
userform.
Mais voilà le userform n'existe pas dans le nouveau classeur et donc
impossiblité de réouvrir ce userform pour modifier des données.

Y a t'il une solution à ce problème (pour moi ;-) ) ?

Merci de vos réponses pour éclairer ma lanterne qui ne brille pas de
mille


feux en ce moment :-(