Userform dans macro

Bonjour le forum,

J'aimerai faire une petite boite d'attente sympa pendant l’exécution d'une de mes macro. J'ai trouvé plein de sujet que me montre comment créer l'USF dans le Visual BAsic mais c'est pas ce que je cherche. Vu que la macro va être utilisée sur plusieurs ordinateurs, si c'est possible j'aimerai ajouter dans mon code de macro un code qui créé l'USF (pas l'afficher vraiment le créer). Si quelqu'un a au moins cette ligne que je ne trouve pas ce serait super. Je pense avoir trouver les commandes pour gérer la taille le titre et le texte de la textBox.

Merci beaucoup,

Bonne journée à tout.e.s

Bonjour,

Sub Galopin()
UserForm1.Hide
'Qu'il soit modal ou pas le UserForm est chargé il peut recevoir des commandes
'et la feuilleActive est accessible
UserForm1.TextBox1 = "Bidon"
End Sub
'Si plus tard tu lances une autre macro :
Sub Test()
UserForm1.Show
'Les controles ont bien enregistré tes valeurs
End Sub

A+

Bonjour Galopin,

Merci pour ta réponse. Cependant quand je charge le code dans un module et que je démarre la macro j'ai un message d'erreur qui me dit "Objet requis".

Peut être que je n'ai pas bien compris le code. Je dois créer un USF d'abord et il sera chargé après?

Bien sur :

Mon code suppose que tu as créé un UserForm et que tu as mis à l'intérieur un TextBox.

Le UserForm est Userform1

Le TextBox est TextBox1

Dans mon exemple le USF est lancé par l'évènement Open de ThisWorkbook et le Textbox est rempli en même temps.

Mais vous pourriez remplacer la macro Galopin par la votre (et remplir d'autres contrôles) puis tester ensuite l'affichage après avoir fait d'autres opérations

Nota : Heu... Je vois pas bien l’intérêt de cette gymnastique hein !

2usfh.xlsm (16.05 Ko)

A+

Salut,

C'est la macro ou le classeur qui va être lancé depuis plusieurs ordinateurs ?

Si c'est le classeur rien n'empêche d'ajouter un formulaire il suivra le classeur dans sa course effréné de PC en PC.

Si cette macro doit être copié dans d'autres classeurs, il suffit d'exporter le formulaire (Dans VBE faire Fichier exporter un fichier en ayant sélectionné le formulaire) puis dans l'autre classeur faire le contraire (Dans VBE faire importer le fichier)

Peut être que je n'ai pas bien compris le code. Je dois créer un USF d'abord et il sera chargé après?

C'est cela-même...

Bonjour Jean-Paul,

Merci pour votre réponse, je pense que c'est plus clair pour moi maintenant.

Si je comprends bien, il n'est pas vraiment possible d'ordonner la création de l'USF par le code VBA. Il faut donc que je considère l'USF de la même manière que les macros à savoir ce que vous dites, le créer puis l'exporter de mon ordi et l'importer dans l'ordinateur de tous les autres utilisateurs.

Si c'est bien cela, ça répond à ma question.

Merci encore à tous les deux pour votre temps.

Salut,

Bien sûr que cela est possible. Maintenant est-ce la meilleure solution ? A l'époque j'étais tombé sur ce site, qui te donnera toutes les bases sur la création d'une boite de dialogue avec ses boutons et labels, tu auras donc toute les données pour créer ta propre boite de dialogue.

Bon courage...

L'exemple le plus classique est la création d'un UserForm Calendrier...

Le programme lui même (en fait tout un classeur) ne contient rien que du code.

Il est stocké dans un répertoire de macro complémentaires qui peut-être distribué à qui le souhaite.

Ce programme est ensuite appelé par divers classeurs comme n'importe quelle macro complémentaire.

Il reste que ce sont des pièces d'horlogerie nécessitant un niveau de connaissance en programmation confirmé.

A+

D’accord, je comprends. En effet à mon niveau mieux vaut rester sur de la création export.

Je vous remercie une nouvelle fois tous les deux pour vos réponses claires.

Merci.

Rechercher des sujets similaires à "userform macro"