Macro enregistrer doc sans les formules
MARIE10000
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un fichier de reporting qui est mis à jour au jour le jour et qui donc contient un certain nombre de formules.
Je souhaite écrire une macro qui:
- enregistre automatiquement (en cliquant seulement sur un bouton) à un emplacement défini en renommant le fichier de la manière suivante: nom du fichier_mois en cours_ année en cours.
- ce fichier servira de reporting mensuelle, les données doivent donc être fixes. Lorsqu'on ouvrira plus tard le fichier de janvier on doit avoir les données de janvier (sans donc que le fichier se mette à jour)
- Les formules doivent donc être "effacées" sur le reportingmensuel mais pas sur le fichier source qui sert de fichier de suivi au jour le jour.
Je peux répondre aux questions si ce n'est pas clair...
Je vous remercie!
J'ai un fichier de reporting qui est mis à jour au jour le jour et qui donc contient un certain nombre de formules.
Je souhaite écrire une macro qui:
- enregistre automatiquement (en cliquant seulement sur un bouton) à un emplacement défini en renommant le fichier de la manière suivante: nom du fichier_mois en cours_ année en cours.
- ce fichier servira de reporting mensuelle, les données doivent donc être fixes. Lorsqu'on ouvrira plus tard le fichier de janvier on doit avoir les données de janvier (sans donc que le fichier se mette à jour)
- Les formules doivent donc être "effacées" sur le reportingmensuel mais pas sur le fichier source qui sert de fichier de suivi au jour le jour.
Je peux répondre aux questions si ce n'est pas clair...
Je vous remercie!
A voir également:
- Enregistrer un fichier excel sans les formules
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Audacity enregistrer son pc - Guide
- Fichier rar - Guide
7 réponses
bonjour
Sans voir le fichier....
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Sans voir le fichier....
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Bonjour,
Voici un bout du fichier, mais j'ai du supprimer un certain nombre d'éléments par confidentialité.
https://www.cjoint.com/?BIuqofKpJVz
Ce fichier comporte des liens et des formules vers un autre fichier (tableaux croisés dynamiques, graphique, formules).
Ce fichier est utilisé au jour le jour il doit donc garder les liens et les formules opérationnels.
Mais tous les mois j'aimerais garder une trace de la situation à date, c'est à dire figer les données et enregistrer une copie dans mon PC.
Ce que je veus donc c'est créer une macro avec un bouton où quand clique dessus ça me crée un "nouveau fichier" avec les données figées à date (mais sans que ça les fige dans mon fichier source)
De plus, j'aimerais que ce fichier soit rangé automatiquement à un endroit spécifique et soit renommé du type "nom du fichier_mois en cours_année en cours.
Je reste à votre dispo si cela n'est pas clair!
Merci bien !
Voici un bout du fichier, mais j'ai du supprimer un certain nombre d'éléments par confidentialité.
https://www.cjoint.com/?BIuqofKpJVz
Ce fichier comporte des liens et des formules vers un autre fichier (tableaux croisés dynamiques, graphique, formules).
Ce fichier est utilisé au jour le jour il doit donc garder les liens et les formules opérationnels.
Mais tous les mois j'aimerais garder une trace de la situation à date, c'est à dire figer les données et enregistrer une copie dans mon PC.
Ce que je veus donc c'est créer une macro avec un bouton où quand clique dessus ça me crée un "nouveau fichier" avec les données figées à date (mais sans que ça les fige dans mon fichier source)
De plus, j'aimerais que ce fichier soit rangé automatiquement à un endroit spécifique et soit renommé du type "nom du fichier_mois en cours_année en cours.
Je reste à votre dispo si cela n'est pas clair!
Merci bien !
Bonjour,
As tu des cellules qui indique le mois et l'année ou est le mois et l'année en cours ou est ce demandé à l'opérateur lors de la procédure ?
Le nom du fichier archive est il le nom de l'onglet que tu m'as donné ?
Michel
As tu des cellules qui indique le mois et l'année ou est le mois et l'année en cours ou est ce demandé à l'opérateur lors de la procédure ?
Le nom du fichier archive est il le nom de l'onglet que tu m'as donné ?
Michel
Je peux très bien ajouter le mois et l'année en cours dans 2 cases sur le fichier (jusque là je sais faire!)
Le nom du fichier sera "Reporting_mois_année"
Merci!
Le nom du fichier sera "Reporting_mois_année"
Merci!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Ci-joint proposition
il te faut créer un sous dossier pour y ranger les copies des réunions_dpgsi...
dans la feuille le mois et l'année doivent être nommés respectivement "mois_0" et "an_0" (tu peux donc les placer où tu veux)
dans la macro, en première ligne tu adaptes le chemin du sous dossier
actuellement chez moi on a:
une fois la macro recopiée , n'oublie d'enregistrer ton classeur de saisie au format acceptant les macros (.xlsm)
Par contre, je ne peux pas passer en "valeurs" les TCD ... apparament ca gène pas mais...
la macro de ton classeur de saisie
le classeur en retour
https://www.cjoint.com/?3IvjGnkUqAp
Michel
Ci-joint proposition
il te faut créer un sous dossier pour y ranger les copies des réunions_dpgsi...
dans la feuille le mois et l'année doivent être nommés respectivement "mois_0" et "an_0" (tu peux donc les placer où tu veux)
dans la macro, en première ligne tu adaptes le chemin du sous dossier
actuellement chez moi on a:
Const Chemin As String = "D:\téléchargés\marie_ccm" 'dossier d'archivage réunions dpgsi
une fois la macro recopiée , n'oublie d'enregistrer ton classeur de saisie au format acceptant les macros (.xlsm)
Par contre, je ne peux pas passer en "valeurs" les TCD ... apparament ca gène pas mais...
la macro de ton classeur de saisie
Const Chemin As String = "D:\téléchargés\marie_ccm" 'dossier d'archivage réunions dpgsi Sub creer_archive() Dim Fich As String, Mois As String, Annee As String Dim T_valeurs1(), T_valeurs2() 'fige le défilement de l'écran Application.ScreenUpdating = False 'crée un nouveau classeur Workbooks.Add Fich = ActiveWorkbook.Name ' copie de la feuille dans un nouveau classeur (créé à partir de l'enregistreur macro) ThisWorkbook.Sheets("3. REUNION DPGSI").Activate Mois = Range("mois_0") Annee = Range("an_0") Workbooks(Fich).Connections.Add "Exécution 20122", "", Array( _ "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=\\Nx40-rennes\DPGSI\Budget 2012\Execution\Exécution 2012.xls;Mode=Sh" _ , _ "are Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=35;J" _ , _ "et OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database" _ , _ " Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=Fals" _ , _ "e;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserI" _ , "nfo Validation=False"), Array("Marchés_DPGSI"), 3 Sheets("3. REUNION DPGSI").Copy ActiveWorkbook.SaveAs Filename:=Chemin & "\reporting_" & Mois & "_" & Annee & ".xlsx", _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ' recopie les valeurs des formules T_valeurs1 = Range("A28:M100").Value Range("A28:M100") = T_valeurs1 T_valeurs2 = Range("A112:M175").Value Range("A112:M175") = T_valeurs2 End Sub
le classeur en retour
https://www.cjoint.com/?3IvjGnkUqAp
Michel
Petite question pour commencer: en fait le fichier comporte normalement plusieurs onglets qui sont aussi à copier de la même manière.
Du coup, je me suis dit qu'après "Sheets("3. REUNION DPGSI").Copy" j'allais ajouter "Sheets("1. lsihygh").Copy" puis "Sheets("3. oisehf").Copy" et ainsi de suite...
C'est lors de l'exécution de la macro que ça bug, j'ai le message d'erreur suivant:
"Erreur d'exécution '9:
L'indice n'appartient pas à la sélection"
Je pense que le problème vient du fait que la sélection de l'onglet 3 comme tu l'a décrite :
" T_valeurs1 = Range("A28:M100").Value
Range("A28:M100") = T_valeurs1
T_valeurs2 = Range("A112:M175").Value
Range("A112:M175") = T_valeurs2"
n'est pas valide avec les onglets 1 et 2.
Que dois-je ajouter?
De plus, pourquoi la selection de l'onglet 3 ne prend pas en compte les lignes 101 à 111 ?
Merci beaucoup !!
Du coup, je me suis dit qu'après "Sheets("3. REUNION DPGSI").Copy" j'allais ajouter "Sheets("1. lsihygh").Copy" puis "Sheets("3. oisehf").Copy" et ainsi de suite...
C'est lors de l'exécution de la macro que ça bug, j'ai le message d'erreur suivant:
"Erreur d'exécution '9:
L'indice n'appartient pas à la sélection"
Je pense que le problème vient du fait que la sélection de l'onglet 3 comme tu l'a décrite :
" T_valeurs1 = Range("A28:M100").Value
Range("A28:M100") = T_valeurs1
T_valeurs2 = Range("A112:M175").Value
Range("A112:M175") = T_valeurs2"
n'est pas valide avec les onglets 1 et 2.
Que dois-je ajouter?
De plus, pourquoi la selection de l'onglet 3 ne prend pas en compte les lignes 101 à 111 ?
Merci beaucoup !!
De plus, pourquoi la selection de l'onglet 3 ne prend pas en compte les lignes 101 à 111 ?
comme je l'ai marqué + haut:
..." Par contre, je ne peux pas passer en "valeurs" les TCD ... apparemment ca gène pas mais... "...
j'ai le message d'erreur suivant: "Erreur d'exécution '9:
Et sur quelle ligne?
en fait le fichier comporte normalement plusieurs onglets qui sont aussi à copier de la même manière.
Pourquoi ne l'avoir pas dit au départ?
cela oblige à reprendre le problème, peut-^tre pour plusieurs heures de travail bénévole...Une procédure, quelque soit le langage, demande que l'information du demandeur soit complète et précise pour pouvoir analyser le pb et coder en conséquence
:-(((
comme je l'ai marqué + haut:
..." Par contre, je ne peux pas passer en "valeurs" les TCD ... apparemment ca gène pas mais... "...
j'ai le message d'erreur suivant: "Erreur d'exécution '9:
Et sur quelle ligne?
en fait le fichier comporte normalement plusieurs onglets qui sont aussi à copier de la même manière.
Pourquoi ne l'avoir pas dit au départ?
cela oblige à reprendre le problème, peut-^tre pour plusieurs heures de travail bénévole...Une procédure, quelque soit le langage, demande que l'information du demandeur soit complète et précise pour pouvoir analyser le pb et coder en conséquence
:-(((