Choix de configurations a l'ouverture d'un fichier Excel
mailletj
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
mailletj Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
mailletj Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens vers vous car je suis bloqué actuellement dans la conception de mon fichier Excel VBA.
J’ai un niveau moyen en vba et je n’ai jamais vu ce cas en cours.
Je souhaiterai lorsque j’ouvre mon fichier Excel de base avoir la possibilité de l’ouvrir sous différentes configurations.
J’ouvre le fichier de base (ou modèle) et je choisi « configuration 1 » ; « configuration2 » ; « configuration3 » dans un message box….
Une fois que le choix est fait le fichier sera enregistré et rempli sans ne plus jamais demander le choix de configuration.
Chaque configuration est un classeur Excel avec ses onglets.
J’espère avoir été clair pouvez-vous m’aider et me sortir de ce blocage !!
Merci d’avance pour votre aide
Jérémy
Je viens vers vous car je suis bloqué actuellement dans la conception de mon fichier Excel VBA.
J’ai un niveau moyen en vba et je n’ai jamais vu ce cas en cours.
Je souhaiterai lorsque j’ouvre mon fichier Excel de base avoir la possibilité de l’ouvrir sous différentes configurations.
J’ouvre le fichier de base (ou modèle) et je choisi « configuration 1 » ; « configuration2 » ; « configuration3 » dans un message box….
Une fois que le choix est fait le fichier sera enregistré et rempli sans ne plus jamais demander le choix de configuration.
Chaque configuration est un classeur Excel avec ses onglets.
J’espère avoir été clair pouvez-vous m’aider et me sortir de ce blocage !!
Merci d’avance pour votre aide
Jérémy
A voir également:
- Choix de configurations a l'ouverture d'un fichier Excel
- Ethernet n'a pas de configuration ip valide - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Liste déroulante de choix excel - Guide
- Comment ouvrir un fichier epub ? - Guide
4 réponses
Bonjour Jérémy,
Tout ce que je vais te proposer est dans ton fichier de base.
Dans une cellule non déjà utilisée, par exemple G1, mets-y 0 ;
à l'ouverture de ce classeur modèle, la macro Workbook_Open()
(de ThisWorkbook) affichera ton MsgBox seulement si G1 = 0.
Tu choisiras alors une de tes 3 configurations, et tu inscriras le n°
correspondant en G1 : 1, 2, ou 3.
Ton choix est fait, et quand tu sauvegarderas ton fichier modèle,
ce choix en G1 sera sauvegardé en même temps.
À la prochaine ouverture de ce fichier, pas de MsgBox puisque
G1 est différent de 0.
Pour que tes utilisateurs ne modifient pas eux-même G1 :
Laisse la protection de départ : ☑ Verrouillée (donc le code VBA
devra déprotéger la feuille, modifier G1, reprotéger la feuille).
Tu peux cacher cette cellule en mettant une couleur de police blanc
(mais elle se verra quand même si incluse dans une sélection).
Autre solution : au lieu de la cellule G1, utilise un nom défini
Config qui jouera le même rôle.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Tout ce que je vais te proposer est dans ton fichier de base.
Dans une cellule non déjà utilisée, par exemple G1, mets-y 0 ;
à l'ouverture de ce classeur modèle, la macro Workbook_Open()
(de ThisWorkbook) affichera ton MsgBox seulement si G1 = 0.
Tu choisiras alors une de tes 3 configurations, et tu inscriras le n°
correspondant en G1 : 1, 2, ou 3.
Ton choix est fait, et quand tu sauvegarderas ton fichier modèle,
ce choix en G1 sera sauvegardé en même temps.
À la prochaine ouverture de ce fichier, pas de MsgBox puisque
G1 est différent de 0.
Pour que tes utilisateurs ne modifient pas eux-même G1 :
Laisse la protection de départ : ☑ Verrouillée (donc le code VBA
devra déprotéger la feuille, modifier G1, reprotéger la feuille).
Tu peux cacher cette cellule en mettant une couleur de police blanc
(mais elle se verra quand même si incluse dans une sélection).
Autre solution : au lieu de la cellule G1, utilise un nom défini
Config qui jouera le même rôle.
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
Bonjour Patrice33740,
Selon ta recommandation, je propose ceci à Jérémy :
A) Dans ThisWorkbook
Private Sub Workbook_Open() On Error Resume Next ' évite une erreur si le nom est déjà existant ActiveWorkbook.CustomDocumentProperties.Add "Config", 0, 1, 0 End Sub
La propriété Config est créée et initialisée à 0.
B) Dans Module1
Option Explicit Sub SetConfig() Dim n As Byte If ActiveWorkbook.CustomDocumentProperties("Config") <> 0 Then Exit Sub Do n = InputBox("n° Config (1 à 3) :") Loop Until n >= 1 and n <= 3 ActiveWorkbook.CustomDocumentProperties("Config") = n End Sub
Je pense que ça devrait aller.
Cordialement. 😊