Effacer contenu Userform et réafficher feuille Excel

Bonjour,

J'aimerais savoir comment je peux faire pour effacer les informations saisies dans mon userform après qu'elles aient été s'ajouter à ma feuille Excel et rester sur la feuille Excel? J'ai cru voir que le code "Unload Me" effaçait les informations, mais ça nous retourne dans VisualBasic et moi j'aimerais bien que l'on puisse rester sur la feuille Excel. Comment puis-je faire ça? Je vous joins mon fichier, en cas de besoin. Merci beaucoup!

Bonjour Sweetclau, le forum,

Tu l'ouvres comment ton UserForm ?

Si tu rajoutes un bouton sur ta feuille pour lancer l'USF, tu verras que tu reviens bien sur ta feuille après la saisie,

Sub BoutonSaisie_Cliquer()
frmDossierEmploye.Show
End Sub

Cordialement,

Merci beaucoup! Je teste le tout à mon retour à la maison

Merci beaucoup Deux petites questions: tu as placé la macro pour le bouton dans un module. Quelle est l'utilité des modules? Aurais-je dû en créer d'autres? Dans les critères d'évaluation remis par mon enseignante, il est inscrit "Enregistrez les macros dans vos fichiers, bien classées dans des modules."

J'aimerais que mon code pour calculer l'ancienneté soit sur deux lignes pour qu'il soit bien visible lors de l'impression. Est-ce en utilisant chr(13)? Si oui, où dois-je l'inscrire exactement?

Bonjour Sweetclau,

Quelle est l'utilité des modules?

Un module sert à stocker une ou plusieurs macros (dans ce cas, un trait sépare les macros).

Ici, il stocke la macro qui est affectée au bouton qui permet d'ouvrir l'UserForm.

Aurais-je dû en créer d'autres?

Non. Tu n'as pas d'autre macro . Tu écris tes données via l'UserForm qui stocke ses propres lignes de code.

J'aimerais que mon code pour calculer l'ancienneté soit sur deux lignes pour qu'il soit bien visible lors de l'impression. Est-ce en utilisant chr(13)? Si oui, où dois-je l'inscrire exactement?

Désolé, je ne maitrise pas.

Cordialement,

Merci beaucoup pour ton aide! C'est très apprécié

Dernière question, promis J'aimerais que la feuille Dossier employé s'enregistre sous dans le C:\Dossiers des employés et soit nommée ainsi: Nom, Prénom, No employé. Je ne sais pas comment formuler le code. J'ai fait pas mal de recherches et j'ai vu tellement de façon de faire qui n'ont pas fonctionné...

Merci à l'avance!

C'est tout simple:

Ajoute cette ligne de code à la fin de ton bouton "Ok" de ton formulaire

Call Employe_Répertoire

Puis ajoute cette sub dans code de userform:

Sub Employe_Répertoire()
Dim MonRepertoire As String
Dim wb As Workbook
Dim Nom, Prenom, NumeroEmploye As String

Nom = Me.TxtNom.Text
Prenom = Me.TxtPrenom.Text
NumeroEmploye = Me.TxtNoEmploye.Text

MonRepertoire = "C:\Dossier des employés"

On Error Resume Next
MkDir MonRepertoire

Set wb = Workbooks.Add
ThisWorkbook.Sheets("Dossier employé").Copy Before:=wb.Sheets(1)
wb.SaveAs MonRepertoire & "\" & Nom & "_" & Prenom & "_" & NumeroEmploye & ".xlsx"

Application.DisplayAlerts = False
With ActiveWorkbook
    .Worksheets(.Worksheets.Count).Delete
End With
ActiveWorkbook.Close SaveChanges:=True

End Sub

Ça ne fonctionne pas J'ai fait des imprime-écrans pour montrer ce que ça fait.

erreur code enregistrer2 erreur code enregistrer

le code est bien dans le code du userform, pas dans un module à part?

Oups! Je l'avais fait dans un autre module. J'ai corrigé le tout et mis le code dans le code de mon Userform. Il n'y a plus de code d'erreur. Par contre, rien ne se passe... Je suis allée vérifier et le fichier ne s'est pas enregistré.

Rechercher des sujets similaires à "effacer contenu userform reafficher feuille"