Enregistrement des macro[vba]

Fermé
homer - 31 août 2007 à 11:47
 homer - 31 août 2007 à 13:34
bonjour,
j'ai créé une interface en utilisant une userform sur vba excel, je voudrais savoir s'il y a un moyen de créer un bouton (dans la meme userform) qui enregistre les modification faite sur les objets de l'interface(labels, combobox...)...
j'espère que j'étais clair dans ma description du problème et merci d'avance.
A voir également:

4 réponses

Papou93 Messages postés 146 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 5 juin 2012 59
31 août 2007 à 12:04
Bonjour homer,

Une façon simple pour sauvegarder les valeurs des contrôles de ton formulaire :

Il suffit d'indiquer les références de cellules, ou de plages de cellules pour les listbox ou combobox, dans la propriété ControlSource de chaque contrôle. Celà aura pour avantage de remplir automatiquement les contrôles avec les dernières valeurs saisies lors de l'ouverture de ta Form.

Une autre façon de procéder :

Dans l'événement Click du bouton, copier les valeurs des contrôles sur un onglet Excel, mais avec 2 inconvénients :

- Il faut créer des boucles de lecture pour les contrôles, ce qui peut être fastidieux dans le cas de nombreux contrôles.
- Il ne faut pas oublier de créer une procédure de sauvegarde avant de quitter le programme.

Espérant avoir répondu à ton attente.

Cordialement.
0
Merci Papou93 pour tes réponses,
le problème dans tout ça est que je veux que le classeur original reste vièrge (save as) , donc je pense que la première solution n'est pas exploitable (c'est ça nn?)
et comme t'as deviné, j'ai un nombre trèès grand de contrôles et un temps limité...
en fait j'ai trouvé un code pour un bouton mais qui enregistre seulement le contenu des feuilles excel:

Private Sub CommandButton1_Click()
fileSaveName = Application.GetSaveAsFilename(InitialFileName:="site1.xls", fileFilter:="excel files(*.xls),*.xls")
If fileSaveName <> False Then
MsgBox "Save as " & fileSaveName
End If
UserForm2.Copy
Worksheets(1).SaveAs Filename:=fileSaveName, WriteResPassword:="0000"
end sub


voila ça serait bien de trouvé un code pareil pour le contenu de l'userform....


cordialement
0
Utilisateur anonyme
31 août 2007 à 13:09
Bonjour,

si l'original doit rester vierge, transformer celui-ci en fichier modèle [ XLT ], ainsi celui-ci sera toujours vierge !

Lupin
0
Meerci Lupin, avec ton conseil j'ai un problème de moins!
reste plus que le truc du bouton...help plz!
0