Re: Sauvegarde fichier: suggestion automatique du nom de fichier | ||
---|---|---|
Inscription: 09/01/2008
De Montréal, Québec
Messages:
463
Système d'exploitation: PC Version Excel utilisée: 97 à 2016 |
Posté le : 17-08-2014 18h20
Bonjour Nim,
Le processus d'enregistrement des modèles, par exemple MonModèle.xltx, lorsqu'ouverts en tant que Nouveaux pose automatiquement le nom du classeur comme MonModèle1 sans extension aucune (indiqué dans l'en-tête d'Excel).
En fouillant dans les propriétés de MonModèle1 on trouve pour les trois propriétés suivantes les valeurs suivantes : Name = "MonModèle1"
Ces trois propriétés sont en lecture seule, il n'y a aucun moyen de les modifier par code. Lorsqu'on enregistre MonModèle1, comme la propriété Path est une chaîne vide la méthode de sauvegarde passe automatiquement à Enregistrer sous... (SaveAs) et le formulaire d'enregistrement s'ouvre avec le nom de classeur MonModèle1.xlsx.
On peut mettre en évidence le processus d'enregistrement comme suit. Dans un module standard nommé Module1 une fonction toute simple
Sub Enregistrer() ThisWorkbook.Save End Sub L'objet ThisWorkbook étant en l'occurence une référence à MonModèle1. En examinant la pile des appels dans l'ordre inverse (Appelants d'abord) on trouve
VBAProject.Module1.Enregistrer
C'est la portion [<Code non Basic>] qui déclenche, en fournissant deux paramètres, l'événement ThisWorkbook_BeforeSave dont la signature est
Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dans le cas qui nous occupe, le [<Code non Basic>] passe le paramètre SaveAsUI (Valeur passée True) par valeur et le paramètre Cancel (Valeur passée False) par référence. Ce qui signifie qu'on a beau poser SaveAsUI à False, la valeur de ce paramètre n'est pas modifiée dans le processus appelant. Par contre si on pose à True le paramètre Cancel, le processus appelant en est informé et annule l'enregistrement.
Ce que tu cherches à faire est de détourner le processus automatique pour forcer l'enregistrement de MonModèle1 comme UnNomContenuDansG2.xlsx.
C'est possible (à moins que je me goure) mais il y a de nombreux pièges sur la route.
Alors j'ai trois questions :
Cordialement,
Guy |
|
|
Re: Sauvegarde fichier: suggestion automatique du nom de fichier | ||
---|---|---|
Inscription: 05/07/2011
Messages:
26
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 18-08-2014 14h06
Bonjour Guy, merci pour ton analyse et ton feedback.
Je dois bien avouer ne pas tout avoir compris, pour ainsi dire... Mais pour répondre à tes questions:
Est-ce que seule la feuille Deck sera enregistrée? Dans l'exemple donné, oui. Cependant, cela pose-t-il problème s'il y a plusieurs feuilles ? Dans mon fichier pro, il n'y a qu'une feuille actuellement, mais il se peut très bien (et même assez probable) qu'on décide de rajouter des feuilles. Cependant, la cellule référence pour le nom du fichier se trouvera toujours dans la première feuille.
En règle général, non, pas trop. Sauf si des classeurs de 7 à 800 Ko sont lourds ?
Est-ce que seule l'extension .xlsx sera autorisée pour la sauvegarde? Si je ne me trompe, il s'agit bien de l'extension par défaut des fichiers Excel >2003 ? Oui, tout se fera en .xlsx, rien d'autre.
|
|
|
Re: Sauvegarde fichier: suggestion automatique du nom de fichier | ||
---|---|---|
Inscription: 09/01/2008
De Montréal, Québec
Messages:
463
Système d'exploitation: PC Version Excel utilisée: 97 à 2016 |
Posté le : 20-08-2014 18h07
Bonjour Nim,
Quelque peu occupé de ce côté-ci, d'où le délai de ma réponse.
Je ne m'attendais pas à ce que tu navigues à l'aise dans mon sabir de développeur. J'ai seulement mis la table pour aligner mon neurone pour la suite.
J’ai bien noté tes réponses et je m’emploierai à bricoler un brouillon de modèle enregistrable sous un nom donné, mais pas avant le début de la semaine prochaine cependant.
Le nom à donner au fichier dans la cellule G2 sera-t-il effacé dans la version enregistrée (Je crois que ce serait indiqué)?
Cordialement,
Guy |
|
|
Re: Sauvegarde fichier: suggestion automatique du nom de fichier | ||
---|---|---|
Inscription: 05/07/2011
Messages:
26
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 22-08-2014 14h55
Bonjour Guy,
Ne t'inquiète pas, j'ai moi même un emploi du temps bien chargé.
En ce qui concerne ta question: Normalement, non: le contenu de la cellule qui donne son nom au fichier reste. Autrement dit, une fois que la cellule est complétée, elle ne change plus. Ou éventuellement, elle change mais ne reste pas vide.
Encore un merci pour ton travail. |
|
|
Re: Sauvegarde fichier: suggestion automatique du nom de fichier | ||
---|---|---|
Inscription: 09/01/2008
De Montréal, Québec
Messages:
463
Système d'exploitation: PC Version Excel utilisée: 97 à 2016 |
Posté le : 24-08-2014 22h37
Bonjour Nim,
Je te soumets un premier brouillon accompagné d'un petit classeur explicatif.
Je sollicite ta patience pour tester la chose et m'indiquer les points qui retroussent, il y en a mais je ne les vois pas, plus à vrai dire.
Tu es le testeur en chef.
Cordialement,
Guy
P.S. J'ai joint le classeur en .xltm caché sous une extension zip pour que ça passe, suffit de décompresser. Pièce jointe:
nom égale contenu D2_Mod1.zip [ Taille: 28.78 Ko - Téléchargements: 507 ] Organigramme.xlsx [ Taille: 12.63 Ko - Téléchargements: 562 ] |
|
|
Re: Sauvegarde fichier: suggestion automatique du nom de fichier | ||
---|---|---|
Inscription: 05/07/2011
Messages:
26
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 08-09-2014 11h14
Bonjour Guy,
Je ne t'ai pas oublié. Mais énormément de travail, je suis débordé.
A priori (je n'ai fait qu'ouvrir et essayer, donc je ne peux confirmer avec certitude) cela a l'air bon !
J'espère pouvoir t'en dire plus ASAP :)
En tout cas, un tout gros merci pour le temps, le travail et l'énergie que tu y as consacré :)
|
|
|
Re: Sauvegarde fichier: suggestion automatique du nom de fichier | ||
---|---|---|
Inscription: 05/07/2011
Messages:
26
Système d'exploitation: PC Version Excel utilisée: 2007 |
Posté le : 17-12-2014 22h05
Voila... mon agenda vient de pas mal se libérer pour les mois à venir...
Vais avoir le temps de regarder ceci plus en profondeur :) |
|
|