Historisation des données Excel
Résolu
Digmetos
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai une question similaire à celle posée dans le sujet "http://wwww.commentcamarche.net/forum/affich 5847197 copie de colonnes excel automatiques" mais comme la solution n'y est pas indiquée, je me permets de revenir tout en spécifiant mes attentes précises:
j'ai une feuille (feuille A) qui contient plusieurs informations (ex. budget, statut, etc. un peu partout dans la feuille) sur une période bien précise. Cette période est saisie "en dur" dans la feuille A à chaque mise à jour des informations en question.
Je souhaiterais pouvoir archiver (en appuyant sur un bouton par ex.) toutes les informations sélectionnées dans des colonnes par "période" afin de pouvoir dessiner des tendances (et archiver au passage mes données dans le temps) et ce dans une feuille B.
C'est une urgence professionnelle qui motive ce message, quelqu'un pourrait-il m'expliquer la technique ?
Très grand merci d'avance à ceux qui peuvent m'aider !
j'ai une question similaire à celle posée dans le sujet "http://wwww.commentcamarche.net/forum/affich 5847197 copie de colonnes excel automatiques" mais comme la solution n'y est pas indiquée, je me permets de revenir tout en spécifiant mes attentes précises:
j'ai une feuille (feuille A) qui contient plusieurs informations (ex. budget, statut, etc. un peu partout dans la feuille) sur une période bien précise. Cette période est saisie "en dur" dans la feuille A à chaque mise à jour des informations en question.
Je souhaiterais pouvoir archiver (en appuyant sur un bouton par ex.) toutes les informations sélectionnées dans des colonnes par "période" afin de pouvoir dessiner des tendances (et archiver au passage mes données dans le temps) et ce dans une feuille B.
C'est une urgence professionnelle qui motive ce message, quelqu'un pourrait-il m'expliquer la technique ?
Très grand merci d'avance à ceux qui peuvent m'aider !
A voir également:
- Historisation des données Excel
- Fuite données maif - Guide
- Trier des données excel - Guide
- Sauvegarde des données - Guide
- Supprimer les données de navigation - Guide
- Excel validation des données liste - Guide
4 réponses
bonjour
Pour te donner un code de copie adapté, ce serait mieux que tu déposes un modèle de classeur sur : https://www.cjoint.com/index.php
puis tu nous mets ici le lien créé.
Pour te donner un code de copie adapté, ce serait mieux que tu déposes un modèle de classeur sur : https://www.cjoint.com/index.php
puis tu nous mets ici le lien créé.
bonjour
J'ai bien récupéré ton fichier mais je ne vois pas bien ce que tu veux sauvegarder dans l'autre feuille et en fonction de quels critères tu vas ranger tes infos ?
Si tu pouvais préciser un peu ton problème, ce serait plus facile.
Si tu veux mettre de messages personnels sur ce site il faut t'inscrire et c'est gratuit mais l'avantage du forum c'est qu'il y a toujours quelqu'un qui sait répondre à ta question alors que les messages personnels sont traités si disponible.
J'ai bien récupéré ton fichier mais je ne vois pas bien ce que tu veux sauvegarder dans l'autre feuille et en fonction de quels critères tu vas ranger tes infos ?
Si tu pouvais préciser un peu ton problème, ce serait plus facile.
Si tu veux mettre de messages personnels sur ce site il faut t'inscrire et c'est gratuit mais l'avantage du forum c'est qu'il y a toujours quelqu'un qui sait répondre à ta question alors que les messages personnels sont traités si disponible.
Bonjour, quelques détails ci-dessous (concernant toujours le même fichier) :
=> le paramètre de "rangement" est la période (Cell D1 dans la Feuille A) cette période en l'occurrence correspond à une quinzaine; on trouvera cette valeur correspondante à la période dans la feuille B également ligne 1). L'objectif est de pouvoir donc historiser les informations chaque fois qu'on change de période et historiser les informations sélectionnées (voir ci-dessous)
=> les données à historiser par quinzaine sont:
- Cells B23, C23, D23 dans la feuille A historisées pour chaque période dans les lignes 2,3,4 de la feuille B (ex. B23 => ligne 2 de la feuille B)
- Cells R4 jusqu'à R19 historisées dans les lignes 5 à 20 dans la feuille B (ex. R4 => ligne 5 de la feuille B)
à terme j'aurai plein de champs à archiver mais montrez-moi comment ça marche, je crois que par la suite j'aurai la possibilité de transposer ce mécanisme à une grande feuille !
=> l'historisation ne doit pas être automatique mais appelée par un bouton par exemple
Merci encore,
cordialement, Angelos
=> le paramètre de "rangement" est la période (Cell D1 dans la Feuille A) cette période en l'occurrence correspond à une quinzaine; on trouvera cette valeur correspondante à la période dans la feuille B également ligne 1). L'objectif est de pouvoir donc historiser les informations chaque fois qu'on change de période et historiser les informations sélectionnées (voir ci-dessous)
=> les données à historiser par quinzaine sont:
- Cells B23, C23, D23 dans la feuille A historisées pour chaque période dans les lignes 2,3,4 de la feuille B (ex. B23 => ligne 2 de la feuille B)
- Cells R4 jusqu'à R19 historisées dans les lignes 5 à 20 dans la feuille B (ex. R4 => ligne 5 de la feuille B)
à terme j'aurai plein de champs à archiver mais montrez-moi comment ça marche, je crois que par la suite j'aurai la possibilité de transposer ce mécanisme à une grande feuille !
=> l'historisation ne doit pas être automatique mais appelée par un bouton par exemple
Merci encore,
cordialement, Angelos
bonjour
la détermination des cellules étant précise, je t'ai modifié ton classeur : https://www.cjoint.com/?goxEOkxOz5
Le bouton est créé où tu avais indiqué et permet de lancer la macro.
La macro "historisation" se trouve dans le module "historisation".
Elle recherche la colonne d'archive et si elle n'existe pas, elle la crée.
Ensuite elle recopie, de 2 façons différentes les données de la ligne et de la colonne concernées.
Tu peux la lancer autant de fois que tu veux mais si tu as oublié de changer la période, la précédente sera remplacée : peut-être prévoir un blocage ?
Pour essai j'ai complété ta colonne et ajouté une période.
Si tu changes le nom de tes onglets il faut aussi les changer dans la macro.
En espérant que cela te permette de démarrer : bon courage !
la détermination des cellules étant précise, je t'ai modifié ton classeur : https://www.cjoint.com/?goxEOkxOz5
Le bouton est créé où tu avais indiqué et permet de lancer la macro.
La macro "historisation" se trouve dans le module "historisation".
Elle recherche la colonne d'archive et si elle n'existe pas, elle la crée.
Ensuite elle recopie, de 2 façons différentes les données de la ligne et de la colonne concernées.
Tu peux la lancer autant de fois que tu veux mais si tu as oublié de changer la période, la précédente sera remplacée : peut-être prévoir un blocage ?
Pour essai j'ai complété ta colonne et ajouté une période.
Si tu changes le nom de tes onglets il faut aussi les changer dans la macro.
En espérant que cela te permette de démarrer : bon courage !
bonsoir digmetos, c'est sympa et si tu désires des précisions, n'hésites pas
Comme la macro peut être une source d'inspiration pour certains futurs lecteurs, la voici
Comme la macro peut être une source d'inspiration pour certains futurs lecteurs, la voici
Public Sub historisation() ' sauvegarde période Dim col As Integer ' colonne Dim lig As Integer ' ligne Dim wh As Worksheet ' feuille historisation Dim wp As Worksheet ' feuille période Set wp = Sheets("Feuille A") ' affectation feuille période Set wh = Sheets("Feuille B - Historisation") ' affectation feuille historisation ' recherche colonne Historisation For col = 1 To wh.Cells.SpecialCells(xlCellTypeLastCell).Column 'dernière colonne If wh.Cells(1, col).Value = wp.[D1].Value Then Exit For ' si colonne trouvée on sort de la boucle Next col ' si colonne vide on met la valeur Historisation If wh.Cells(1, col).Value = "" Then wh.Cells(1, col).Value = wp.[D1].Value ' archivage Overall wh.Cells(2, col).Value = wp.[B23].Value wh.Cells(3, col).Value = wp.[C23].Value wh.Cells(4, col).Value = wp.[D23].Value ' archivage Progress For lig = 5 To 20 wh.Cells(lig, col).Value = wp.Range("R" & lig - 1).Value ' valeur wh.Cells(lig, col).NumberFormat = "0%" ' format Next lig End Sub
https://www.cjoint.com/?gnp3LYKJcR
le fichier est ci-joint, si je pouvais éventuellement vous contacter en direct ça serait bien génial !
j'ai une véritable urgence professionnelle et ce petit bout de développement me manque