XL 2019 Problématique de conservation de valeur à un instant T

Leché

XLDnaute Junior
Bonjour,

Je suis face à une problématique qui me bloque, je m'explique :
Je dispose de 2 fichiers :

Fichier A
--> Onglet A : Saisie d'une date , d'une référence et d'une quantité ;
--> Onglet B : Récupération des valeurs de l'onglet A + recherche V des références saisie dans un fichier B, renvoyant le temps , qui est multiplié par la quantité (saisie onglet A) ;

Fichier B
--> Onglet A : Liste des références et pour chaque référence , un temps définie ;

Le fichier B est MaJ fréquemment.
Cependant je souhaite conserver le temps a l'instant T en "sauvegarde".

Dans l'idée , je pensais figer les lignes (donc le calcul) dans un troisième fichier (Fichier C), qui me sauvegarde les données en brute, lors de la fermeture du fichier A.

Mais je ne voit pas comment compiler les données entre deux saisies. Du moins , comment faire la différence entre ma sauvegarde ayant déjà des données, et ajouter seulement ce qui a été rajouté depuis la dernière sauvegarde, sans modifier les lignes déjà existantes (ce baser sur la date ?).

Ci-joints deux fichiers pour la modélisation des données.

Je suis ouvert à toute proposition, afin de pallier à ma problématique.

Cordialement,
 

Pièces jointes

  • FICHIER A.xlsx
    13.3 KB · Affichages: 3
  • FICHIER B.xlsx
    8.6 KB · Affichages: 3

vgendron

XLDnaute Barbatruc
Hello

Je ne vois qu'une solution par macro
à chaque fois que tu ajoutes des données, la macro va chercher le fichier B pour récuperer les données et inscrire le résultat dans le fichier A

question.. l"onglet B du fichier A: c'est quoi son intérêt??
pourquoi ne pas mettre directement le résultat de la colonne D dans l'onglet A??
 

Leché

XLDnaute Junior
Hello

Je ne vois qu'une solution par macro
à chaque fois que tu ajoutes des données, la macro va chercher le fichier B pour récuperer les données et inscrire le résultat dans le fichier A

question.. l"onglet B du fichier A: c'est quoi son intérêt??
pourquoi ne pas mettre directement le résultat de la colonne D dans l'onglet A??

Merci pour ton retour.
L'onglet B, est un onglet "masqué" ajoutant des informations que la personne saisissant les infos dans l'onglet "A" n'a pas besoin de voir. (Pour épurer le fichier) Mais dans l'idée oui, cela revient au même.

J'ai prévu d'utiliser Power Querry pour compiler l'ensemble de mes fichiers justement (car je vais avoir une dizaine de fichier A). Mais en amont je dois garder mes valeurs.

Cdt,
 

vgendron

XLDnaute Barbatruc
En PJ tes deux fichiers avec une macro dans le fichier A
les tableaux de données doivent etre sous forme de table structurée

comme j'ai commencé à travailler avant ton retour, je n'utilise pas l'onglet B, mais directemnet l'onglet A
il te suffit d'adapter si besoin
 

Pièces jointes

  • FICHIER A.xlsm
    32.2 KB · Affichages: 3
  • FICHIER B.xlsx
    9.2 KB · Affichages: 1

Laurent78

XLDnaute Occasionnel
Bonjour,

Je suis face à une problématique qui me bloque, je m'explique :
Je dispose de 2 fichiers :

Fichier A
--> Onglet A : Saisie d'une date , d'une référence et d'une quantité ;
--> Onglet B : Récupération des valeurs de l'onglet A + recherche V des références saisie dans un fichier B, renvoyant le temps , qui est multiplié par la quantité (saisie onglet A) ;

Fichier B
--> Onglet A : Liste des références et pour chaque référence , un temps définie ;

Le fichier B est MaJ fréquemment.
Cependant je souhaite conserver le temps a l'instant T en "sauvegarde".

Dans l'idée , je pensais figer les lignes (donc le calcul) dans un troisième fichier (Fichier C), qui me sauvegarde les données en brute, lors de la fermeture du fichier A.

Mais je ne voit pas comment compiler les données entre deux saisies. Du moins , comment faire la différence entre ma sauvegarde ayant déjà des données, et ajouter seulement ce qui a été rajouté depuis la dernière sauvegarde, sans modifier les lignes déjà existantes (ce baser sur la date ?).

Ci-joints deux fichiers pour la modélisation des données.

Je suis ouvert à toute proposition, afin de pallier à ma problématique.

Cordialement,
Bonjour,

Si je comprends bien, l'idée est d'historiser les temps.
Une piste : dans le classeur B, j'ajouterai une colonne date de prise en compte (donc plusieurs lignes pour une même "référence"), cela permettrait d'une part de garder une trace de quand le temps affecté à la tâche à été modifié et d'autre part, d'en tenir compte dans le classeur A. En espérant être clair :rolleyes:

Du coup, on doit pouvoir faire quelque chose sans VBA et sans PowerQuery (FILTRE, SOMME.SI, SOMMEPROD, etc ....), à creuser
@+
Laurent
 

Leché

XLDnaute Junior
En PJ tes deux fichiers avec une macro dans le fichier A
les tableaux de données doivent etre sous forme de table structurée

comme j'ai commencé à travailler avant ton retour, je n'utilise pas l'onglet B, mais directemnet l'onglet A
il te suffit d'adapter si besoin
Top , super. (désolé pour le retour aussi tardif)

Après avoir adapter le code, j'ai une erreur sur cette ligne :

.ListColumns("Temps TT").DataBodyRange(i) = Valeur * .ListColumns("QT").DataBodyRange(i) * Valeur

1670924844138.png

Sais-tu d'où cela peut venir ? (j'ai bien déclaré ma variable Valeur en amont)

Bonne journée,
 

vgendron

XLDnaute Barbatruc
Bonjour

Sans voir ton fichier modifié ni savoir ce que tu as modifié dans le code.. pas facile
mais vu le message "Incompatibilité de type", je dirais que ta colonne "QT" ne contient pas de nombre, mais du texte.. et faire une multiplication avec du texte. bah.. on ne sait pas faire
 

Discussions similaires

Statistiques des forums

Discussions
312 113
Messages
2 085 430
Membres
102 889
dernier inscrit
monsef JABBOUR