Analyse min max sur periode

Bonjour Yvouille,

Je regarde cela a mon aise. Pas de soucis! Cest deja tres sympas que tu veuille bien m'aider!

Et j'espere que toi, la famille et les personnes de tes environs vont bien avec cette situation actuelle. Ce qui est le plus important!

Bonjour Yvouille,

Les autres exemples remplis sont dans la colonne Q du sheet 2. Si il y’a rien en Q du sheet 2, cest qu’il faut pas le calculé, car il y’a pas de valeur dans D du sheet 2.

Les lignes remplis correspondent avec la réalité. Exemple ligne 123 du sheet 2 il y’a rien. Ce qui est normale, car pas de valeur en D du sheet 2.

Si on remonte, la prochaine valeur qu’on trouve est sur la ligne 99 en D donc du sheet 2. On devras donc recherché la valeur a mettre en Q du sheet 2.

Voici comment on la recherche.

Pour la cellule Q99 de la Sheet 2, je regarde les dates qu’il y a en A99 et en T99. Je recherche ces dates dans la colonne A de la Sheet 1, c’est-à-dire A77:A98. Vu que le texte en I99 du sheet 2 est ‘’Bearish’’, je recherche la valeur maximale de la plage D77:D98 de la Sheet 1 et je voudrais inscrire cette valeur en Q99.

Deuxieme exemple :

Pour la cellule Q145 de la Sheet 2, je regarde les dates qu’il y a en A145 et en T145. Je recherche ces dates dans la colonne A de la Sheet 1, c’est-à-dire A144:A144. Vu que le texte en I145 du sheet 2 est ‘’Bullish’’, je recherche la valeur minimale de la plage E144:E144 de la Sheet 1 et je voudrais inscrire cette valeur en Q145.

Encore merci pour t’on retour.

Amicalement,

Salut,

Voici un fichier à tester.

Dans la colonne S, j'ai enregistré les données qu'il y avait dans la colonne Q avant de la vider, pour faciliter les contrôles.

Amicalement.

Bonjour Yvouille,

Je viens de tester, avec pas mal d’exemples et la macro fonctionne correctement.

Un grand merci pour cette solution.

Par contre, je viens de rajouter pas mal de nouvelles données dans un fichier, pour faire un dernier test, et la macro donne une erreur. Jai donc copier et coller des données au-dessus des données existantes. Ce que je ferais dans le futur. Aurais-je fait une bêtise ? Voici le fichier joint.

Amicalement,

Salut,

Evite d'attendre très longtemps entre deux interventions - comme je traite des problèmes de plusieurs personnes, plus il y a de temps entre deux interventions, plus je dois me replonger dans tel ou tel problème afin de savoir où l'on en était resté - et évite de donner des informations à différents endroits.

Tu m'as écrit en privé :

Swoopy a écrit :

Je viens de répondre dans le forum, car j’ai juste encore un souci, avec la misse a jour des données. Sans doute que j’ai fait une erreur.

Je pensais éventuellement. Si j’ai les données dans un autre fichier, serais t’il complique de le mettre aussi dans une macro ? Copier les colonnes et les coller dans le fichier.

J'ai compris de tes différents messages que tu souhaiterais avoir une sorte de fichier de Base - celui dont on a discuté jusqu'à maintenant, je présume - et que tu voudrais pouvoir y apporter d'autres données afin de pouvoir les traiter également avec les macros en place.

Ceci me parait tout à fait faisable, mais j'ai besoin de comprendre certaines choses ou d’en avoir confirmation.

Le fichier que je t’ai fourni en dernier, la version V4, pourrait servir de fichier de Base ?

Peux-tu me fournir en plus un fichier dans lequel tu as des données à copier-coller – nomme éventuellement ce fichier ‘’Source’’ et indique-moi avec précision – mais sans le faire réellement – les transferts que tu souhaiterais. Un truc du genre : ‘’sur la Sheet 1 du fichier de Base, je voudrais remplacer les lignes x à y par les lignes z à w de la feuille AAA du fichier Source et sur la Sheet 2 du fichier de Base, remplacer les lignes i à j par les lignes k à m de la feuille BBB du fichier Source.

Amicalement.

Bonjour Yvouille,

Le fichier que je t’ai fourni en dernier, la version V4, pourrait servir de fichier de Base ?

Normalement j’ai un autre fichier de base, ou j’ai d’autres feuilles et graphique. Donc mon idée était de copier la macro vers ce fichier.

Maintenant oui le fichier peut servir de base, alors je copie éventuellement mes autres feuilles et données vers ce fichier si.

Peux-tu me fournir en plus un fichier dans lequel tu as des données à copier-coller – nomme éventuellement ce fichier ‘’Source’’ et indique-moi avec précision

Les transferts et les données que je devrais donc mettre a jour depuis le fichier de téléchargement ou le fichier source sont, si je prends le dernier fichier que tu as envoyer comme fichier de base :

Sur la sheet 1 du fichier de base je voudrais insérer dans les colonnes de B a H entre la ligne 1 et 2 , les données des colonnes de A a G de la ligne 3 a 4020 de la feuille 1 du fichier source.

Dans cet exemple, car le nombre de lignes peut être diffèrent la prochaine fois. Les colonnes restent identique, le nombre de lignes a reprendre et copier, peut être diffèrent.

Un grand merci et bonne soirée.

Amicalement,

Salut,

Afin de simplifier la discussion, j’ai renommé tes deux fichiers et ai modifié le nom des feuilles. Sinon, absolument tout le reste est inchangé, les deux fichiers ci-joints sont donc – à part ces dénominations – exactement semblables aux derniers que tu m’as fournis.

Comme fichier de base, ce serait plus logique de prendre ton fichier de base réel. Ça me parait assez risqué de me laisser créer un fichier de base approximatif puis que tu le complètes.

Mais bon, partons quand même sur la base d’un fichier de base à compléter.

Si tu ouvres le fichier Base ci-joint, tu vois sur la Feuille 1 que j’ai ajouté le texte PREMIERE ANCIENNE LIGNE en J2. Puis tu vas sur la Feuille 2 et que tu lances la macro placée derrière le bouton en T2, une fenêtre s’ouvre alors et te demande de choisir dans ton arborescence le fichier dont tu veux transférer les données. Une fois ce fichier choisi, il s’ouvre à l’écran ou – s’il était déjà ouvert – il est sélectionné.

Ce fichier source ne doit pas spécialement se nommer ‘’Source’’, c’est juste pour simplifier notre échange qu’il s’appelle ainsi. Tu m’as fourni un fichier modèle avec une seule feuille, il n’y aurait donc pas de problème, ce serait la bonne feuille du fichier source qui serait ouverte à l’écran. Si ton fichier source contient plusieurs feuilles et qu’il ne s’ouvre pas sur la feuille à traiter, alors il faudrait compléter la macro.

Une fois le fichier source ouvert à l’écran, sur la bonne feuille, ses données sont copiées quel que soit le nombre de lignes à traiter.

La macro sélectionne maintenant la Feuille 1 du fichier Base et y ajoute autant de lignes vides que nécessaires, de la ligne 2 à la ligne X, et y colle les données copiées. Ton ancienne ligne 2 se retrouve donc beaucoup plus bas ; dans notre exemple à la ligne 4052.

Le fichier source est dans tous les cas refermés, qu’il ait été ouvert ou qu’il était déjà ouvert au début de la macro. Si cela n’est pas souhaité, si le fichier source doit rester ouvert, il y a juste une instruction à supprimer dans la macro.

Je trouve bizarre que tu veuilles conserver les anciennes données de la Feuille 1 car pour finir ça risque de faire pas mal de données sur cette feuille. Mais c’est à toi de savoir, bien entendu.

Il y a aussi une autre réflexion que je me fais car il me semble qu’il y aurait d’autres choses à automatiser encore, comme compléter la colonne A de la Feuille 1 ou/et modifier la Feuille 2 en fonction des nouvelles données de la Feuille 1 ou que sais-je d’autre. Mais c’est également à toi de savoir.

Amicalement.

3source.xlsx (252.96 Ko)
3base.xlsm (47.58 Ko)

Bonjour Yvouille,

Pour info. Même quand le fichier de base est ouvert, la fenêtre de sélection s’ouvre et demande de sélectionner le fichier. Donc pas d’action automatique. (mais pas si grave pour ma pars)

Par contre la sélection n’est pas correcte.

La « Première ancienne ligne » date de 2019-09-29 07-PM

Donc la prochaine ligne a reprendre est la date de 2019-09-29 08-PM, cellule A4008

Cad copier la ligne 3 jusque 4008. Jai indiquer des couleurs.

La copie des colonnes est ok.

Il me semble que la macro reprend simplement la fin des données du fichier source. Copie donc tout. (Et il me semble que je me suis aussi trompé dans les lignes a copier entre AM et PM dans la reponse d'avant. Désolé pour cela. )

Par contre, je viens de me rendre compte que jai expliqué la mise a jour des données de la feuille 1. Mais effectivement sur la feuille2 les nouvelles dates sont aussi a rajouter. Car pour pouvoir continuer a travailler, je devrais donc avoir les lignes avec les nouvelles dates.

Ce qui veut dire dans l’exemple.

Copier aussi les données de A3 jusque B4008 de la feuille 3 du fichier source et les insérer aussi dans la feuille2 au-dessus de B3 et C3. Tout en descendant les lignes existantes.

Je trouve bizarre que tu veuilles conserver les anciennes données de la Feuille 1 car pour finir ça risque de faire pas mal de données sur cette feuille. Mais c’est à toi de savoir, bien entendu.

Je ne sais pas, n’oublions pas qu’il ya des formules sur la feuille2 qui travaille avec ces données, dans supprimé les anciennes ferais que les données ne sont plus disponibles. Si tu veut dire tout remplacer. Il ce peut que les anciennes données ne soit peut etre plus disponibles, et du coup il pourrais aussi me manquer des données ou je devrais aller les recopier.

Il y a aussi une autre réflexion que je me fais car il me semble qu’il y aurait d’autres choses à automatiser encore, comme compléter la colonne A de la Feuille 1 ou/et modifier la Feuille 2 en fonction des nouvelles données de la Feuille 1 ou que sais-je d’autre. Mais c’est également à toi de savoir.

Bien sure, si je pouvais remettre aussi a jour la colonne A de la feuille 1 ce serais géniale. Idem pour les formules en A, E-P, R de la feuille 2. Mais si je doit le faire a la main cest pas grave.

Encore merci pour ta reponse.

Amicalement,

3source-1-1.xlsx (253.21 Ko)

Salut,

Je trouve toujours un peu bizarre la manière d’écrire tes messages, laissant penser que c’est moi qui ai fait tout faux, ne te demandant pas trop souvent si tes explications étaient correctes et suffisantes.

Pour info. Même quand le fichier de base est ouvert, la fenêtre de sélection s’ouvre et demande de sélectionner le fichier. Donc pas d’action automatique. (mais pas si grave pour ma pars)

Tu n’as jamais précisé si le fichier à traiter était ouvert ou fermé au lancement de la macro, ni comment s’appelait ce fichier ouvert, ni si d’autres fichiers pouvaient être ouverts en même temps que les fichiers Base et Source. Sans savoir tout cela, je t’ai proposé une solution – parmi d’autres – qui garanti que le bon fichier soit sélectionné, qu’il soit ouvert ou fermé au départ. Contrairement à ce que tu dis, il y a donc bel et bien une sorte d’action automatique (au minimum le bon fichier est montré à l’écran). J’ai oublié de t’indiquer que d’autres possibilités existaient si celle-là ne te convenait pas, pensant que tu avais quand même une vague idée des macros et que tu penserais de me demander la transformation voulue, sans laisser entendre que je n’avais créé ‘’aucune action automatique’’.

Par contre la sélection n’est pas correcte.

Tu aurais aussi pu écrire : ‘’Je me rends compte que je n’ai pas été assez précis dans mes explications.

La « Première ancienne ligne » date de 2019-09-29 07-PM

Donc la prochaine ligne a reprendre est la date de 2019-09-29 08-PM, cellule A4008.

Tu n’avais pas expliqué cette histoire de dates dans ton avant dernier message et j’avais surtout retenu que le fait que le nombre de ligne pouvait être différent d’une fois à l’autre, raison pour laquelle ma dernière macro recherchait simplement la dernière ligne de ton fichier source. Mais il n’y a rien de grave à mon sens, tu t’expliques mieux et je corrige le code en conséquence.

Pour les anciennes données à laisser en place ou non, je ne me rends pas encore compte de leur utilité ou non. La réponse viendra peut-être de la suite de la discussion ci-dessous.

Le nouveau fichier ci-joint devrait répondre à tes attentes jusqu’à la mise en place des formules en A, E-P, R de la feuille 2. Je te laisse donc tester ces modifications et me dire – sur la base du résultat obtenu, si celui-ci te convient – comment continuer avec la mise en place des formules dans la Feuille 2.

Chaleureusement.

4base-v2.xlsm (49.64 Ko)

Bonjour Yvouille,

Un grand merci pour la modification. Voici le retour apres test.

Les données du fichier « source » ce copie tout a fait correctement sur la feuille 1 du fichier de base.

La formule dans la colonne A se copie aussi correctement. Tout sur la feuille 1 est donc parfait.

Sur la feuille 2 du fichier de base, les dates ce sont rajouter correctement dans la colonne B, la formule en A c’est aussi copier tout a fait correctement.

Les dates ce sont bien insérer, et les données on glisser vers le bas tout en gardant le bon alignement. (pas de décalage)

Tout est donc ok.

Les prochaines étapes serais de :

Copier les données du fichier source de la colonne B et les coller dans la colonne C du la feuille 2 du fichier de base. (Cela peut être aussi copier du fichier source en même temps que la copie des dates dans la colonne B ou recopier les données présent dans la feuille 1 en colonne C vers donc la colonne C de la feuille 2 du fichier de base)

Cad, comme on as copier la date et valeur ‘open » dans la feuille 1, il faudrait aussi copier la valeur « open « dans la colonne C de la feuille 2.

Si on copie du fichier source on devrait donc dans l’exemple copier de B3 a B4008, et le coller dans C3 a C4008.

Copier les formules vers le haut des colonnes de E a P et la colonne R de la feuille 2 du fichier de base.

Q et T va se remplir via la macro.

Si je teste la macro sur une nouvelle ligne, la colonne Q et T ne ce remplis pas actuellement, et la fenêtre de debug s’ouvre.

Voici joint le fichier de base après test.

Un grand merci pour les modifications apporté.

Bonne soirée,

Salut,

Fais gaffe de ne pas te perdre en explications inutiles. Ton texte ci-dessous aurait pu se dire simplement : ‘’Les nouveautés que tu as placées dans le nouveau fichier fonctionnent comme souhaité.’’

Voici le retour apres test.

Les données du fichier « source » ce copie tout a fait correctement sur la feuille 1 du fichier de base.

La formule dans la colonne A se copie aussi correctement. Tout sur la feuille 1 est donc parfait.

Sur la feuille 2 du fichier de base, les dates ce sont rajouter correctement dans la colonne B, la formule en A c’est aussi copier tout a fait correctement.

Les dates ce sont bien insérer, et les données on glisser vers le bas tout en gardant le bon alignement. (pas de décalage)

Tout est donc ok.

Et au lieu du passage ci-dessous, tu aurais pu écrire : J’ai oublié de te dire qu’il faudrait également copier les données de la colonne B de la Feuille 1 vers la colonne C de la feuille 2 en même temps que les données de la colonne A vers la colonne B.

Les prochaines étapes serais de :

Copier les données du fichier source de la colonne B et les coller dans la colonne C du la feuille 2 du fichier de base. (Cela peut être aussi copier du fichier source en même temps que la copie des dates dans la colonne B ou recopier les données présent dans la feuille 1 en colonne C vers donc la colonne C de la feuille 2 du fichier de base)

Cad, comme on as copier la date et valeur ‘open » dans la feuille 1, il faudrait aussi copier la valeur « open « dans la colonne C de la feuille 2.

Si on copie du fichier source on devrait donc dans l’exemple copier de B3 a B4008, et le coller dans C3 a C4008.

Dans le fichier Version 3 ci-joint, ces nouvelles données sont également copiées.

Copier les formules vers le haut des colonnes de E a P et la colonne R de la feuille 2 du fichier de base.

Ce passage m’est complètement incompréhensible. Tu parles de quelle feuille ? Les formules à copier sont placées où ? Il faut les copier où ?

Q et T va se remplir via la macro.

Si je teste la macro sur une nouvelle ligne, la colonne Q et T ne ce remplis pas actuellement, et la fenêtre de debug s’ouvre.

Ce passage n’est guère plus compréhensible. Tu testes la macro sur quelle nouvelle ligne ? Et si Q et T ne se remplissent pas actuellement, n’est-ce pas justement car il manque les formules faisant l’objet du paragraphe au-dessus ?

Tu as semble-t-il mis des cellules de ton fichier Source en couleur (fond jaune, etc.) afin de me démontrer certaines choses, mais ça a une influence sur la copie des données. Si tu veux me fournir un nouveau fichier source comme il se présente normalement, je pourrais mieux voir de quelle manière se copient les formats. Ensuite, si le résultat final n’est pas celui attendu, tu pourras toujours me demander de corriger ça en plus.

A te relire.

12base-v3.xlsm (48.83 Ko)

Bonjour Yvouille,

Merci pour cette reponse.

Et au lieu du passage ci-dessous, tu aurais pu écrire : J’ai oublié de te dire qu’il faudrait également copier les données de la colonne B de la Feuille 1 vers la colonne C de la feuille 2 en même temps que les données de la colonne A vers la colonne B.

Non, car cela a etait bien dis, dans un message avant:

Par contre, je viens de me rendre compte que jai expliqué la mise a jour des données de la feuille 1. Mais effectivement sur la feuille2 les nouvelles dates sont aussi a rajouter. Car pour pouvoir continuer a travailler, je devrais donc avoir les lignes avec les nouvelles dates.

Ce qui veut dire dans l’exemple.

Copier aussi les données de A3 jusque B4008 de la feuille 3 du fichier source et les insérer aussi dans la feuille2 au-dessus de B3 et C3. Tout en descendant les lignes existantes.

Je parlais bien aussi des données de la colonne B de la feuille 3 (fichier source) et donc les copier dans la colonne C de la feuille 2 du fichier BASE. La macro ne copiait pas les données de la colonne B, et je lai juste redemandé.

Merci pour l'adaptation dans le version 3. Les nouveautés que tu as placées dans le nouveau fichier fonctionnent comme souhaité.

Ce passage m’est complètement incompréhensible. Tu parles de quelle feuille ? Les formules à copier sont placées où ? Il faut les copier où ?

Si on regarde la feuille 2 du fichier de base, (c’est la feuille ou finalement tous les résultats sont calculés) il y’a des formules présentes dans les colonnes « de E a P et la colonne R de », le but est d’avoir les mêmes formules, que dans la dernière ligne, dans les nouvelles lignes qui sont venu ce rajouter.

Exemple : il y’a une formule présente dans la cellule E149 (dernière ligne) de la feuille 2 du fichier de base V3, le but est que cette formule ce copie aussi dans dans les nouvelles lignes de la colonne E et ceci jusque-là cellule E3. Car E1 et E2 sont les titres.

La formule présent dans F149 devras ce copier partout dans les nouvelles lignes dans la colonne F, jusque F3.

Formule en G149 partout en G, jusque G3.

Et ceci jusque pour la colonne P et aussi pour la colonne R.

Idem comme tu as fait pour la colonne A de la feuille 1 du fichier de base. La formule ce copie jusque la ligne 2. Ligne 1 étant le titre.

(Je vais recopier les formules partout dans les colonnes comme exemple et j'enverais ce fichier par apres. )

Ce passage n’est guère plus compréhensible. Tu testes la macro sur quelle nouvelle ligne ? Et si Q et T ne se remplissent pas actuellement, n’est-ce pas justement car il manque les formules faisant l’objet du paragraphe au-dessus ?

Tu as donc aussi créé une macro qui copie des « nouvelles lignes » ou « nouvelles données » du fichier source vers la feuille 1 et feuille 2 du fichier de base.

La macro que tu a créer pour remplir Q et T devras donc aussi fonctionné sur les nouvelles données introduit dans la feuille 2 du fichier de base. Le but étant de pouvoir rajouter des données a fur et a mesure.

Avec un premier test, la macro rentre dans la fenêtre de debug. J’avais mis des valeurs dans une ligne test, mais comme tu dis, peut etre es ce par ce que toutes les nouvelles lignes rajouter non pas de valeurs. Bien possible. Peux-tu éventuellement faire un test une fois les formules rajouter partout ? Cela te parleras peut etre plus? Je le testerais une fois les formules partout remplis dans la feuille 2.

Voici un nouveaux fichier source V2.0 sans couleurs.

D'avance merci et bonne apres midi.

5source-2-0.xlsx (291.24 Ko)

Re,

(Je vais recopier les formules partout dans les colonnes comme exemple et j'enverais ce fichier par apres. )

J'attends que tu m'envoies ce fichier, car pour l'instant, sur la ligne 149 de la Feuille 2 actuelle (avant le transfert) je trouve beaucoup de formules avec des références manquantes, par exemple en E149 : =SI(D149<>"";RECHERCHEV(A149;#REF!;3;0);"")

Non, car cela a etait bien dis, dans un message avant:

A croire que ce n'était pas très clair, perdu dans une masse d'informations inutiles.

A te relire.

Rebonjour,

Voici le fichier base, avec les données copier du fichier source et les formules remplis dans les cellules de la feuille 2 jusque a la ligne 3. Ce qui serais le but a chaque importation de données. Les formules ont donc était copier a partir de la dernière ligne, cad la 4153. La feuille 2 correspond donc ou résultat attendu.

Pourrais-tu jeter un œil a ce que tu penses des formules de la feuille 2? Car les formules indique un range, exemple

=IF(D4153<>"",VLOOKUP(A4153,'Feuille 1'!$A$2:$H$4152,3,0),"") Ici $A$2:$H$4152.

Mais si des nouvelles données sont importer ce range, n’est plus valable car le nombre de lignes augmenterais. Ce qui m’obligerais de toute façon a modifier toutes les formules.

Serais t’il pas possible de simplement indiqué la colonne $A :$A ? N’importe le nombre de lignes, la formule serait toujours correcte. Qu’en pense tu ?

D’avance merci pour t’on avis et aide.

Bonne soirée.

2base-v3-1.xlsm (964.76 Ko)

Salut Swoopy,

Serais t’il pas possible de simplement indiqué la colonne $A :$A ?

Il est difficile de répondre rapidement par oui ou par non à une telle question, car selon les formules utilisées, on peut avoir de drôles de surprises. Alors ce que je fais c’est que j’essaie Mais ça, tu aurais pu le faire aussi

J’ai donc remplacé les références à des plages (Range) telles que $A2:$A1294 par $A:$A dans une cellule et j’ai observé le résultat. Par exemple dans la cellule L147 de la Feuille 2 du fichier ci-joint. Comme le résultat était pareil, j’ai tiré la formule vers le haut jusqu’à la prochaine valeur, dans cet exemple jusqu’à L145, le résultat étant toujours bon, j’ai continué ainsi, étape après étape jusqu’au sommet de la colonne et je me suis rendu compte que c’était partout identique.

C’est un bon point, mais il faut quand même être prudent. Avec des formules telle que celle-ci-dessous (toujours tirée de ta cellule L147) il se peut que par hasard se soit toujours la même des deux valeurs comparées par la formule MIN() qui soit prise et que l’autre résultat serait faux.

=SI(D22<>"";MIN(INDEX('Feuille 1'!$E:$E;EQUIV(A22+23/24;'Feuille 1'!$A:$A;0)):INDEX('Feuille 1'!$E:$E;EQUIV(A22;'Feuille 1'!$A:$A;0)));"")

Dans un tel cas, je vais modifier manuellement la source de données afin d’être certain que mes changements valent pour toutes les possibilités. Pour ce travail, je n’ai pas fait ce contrôle complémentaire : à toi de le faire.

Dans tes formules sur la Feuille 2, tu fais parfois référence à cette Feuille 2 !! J’ai corrigé toutes tes formules en enlevant cette précision inutile !!

La version 4 ci-jointe devrait répondre à tes attentes quant au placement de nouvelles formules dans les lignes importées sur la Feuille 2. A noter que je remplace à chaque fois toutes les formules déjà en place avant le transfert (dans le fichier Base 4 ci-joint, toutes les formules en place sur les lignes 3 à 146 sont à nouveau réécrites. Il ne faudrait alors pas que tu aies modifié manuellement l’une ou l’autre de ces formules, sinon je vais devoir revoir ma macro afin de ne pas effacer tes modifications éventuelles.

Après la mise en place des nouvelles formules, le fichier grossi terriblement. De 62 Ko, il passe à 1'029 Ko. Si tu continues à y transférer de nouvelles données sans effacer les anciennes, ça risque de faire lourd au bout d’un certain temps.

Bien que tu m’aies fourni le fichier Source 2.0, les mises en forme – en tout cas en ce qui concerne la couleur de fond des cellules – restent fantaisistes. Mais comme je ne sais pas si tu as mis en forme certaines cellules pour la démonstration sur le Forum ou non, je te propose que tu me demandes si tu souhaites en plus une mise en forme de ton fichier tout à la fin de la macro.

A te relire.

5base-v4.xlsm (61.86 Ko)

Bonjour Yvouille,

Encore une fois un grand merci pour ta reponse.

Dans un tel cas, je vais modifier manuellement la source de données afin d’être certain que mes changements valent pour toutes les possibilités. Pour ce travail, je n’ai pas fait ce contrôle complémentaire : à toi de le faire.

Base V4 ligne 27 vérifier avant update en modifiant les données source et tout est ok.

Base V4 ligne 49 et 73 vérifier après update en modifiant des données source et tout est ok.

Formules ok, avant et apres importation dans la feuille 2.

La version 4 ci-jointe devrait répondre à tes attentes quant au placement de nouvelles formules dans les lignes importées sur la Feuille 2. A noter que je remplace à chaque fois toutes les formules déjà en place avant le transfert (dans le fichier Base 4 ci-joint, toutes les formules en place sur les lignes 3 à 146 sont à nouveau réécrites. Il ne faudrait alors pas que tu aies modifié manuellement l’une ou l’autre de ces formules, sinon je vais devoir revoir ma macro afin de ne pas effacer tes modifications éventuelles.

Juste pour s’avoir. Si je modifie une formule de la dernière ligne avant import es ce que cela poseras problème ? Et si je rajoute une colonne avec une autre formule ? Juste pour s’avoir si je peux par la suite encore travailler dans ce fichier ou pas.

Bien que tu m’aies fourni le fichier Source 2.0, les mises en forme – en tout cas en ce qui concerne la couleur de fond des cellules – restent fantaisistes. Mais comme je ne sais pas si tu as mis en forme certaines cellules pour la démonstration sur le Forum ou non, je te propose que tu me demandes si tu souhaites en plus une mise en forme de ton fichier tout à la fin de la macro.

Je n’ai pas besoins de couleurs revoici les deux fichiers sans couleurs.

Juste pour t’on info, une fois les données importées, j’ai mis une valeur dans la colonne D de la feuille 2 ,de la ligne 49 et 73, et actuellement la macro donne donc une erreur. Je ne pense donc pas que cest lier aux formules, car comme les formules sont présentes dans toutes les lignes et les données remplis, je pense que la valeur Q et T aurais pu être calculé pour ces deux lignes. Sauf si je me trompe bien sûr. C’est bien sûr juste une info personnelle. Voici l'exemple dans le fichier joint Base_V4.1_test 1

Encore merci et je te souhaite une bonne journée.

Salut,

MACRO QUI BLOQUE ?

Juste pour t’on info, une fois les données importées, j’ai mis une valeur dans la colonne D de la feuille 2 ,de la ligne 49 et 73, et actuellement la macro donne donc une erreur.

Je n’irai pas jusqu’à dire que ton explication est très précise

J’ai tenté moi-même de placer des données en D49 et D73 de la ‘’Feuille 2’’ et lorsque j’ai lancé la macro ‘’Actualisation Colonnes Q et T’’, ça plante sur la ligne en jaune ci-dessous :

capture

Je me suis alors rendu compte que j’ai commis une erreur de débutant et que j’ai modifié les noms des feuilles à un certain moment donné sans me soucier si des macros déjà en place faisant référence à ces anciens noms. Et c’est bien le cas Ma macro cherche la ‘’Sheet 1’’ et la ‘’Sheet 2’’ qui n’existent plus !! J’ai donc remis les anciens noms des feuilles (car c’est probablement avec ces noms que tu vas travailler dans le futur) et j’ai modifié les macros créées en dernier qui faisaient référence aux ‘’Feuille 1’’ et ‘’Feuille 2’’.

Je présume que c’est bien cette erreur que tu as toi-même constaté et ton problème devrait être résolu à ce niveau-là.

FORMULES DE LA DERNIERE LIGNE

Juste pour s’avoir. Si je modifie une formule de la dernière ligne avant import es ce que cela poseras problème ?

Lors du transfert, après que la dernière ligne ait été décalée vers le bas, la macro tire simplement vers le haut, jusqu’à la ligne 3, les formules qui sont placée sur cette dernière ligne (si je prends le fichier ‘’Source 2.0’’ pour le transfert, c’est la ligne 4153 qui est copiée, soit l’ancienne ligne 147 avant le transfert). Mais que pour les colonnes E à P et R. Si tu modifies les formules de la dernière ligne de la Sheet 2 – la 147 - avant le transfert, toutes les formules des lignes 4152 à 3 comporteront les mêmes modifications.

Si ce n’est pas ce que tu veux, si tu souhaites mettre en place les formules d'une autre manière, il faut expliquer clairement tes souhaits et je modifierai la macro en conséquence.

RAJOUT DE COLONNES

Et si je rajoute une colonne avec une autre formule ?

Un peu comme avec le changement des noms des feuilles indiqué ci-dessus, le rajout de colonnes peut avoir des résultats catastrophiques. Si ma macro fait par exemple référence à la cellule D43 et que par l’ajout d’une colonne devant, cette cellule devient la E43, la macro va planter ! Les macros ne sont pas comme, par exemple, des formules sur une feuille de calcul qui s’adaptent aux rajouts de lignes ou colonnes.

Dans ton fichier, un rajout de colonne après la colonne T ne poserait pas de problème, mais comme la copie des formules de la dernière ligne ne se fait que pour les colonnes E à P et R, il faudrait éventuellement adapter encore cette partie. Sinon je crois que ta colonne S n’est pas utilisée et pourrait l’être sans décaler la colonne T.

Mais à nouveau, si tu dois réellement ajouter des colonnes, dis avec précision tes besoins et je verrai si je vois une solution x ou y. Pense cependant un peu plus loin et réfléchis déjà à tout ce qui devrait/pourrait encore être ajouté. Dans certain cas, on laisse des colonnes vides et masqués à certains endroits ou il pourrait y avoir des choses à rajouter. Un exemple : La colonne A est utilisée, les colonnes B à F simplement masquées et la colonne G est également utilisée. Si un jour on a besoin de la colonne B par exemple, on l’ouvre simplement et la colonne G reste la G.

COULEURS

Je n’ai pas besoins de couleurs revoici les deux fichiers sans couleurs.

Ok, donc je ne m’en soucie plus. Lorsque tu travailleras avec des documents sans couleur de fond, elle ne seront tout simplement plus reprises sur d’autres lignes comme actuellement.

LOURDEUR DU FICHIER APRES LE TRANSFERT

Je t’avais fait remarquer que ton fichier était très lourd après le transfert et que si tu continuais à y ajouter des données, ça pouvait finir par être problématique (ça ralenti un peu tout, notamment les macros). Mais déjà toutes les cellules qui se voient ajouter une couleur de fond gonflent ton fichier – et tu m’as dit que finalement il n’y aura plus de couleur de fond - et deuxièmement on pourrait réduire le nombre de formules mises en place si tu ne les utilises de toute façon pas toutes. Je te dis cela car il semble que tu ne travailles que sur les lignes sur lesquelles se trouve ‘’19 heures’’ en colonne A. Si les formules des autres lignes n’étaient pas utiles, on économiserait 23/24ème de la place prise par les formules inutiles (23 lignes * 13 colonnes * 166 jours dans le fichier ‘’Source 2.0’’ = 49’334 formules inutiles !)

DIVERS

Attention : j’ai déplacé les boutons ‘’Transfert de données’’ et ‘’Actualisation Colonnes Q et T’’ dans un ordre logique.

Cordialement.

4base-v5.xlsm (61.83 Ko)

Bonjour Yvouille,

Merci pour la modification et réponse.

La macro « Actualisation colonnes Q et T » fonctionne maintenant tout à fait correctement. Seule remarque, la colonne T du sheet 2 est une valeur date avec heure. La macro met la ligne a jour si il y’a une valeur en D, mais met un chiffre, pas une date et heure, car le format de la cellule est en « nombre». Mais c’est un détail, car je peut changer le format très facilement manuellement comme dans les dernières lignes de la colonne T.

Si tu modifies les formules de la dernière ligne de la Sheet 2 – la 147 - avant le transfert, toutes les formules des lignes 4152 à 3 comporteront les mêmes modifications.

Si ce n’est pas ce que tu veux, si tu souhaites mettre en place les formules d'une autre manière, il faut expliquer clairement tes souhaits et je modifierai la macro en conséquence.

Cela me semble très correcte.

Mais à nouveau, si tu dois réellement ajouter des colonnes, dis avec précision tes besoins et je verrai si je vois une solution x ou y. Pense cependant un peu plus loin et réfléchis déjà à tout ce qui devrait/pourrait encore être ajouté. Dans certain cas, on laisse des colonnes vides et masqués à certains endroits ou il pourrait y avoir des choses à rajouter. Un exemple : La colonne A est utilisée, les colonnes B à F simplement masquées et la colonne G est également utilisée. Si un jour on a besoin de la colonne B par exemple, on l’ouvre simplement et la colonne G reste la G.

Je rajouterais pas de colonnes entre celle déjà utilisé.

Du fait que c’est un fichier encore en développement, ce que je veux dire, c’est que demain je pourrais éventuellement, rajouter des formules dans les colonnes après T. Par exemple dans les colonnes U, V, W.. L’Ideal éventuellement serais de dire « si la dernière cellule a partir de la colonne U est remplis, aussi copier la formule ».. (Juste une idée..) Mais si c’est pas le cas, cest pas grave, je copie simplement les formules.

J’ai testé en mettant une formule en U et V et comme tu explique la formule ce copie bien sûr pas, mais la macro ne donne pas d’erreur, donc dans ce cas-là, je peux éventuellement simplement copier la formule ?

et deuxièmement on pourrait réduire le nombre de formules mises en place si tu ne les utilises de toute façon pas toutes. Je te dis cela car il semble que tu ne travailles que sur les lignes sur lesquelles se trouve ‘’19 heures’’ en colonne A. Si les formules des autres lignes n’étaient pas utiles, on économiserait 23/24ème de la place prise par les formules inutiles (23 lignes * 13 colonnes * 166 jours dans le fichier ‘’Source 2.0’’ = 49’334 formules inutiles !)

Difficile pour moi de te répondre la. Effectivement comme tu indiques, une valeur seras le plus souvent mis dans la colonne D a « 19 heures ». Maintenant il arrive que l’heure est différente et peut être a « 20 heures » ou « 22 heures » par exemple. Ce qui poseras problème dans ces cas. Et comme je doit d’abord avoir les lignes pour pouvoir mettre une valeur en D.

Je proposerais, que une fois que le fichier devient trop lourd, et que j’ai finis de remplis les valeurs en D, je supprime manuellement les lignes non utile dans le sheet 2. Cela ne prend vraiment pas beaucoup de temps a supprimé par la suite les lignes inutile, je pense. Naturellement je comprends qu’un spécialiste comme toi, bidouillerais une macro qui fait tout cela automatiquement.

Encore une fois merci, et je te souhaite une bonne soirée.

Salut Swoopy,

La macro met la ligne a jour si il y’a une valeur en D, mais met un chiffre, pas une date et heure, car le format de la cellule est en « nombre». Mais c’est un détail, car je peut changer le format très facilement manuellement comme dans les dernières lignes de la colonne T.

Tu ne veux quand même pas puriner à la main, non ? On va automatiser cela.

A première vue, le format des cellules est celui de base lorsque l’on ajoute des lignes et il devient celui des cellules copiées lors de la copie des formules vers le haut, raison probable pour laquelle la colonne T a un format de base. Je n’ai pas cherché à vérifier. En revanche, j’ajoute une ligne dans le code afin de mettre au bon format cette colonne après le rajout des lignes.

L’Ideal éventuellement serais de dire « si la dernière cellule a partir de la colonne U est remplis, aussi copier la formule ».. (Juste une idée..)

Si ton fichier était complété sans fin et que toutes les colonnes après la U devaient contenir des formules, je dirais pourquoi pas ! Mais dans un premier temps il me semble plus simple de modifier le code en conséquence, ce que tu pourrais éventuellement faire toi-même. Les deux lignes ci-dessous concernent chacune la recopie vers le haut des formules de la dernière ligne, la première pour un groupe de colonnes (E à P), la deuxième pour une colonne unique, la R.

Range("E" & j & ":P" & j).AutoFill Destination:=Range("E3:P" & j), Type:=xlFillCopy

Range("R" & j).AutoFill Destination:=Range("R3:R" & j), Type:=xlFillCopy

Tu pourrais alors modifier par exemple la deuxième ligne pour en faire une instruction valable sur les colonnes R à XXXX ou copier/coller une de ces deux lignes pour traiter d’autres lignes, etc. Si c’est plus simple pour toi – mais ce serait moins joli, et la beauté et très importante dans les macros – tu pourrais aussi copier/coller la ligne de la colonne R et l’utiliser autant de fois que nécessaire pour d’autres colonnes individuelles.

Je proposerais, que une fois que le fichier devient trop lourd, et que j’ai finis de remplis les valeurs en D, je supprime manuellement les lignes non utile dans le sheet 2. Cela ne prend vraiment pas beaucoup de temps a supprimé par la suite les lignes inutile, je pense. Naturellement je comprends qu’un spécialiste comme toi, bidouillerais une macro qui fait tout cela automatiquement.

Pour la beauté du geste, on pourrait effectivement automatiser cela, par exemple en contrôlant et supprimant à chaque ouverture du fichier les lignes qui datent depuis un moment (par exemple supprimer les lignes de plus de 2 mois, de plus de 1 an, de plus de 131 jours, etc.). A toi de voir.

Amicalement.

7base-v6.xlsm (61.87 Ko)

Bonjour yvouille,

Encore une fois.. Merci pour ce retour et solution.

Tu ne veux quand même pas puriner à la main, non ? On va automatiser cela.

Ben voila.. Je viens de tester. Et encore un truc qui fonctionne à merveille.

Tu pourrais alors modifier par exemple la deuxième ligne pour en faire une instruction valable sur les colonnes R à XXXX ou copier/coller une de ces deux lignes pour traiter d’autres lignes, etc. Si c’est plus simple pour toi – mais ce serait moins joli, et la beauté et très importante dans les macros – tu pourrais aussi copier/coller la ligne de la colonne R et l’utiliser autant de fois que nécessaire pour d’autres colonnes individuelles.

Mais c'est génial. Sympas ta solution ! Effectivement, si je rajoute des formules dans les colonnes suivantes, je modifie les lignes indiquées. Je devrais me débrouiller.

Pour la beauté du geste, on pourrait effectivement automatiser cela, par exemple en contrôlant et supprimant à chaque ouverture du fichier les lignes qui datent depuis un moment (par exemple supprimer les lignes de plus de 2 mois, de plus de 1 an, de plus de 131 jours, etc.). A toi de voir.

Bof.. Les données je vais les garder min un an. Mais comme tu as indiqué, le plus souvent les lignes utilisé serons celles de 19h chaque jour. Et c’est donc dans pour ces lignes qu’une valeur est remplis dans la colonne D du sheet 2. Ce qui veut dire que toutes les autres lignes ne sont pas nécessaires dans le fichier.

Je dirais donc, si tu souhaites une solution, « pour la beauté du geste ».. Eventuellement travailler avec une troisième bouton et macro donc, qui (une fois que j’ai remplis les données en D) vérifie si il y’a une valeur en D, si pas , supprime la ligne. Qu’n pense tu ?

Bonne soirée.

Rechercher des sujets similaires à "analyse min max periode"