| ||||||||
Petit astucien | Bonjour à toutes zé à tous !
Pratiquant la généalogie, je mets mes données à jour quotidiennement ou presque . Je saisis d'abord les infos dans un fichier Word 2007 que j'aimerais intituler {Saisie en cours du "jour"} J'aimerais que "jour" soit une macro qui, forcément, affichera le jour de saisie qu'il soit contigu ou non. Cela est-il possible ? Et, si oui, comment l'afficher ?
Merci de l'attention que vous porterez à mon questionnement. Fulup | |||||||
Publicité | ||||||||
| ||||||||
Astucien | Bonjour ne pas cocher | |||||||
Maître astucien | On accède aux champs de type automatique par Insertion>>Champ Tu choisis le champ que tu veux Dans ton cas DATE (date du jour), tu as aussi CREATEDATE (Date de création) qui ne modifiera pas ton document si tu reviens dessus ultérieurement
| |||||||
Maître astucien | Anonyme a écrit : Ah oui, tu as peut-être raison | |||||||
Astucien |
C'est ce que j'ai compris aussi. Ça ne devrait pas présenter de difficulté, à la fermeture du document et/ou lors d'un enregistrement, de recomposer le nom avec la date du jour pour l'enregistrer. Je laisse aux familiers de Word, n'ayant jamais pris la peine d'assimiler le modèle objet de Word... | |||||||
Petit astucien | Bonjour mes amis !
Eh oui, je souhaite que la date du jour sous la forme AAMMJJ se mette directement dans le nom du fichier. Exemple : Saisie du jour 150105 Quand je quitte Word, la macro affiche ce 150105 directement dans le nom de sauvegarde. Bon, vous m'direz que je suis un peu fainéant, après tout, je pourrais la taper directement. J'imprime des tableaux hiérarchisés dont la 1ère ligne comporte le chemin du fichier ainsi que le jour de la dernière saisie ! Ah ben tiens en écrivant cela j e m'dis que j'ai la réponse. Bon, excusez-moi. Je vais relire Frédéric Dard et Michel Audiard ainsi que Pierre Desproges sur ce qu'ils disent sur les cons ! Alors là, j'en tiens une ! Mon impulsivité... L'âge aussi peut-être... Mi-février, j'entre dans ma dernière année de sexagénaire ! Quel âge aurais-je ? Remarquez, ici, dans les années début 2000 je crois qu'il y avait un Astucien octogénaire ou presque, Titin si ma mémoire est bonne. Merci encore à vous qui avez, hélas, perdu qq secondes de votre temps !
| |||||||
Petit astucien | Salut Anonyme Je crois que tu as été un peu trop rapide sur ce coup-là, si tu le relis bien, il se moque de lui-même et de personne d'autre. | |||||||
Petit astucien | Bonsoir Il ya quelques temps, je m’étais bricolé une macro pour enregistrer dans un dossier de sauvegarde de tous mes documents word toutes les évolutions dans le temps (jour et heure) de mes fichiers word. Par exemple chaque fois que j’ouvre (et que je referme) le fichier "Macro word sauvegarde.docx", un enregistrement daté est enregistré sous la forme " Macro word sauvegarde_20150121_1204.docx", La macro que j’utilise est la suivante (peut-être pas terriblement correcte pour un puriste) mais les spécialistes du forum pourront t’indiquer comment procéder de façon plus orthodoxe : Sub AutoOpen() Dim strFichierA, strFichierB, strFichierC, strFichierD, strFichierE, strFichierF, strFichierG, strDate, strTime ActiveDocument.Save strFichierA = ActiveDocument.Name strFichierB = ActiveDocument.FullName strDate = "_" & Format(Date, "yyyymmdd") strTime = "_" & Format(Time, "hhmm") ' Trouve la position de l'extension intPos = InStrRev(strFichierA, ".") ' Recherche extension strFichierD = Mid(strFichierA, intPos, 5) ' Datation du fichier strFichierE = Left(strFichierA, intPos - 1) strFichierF = strFichierE & strDate & strTime strFichierG = strFichierF & strFichierD ' Emplacement de la sauvegarde strFichierC = "T:\Sauvegardes Word\" & strFichierG ' Sauvegarde ActiveDocument.SaveAs FileName:=strFichierC ActiveDocument.SaveAs FileName:=strFichierB End Sub
Bon courage
Nota: l'age ne fait rien à l'affaire : j'aurai 75 ans demain ! | |||||||
Astucien | Bonsoir, et bon anniversaire Olman Effectivement, ta macro peut je pense être adaptée aux besoins de vivaverdi et surtout simplifiée puisque ses besoins sont nettement plus limités. Si j'ai bien compris, il souhaite que le nom du fichier incorpore la date, et que celle-ci soit mise à jour chaque jour. Après avoir tout de même jeté un petit oeil dans Word, j'ai noté qu'il n'y avait pas de procédure d'évènement Save (à l'enregistrement). On dispose par contre des évènement Open et Close (ouverture et fermeture). Ce qui me paraît répondre du mieux à la question serait de programmer la procédure : Private Sub Document_Open() [NB- Les macros Auto_Open ou Auto_Close sont des versions anciennes remplacées depuis longtemps maintenant par les procédures évènementielles.] Il suffirait donc de récupérer le nom du fichier à l'ouverture, remplacer la partie date et le réenregistrer sous le nom modifié. Les enregistrements suivants se feraient sous le nouveau nom naturellement. | |||||||
Petit astucien | marsouin a écrit : Bonsoir, En effet Marsouin, je me moque de moi-même ! Un défaut ? Une qualité ? Io no lo sé ! Quant à savoir que ce sont des bénévoles qui aident leur "prochain", je ne suis qd même pas né de la dernière pluie. J'ai passé des heures et des heures sur PCA avec une bande d'astuciens éminemment sympathiques dont deux psdos slmt me reviennent, mon compatriote Kormoran (tiens encore la mer !) et une délicieuse alsacienne Vérok, peut-être Véronique ? Ah si, il y avait Matata et un expert en informatique... Bon, ça fait ancien combattant ! Fermons l'ban ! | |||||||
Petit astucien | Sans rapport avec la question, mais vu les informations personnelles données, je suggère la création d'un "club 3ème age". L'intérêt serait de faire rigoler les gamins (moins de 70 ans) et pour eux de faire leur BA en venant corriger nos oublis (et oui, Aloys est derrière la porte). | |||||||
Petit astucien | Rogerd a écrit : salut l'ancien (+1 jour) ton idée n'est pas mauvaise, s'il n'y a pas trop d'astuciens tricheurs, il devrait y avoir foule. à toi l'honneur de la création. | |||||||
Astucien | Bonjour, Tu n'as pas confirmé mon interprétation de l'objectif recherché, mais tu ne l'as pas infirmé non plus , donc essaie ceci : Private Sub Document_Open() Cette macro est à copier et coller dans le module ThisDocument de ton document Word. [Faire Alt+F11 pour ouvrir l'éditeur VBA, double-cliquer dans le volet gauche sur ThisDocument pour ouvrir le module, y coller la macro.] Enregistrer le document : si en .docx, devra être enregistré en .docm. Le rouvrir, pour constater que la date incorporée dans le nom du document a été modifiée à l'ouverture et le document enregistré sous ce nouveau nom dans le même dossier. Le document sous son ancien nom, demeure... | |||||||
Petit astucien | vivaverdi
Quel plaisir de lire quelqu'un qui peut se moquer de lui-même ... et de belle manière encore ...
Bien merci pour ce bon moment.
Un grand bonjour aux "anciens" de ce forum | |||||||
Astucien | Bonjour 3° age j'en fais partie alors. | |||||||
Petit astucien | w36xb2w a écrit : Bonjour, Malheureusement moi aussi ... | |||||||
Petit astucien | Bonjour mes amies(is), hé hé...
Absent une semaine pour cause de visite à grand malade loin de mon home, je vais essayer d'appliquer ce que propose Ferrand. VU que pour moi c'est du langage néanderthalien (pour ne pas froisser ceux qui ont traversé la Mer rouge à pied comme la Chine aussi -célèbre contrepèterie !), je vais "essayer" de développer le texte de Ferrand sous forme d'algorithme en bon français... Bougre de cornegidouille, ça a l'air bien âpre ! Une vaseuse : tout cela, pour moi, n'est pas clair mon Ferrand
Dehors !! J'y vais (dans les Ardennes) | |||||||
Astucien |
Tu as juste à tester... Pas à pas : 1) Tu ouvres ton fichier... 2) Tu ouvres l'éditeur VBA : onglet Développeur > Visual Basic
Pour aller plus vite (ou si l'onglet Développeur n'est pas affiché [dans les Options, case à cocher pour l'afficher]) tu fais la combinaison de touches Alt+F11 qui ouvre l'éditeur (sur toutes versions). 3) Dans l'éditeur, si tu ne l'as jamais ouvert (ou n'a pas modifié son affichage par défaut) tu verras un seul volet affiché à gauche de la fenêtre, c'est l'explorateur de projets. Si tu n'as qu'un fichier d'ouvert, tu n'auras qu'un seul projet dans la liste des projets, qui porte le nom de ton fichier. Sous ce projet, tu repères le module ThisDocument et tu fais un double-clic dessus pour l'ouvrir. Comme tu le constateras, il s'agit d'une simple feuille blanche... 4) Tu copies la macro (dans mon post précédent), et tu viens la coller sur cette feuille :
Tu obtiendras ceci. 4bis) Là si tu veux fignoler, tu peux rétablir l'indentation du code pour le rendre plus lisible (l'indentation n'est malheureusement pas conservée dans les posts de PCA). Ça se fait pour chaque ligne en utilisant la touche tabulation. Cela permet de repérer immédiatement les boucles et les conditions, et leurs imbrications éventuelles... Mais ceci peut attendre ! Une fois la macro collée, tu fermes l'éditeur VBA. 5) Tu enregistres ton fichier en utilisant Enregistrer sous... et tu choisis Document prenant en charge les macros pour l'enregistrer. En effet, ton fichier contient maintenant une macro et ne pourra pas être enregistré avec l'extension .docx (ou il le sera mais sans la macro). Ton fichier enregistré avec l'extension .docm, tu le fermes. NB- Conformément à tes spécifications, le nom de ton fichier doit contenir une date sous la forme aammjj (et qui ne soit pas la date du jour, pour que tu puisses tester qu'il soit à l'ouverture réenregistrer automatiquement avec la date du jour). 6) Tu ouvres le fichier que tu viens de fermer. La macro que tu y as incorporée est ce qu'on appelle une macro évènementielle, qui se lancera d'elle-même lorsque l'évènement pour lequel elle a été prévue survient. Ici il s'agit de l'ouverture du document, elle s'exécutera donc dès ouverture, une fois que tu auras accepté l'activation des macros (si les macros sont désactivées, la macro ne pourra pas s'exécuter...) La macro va chercher la date dans le nom du fichier, la remplacer, et enregistrer le fichier sous son nom actualisé. Tu pourra alors vérifier que le nom a changé et que dans le dossier d'enregistrement du document, tu as bien le document enregistré sous ce nouveau nom, et également sous l'ancien nom qui demeure (tant que tu ne l'auras pas détruit). Si la macro ne trouve pas la date dans le nom du fichier, elle t'en informe... Voilà ! | |||||||
Astucienne | Tous, La demande de vivaverdi m'intéresse. J'ai donc copié la macro de Ferrand dans ThisDocument comme expliqué. J'ai nommé mon document TestdateFerrand 150105.docm J'ai enregistré sous ce nom et ouvert le fichier. À l'ouverture du fichier, j'ai un message d'erreur : Erreur d'exécution 438 à la ligne suivante: ActiveDocument.SaveAs2 nd Que faut-il corriger pour que cette macro fonctionne ?
Merci
| |||||||
Petit astucien | Purée, Ferrand, t'es un p'tit génie (sans bouillir qd même, quoique, moi, les macros, VBA etc, ça me fait bouillr !) Ça fonctionne du feu de dieu ! J'ai : mis à la date de mardi, sgdé le nouveau doc, remis la date de ce jeudi, réouvert le document. Et là, le miracle se produisa (trouver le sketch de Smaïn...) Bon, commbien de kilos de patates bretonnes j't'envoie ? Tu préfères des galettes ? Tiens, des Traou Mad de Pont-Aven en boîte métallique parce que en carton, tu manges les houit en 5 minutes. Un très grand merci ! Il faudrait que je vienne plus souvent sur PCA !! Euh dois-je passer en résolu car un autre astucien semble désirer en savoir plus ????? | |||||||
Astucienne | vivaverdi, tu as de la chance toi ! Je n'ai peut-être pas tout compris, quoique... Tu ne pourrais pas m'envoyer ton fichier, qui contiendrait juste avec la macro ? Si ça te tente. Merci d'avance
| |||||||
Petit astucien | Salut Gabrilou !
Euh.... demain, c'est vendredi 13, tu veux pas attendre ??? Tu sais, je n'ai fait qu'un copier-coller du texte de Ferrand. Peut-être est-ce au niveau de quitter VBA où tu n'aurais pas cliquer au bon endroit car, j'ai été hésitant à ce niveau-là... Il faudrait que je refasse la manoeuvre en notant toutes les manip' que j'exécute (Anjou, feu !) Ah la la, je deviens de plus en plus lourd. J'ai retrouvé le sketch de Smaïn : Jeannot Lapin Ça te mettra un peu de baume au coeur La patience est l'art d'espérer. Vauvenargues...
| |||||||
Astucienne | Anonyme a écrit : J'en ai tout un tas. Est-ce que cela te suffit comme informations ? Merci Modifié par Gabrilou le 12/02/2015 19:36 | |||||||
Astucien | Gabrilou : essaie en supprimant le 2 > ...SaveAs... SaveAs2 est certainement une méthode trop récente... vivaverdi : merci pour tes attentions | |||||||
Astucienne | Très Cher Ferrand Tu es le meilleur ! C'était la bonne solution. Un gros merci ! | |||||||
Petit astucien | Bonjour vous ! Enfin, il pleut sur la Bretagne ! Ça me manquait !!! Bon, la macro fonctionne. Mais comment faire pour la retrouver sur les autres fichiers ? Dois-je refaire la démarche à chaque fois ou bien la macro est-elle à récupérer dans un dossier ? Merci d'avance et so sorry du "dérangement" que je peux vous causer ! | |||||||
Astucien |
Quels autres fichiers ? Tu as parlé d'un fichier que tu dupliques tous les jours. La macro y demeure... S'il y a autre chose, faut poser le problème ! | |||||||
Astucienne | Tous, Je comprends qu'il voudrait que cette macro soit active à chaque nouveau document créé. Si c'est le cas, il faut créer un modèle. Créer un modèleVous pouvez commencer avec un document vide et l'enregistrer en tant que modèle ou vous pouvez créer un modèle basé sur un document ou un modèle existant. Commencer avec un modèle vide
Source : https://support.office.microsoft.com/fr-fr/article/Cr%c3%a9er-un-nouveau-mod%c3%a8le-1a20aa19-5ca4-4b40-bdf2-57a2168c1e89?CorrelationId=123bdaa8-e363-4c2f-ac3b-5c8411786921&ui=fr-FR&rs=fr-001&ad=US#bm2
| |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|