Module VBA
Code du module "gestion_de_frais"
Code du module "gestion_de_frais"
Créez un nouveau module (Insertion / Module), renommer cette feuille de code "module1" en "gestion_de_frais".
Procédure pour bouton Feuille 1
Sub proc_affiche_formulaire()
frm_nouvelle_fiche_de_frais.Show vbModeless
'vbModeless pour Excel 2013 et son mode SDI (single document interface)
End Sub
frm_nouvelle_fiche_de_frais.Show vbModeless
'vbModeless pour Excel 2013 et son mode SDI (single document interface)
End Sub
Formulaire vbModeless
Les formulaires et les boîtes de dialogue sont soit modaux soit non modaux.Une boîte de dialogue ou un formulaire modal doit être fermé ou masqué avant que vous puissiez continuer à travailler dans le reste de l'application. Un formulaire non modal vous permet de lui ôter le focus pour, par exemple, donner le focus à un nouveau classeur ou à un autre formulaire...
Sub proc_nouveau_classeur()
'Vérification si le classeur existe déjà
'A rajouter plus tard (avec un End If tout en bas)
If Dir(ActiveWorkbook.Path & "\frais_" & _
frm_nouveau_classeur_de_frais.txt_annee.Value & ".xlsx") <> "" Then
MsgBox "Attention, le fichier frais_" & frm_nouveau_classeur_de_frais.txt_annee.Value & _
".xlsx existe déjà", vbCritical, "Fichier existant"
txt_annee.SetFocus 'ou Workbooks.Open("frais_" & txt_annee.Value & ".xlsx")
Else
Workbooks.Add 'Nouveau classeur
ActiveWorkbook.SaveAs Filename:= _
"C:\frais_" & _
frm_nouveau_classeur_de_frais.txt_annee.Value & ".xlsx"
End Sub
'Vérification si le classeur existe déjà
'A rajouter plus tard (avec un End If tout en bas)
If Dir(ActiveWorkbook.Path & "\frais_" & _
frm_nouveau_classeur_de_frais.txt_annee.Value & ".xlsx") <> "" Then
MsgBox "Attention, le fichier frais_" & frm_nouveau_classeur_de_frais.txt_annee.Value & _
".xlsx existe déjà", vbCritical, "Fichier existant"
txt_annee.SetFocus 'ou Workbooks.Open("frais_" & txt_annee.Value & ".xlsx")
Else
Workbooks.Add 'Nouveau classeur
ActiveWorkbook.SaveAs Filename:= _
"C:\frais_" & _
frm_nouveau_classeur_de_frais.txt_annee.Value & ".xlsx"
End Sub
Note : un Workbooks.Open peut-être relatif à l'emplacement ou est enregistré le classeur contenant la procédure.
Rajoutez un bouton de la barre d'outils "Formulaire" (Affichage / Barre d'outils sous 2003 ou Onglet "Developpeur" sous 2007 et +), et liez-lui la procédure "proc_affiche_formulaire()".