Voir le flux RSS

Philippe Tulliez

VBA -Excel Ouvrir un fichier Excel suffixé xlsx comme modèle

Noter ce billet
par , 26/01/2020 à 10h42 (181 Affichages)
Préambule
Certains utilisateurs d’excel connaissent l’usage de fichier suffixé xltx que l’on utilise comme modèle.

En vba, on peut être amené à ouvrir un nouveau classeur Excel basé sur un modèle.
Le premier réflexe serait bien entendu de créer un fichier avec toutes le formules, les mises en forme conditionnelles, les validations de données, protéger les cellules qui ne peuvent pas être écrasées et d’ensuite le Sauver Sous Modèle Excel (xltx) afin de l’ouvrir ensuite par un code VBA.
Personnellement lorsque je livre une application basée sur Excel, je place toujours le classeur principal dans un répertorie dédié et ensuite je crée des sous-répertoires dont Template qui contient les modèles Excel, Word, etc. que j’utiliserai dans l’application. Cette organisation à comme avantage le transfert aisé de l’application vers n’importe quel répertoire ou autre PC
En sauvant un classeur comme Modèle Excel (xltx), l’application va automatiquement prendre par défaut le répertorie dédié aux modèles et cela m’oblige donc de choisir le sous-répertoire Template du répertoire où se trouve l’application. Si ce travail prend un certain temps pour le développeur, il peut-être perturbant pour l’utilisateur si on lui confie la création de ces modèles
J’ai donc décidé il y a un certain temps de sauver les fichiers me servant de modèle comme des fichiers Excel classiques (xlsx) et en les sauvant dans ce sous-répertoire Template

L’instruction pour ouvrir un nouveau classeur en VBA est simple
Pour ouvrir un nouveau classeur basé sur un modèle, on utilisera la même instruction en utilisant l’argument Template
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Workbooks.Add Template:= "Template\monFichier.xlsx"
Exemples
Voici deux exemples illustrant
Exemple 1 Ouverture simple d'un nouveau classeur basé sur un modèle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Sub Exemple_1()
  ' Déclaration
  Const SubFolder As String = "\Template\"
  Const FileName As String = "Note de Frais.xlsx"
  Dim CurrentFolder As String
  Dim FullName As String
  ' Affectation
  CurrentFolder = ThisWorkbook.Path
  FullName = CurrentFolder & SubFolder & FileName
  ' Ouverture d'un nouveau classeur basé sur un modèle
  Workbooks.Add Template:=FullName
End Sub
Exemple 2 Ouverture nouveau classeur basé sur un modèle en l'affectant à une variable objet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Exemple_2()
  ' Déclaration
  Const SubFolder As String = "\Template\"
  Const FileName As String = "Note de Frais.xlsx"
  Dim CurrentFolder As String
  Dim FullName As String
  Dim wkb As Workbook
  Dim msg As String
  ' Affectation
  CurrentFolder = ThisWorkbook.Path
  FullName = CurrentFolder & SubFolder & FileName
  ' Ouverture d'un nouveau classeur basé sur un modèle
  Set wkb = Workbooks.Add(Template:=FullName)
  With wkb
    msg = "Ouverture d'un nouveau classeur"
    msg = msg & vbCrLf & "Nommé " & .Name & " basé sur le modèle " & FileName
    msg = msg & vbCrLf & "Le nombre de feuille est de " & .Worksheets.Count
  End With
  MsgBox msg
  Set wkb = Nothing
End Sub

Envoyer le billet « VBA -Excel Ouvrir un fichier Excel suffixé xlsx comme modèle » dans le blog Viadeo Envoyer le billet « VBA -Excel Ouvrir un fichier Excel suffixé xlsx comme modèle » dans le blog Twitter Envoyer le billet « VBA -Excel Ouvrir un fichier Excel suffixé xlsx comme modèle » dans le blog Google Envoyer le billet « VBA -Excel Ouvrir un fichier Excel suffixé xlsx comme modèle » dans le blog Facebook Envoyer le billet « VBA -Excel Ouvrir un fichier Excel suffixé xlsx comme modèle » dans le blog Digg Envoyer le billet « VBA -Excel Ouvrir un fichier Excel suffixé xlsx comme modèle » dans le blog Delicious Envoyer le billet « VBA -Excel Ouvrir un fichier Excel suffixé xlsx comme modèle » dans le blog MySpace Envoyer le billet « VBA -Excel Ouvrir un fichier Excel suffixé xlsx comme modèle » dans le blog Yahoo

Catégories
VBA Excel

Commentaires