Bonjour à tous,
Je souhaite créer une macro qui permet de définir le nom d'enregistrement d'un fichier via un formulaire qui apparaît au moment où l'utilisateur clique sur le bouton "Enregistrer sous".
J'ai donc créé un userform et dans "ThisWorkbook" j'ai inséré cette macro :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = False Then
Exit Sub
Else
UserForm1.Show
nomFichier = TypeMetier & TypeDocument & Version & ChampLibre
Application.Dialogs(xlDialogSaveAs).Show (nomFichier)
Exit Sub
End If
If Cancel = True Then Exit Sub
End Sub
Le formulaire n'apparaît donc bien que si l'utilisateur clique sur "enregistrer sous". Le seul soucis c'est que l'utilisateur est obligé de remplir deux fois le formulaire.
Lors du premier appel de la macro, la macro exécute bien la ligne "Application.Dialogs(xlDialogSaveAs).Show (nomFichier)" puis revient en tête de la macro.
Quelqu'un comprend-t-il pourquoi ?
Je vous joint le fichier
Merci et bonne journée,
Maëlle.