Plage horaire

Bonjour à toutes et à tous

Je suis nouveau sur le forum et j'utilise excel depuis des années et je trouve ce logiciel très intéressant. Aujourd'hui, j'ai un petit souci d'extraction de données. Je n'arrive pas à formuler celle-ci.

condition : la plage horaire que l'on compare fait 10" et se trouve en colonne (A1:B6) puis on recherche celle-ci dans les plages horaires (C1:D6). Si celle-ci peut s'imbriquer ou se trouver alors le résultat est "1".

ex: dans la première ligne , colonnes (A1:B1) la plage comprise entre : 13:00:00 et 13:00:14 se retrouve-t-elle dans les colonnes (C1:D6) ?

colonne A colonne B colonne C colonne D colonne E

L1 13:00:00 13:00:14 13:00:04 13:00:20 =3

L2 13:00:20 13:00:34 12:59:50 13:00:14 =1

L3 13:00:30 13:00:44 13:00:34 13:00:45 =1

L4 13:00:40 13:00:54 13:00:45 13:00:55 =1

L5 13:00:50 13:01:04 13:00:49 13:00:59 =0

L6 12:59:59 13:00:10

Le résultat E1= 3 est le nombre de fois que l'on retrouve la plage de 10" dans (A1:B1) en (C1:D5).

La plage (A1:B1), est retrouvée dans (C1:D1), plage [13:00:04-13:00:14], qui contient au moins les 10"

La plage (A1:B1), est retrouvée dans (C2:D2), plage [13:00:00-13:00:10], qui contient aussi ces 10".

La plage (A1:B1), est retrouvée dans (C6:D6), plage [13:00:00-13:00:10), qui contient au moins 10".

Le résultat E5 = 0 car la plage [13:00:50-13:01:00] n'est pas retrouvée dans les colonnes (C1:D6). il aurait fallu avoir les valeurs en (C5:D5) la plage suivante [13:00:49-13:01:00].

Je vous remercie par avance.

Salut et bienvenue sur le Forum,

Si ton problème est toujours d'actualité, tu devrais nous fournir un fichier exemple.

Cordialement.

Bonjour et merci

Mon problème est toujours d'actualité et j'aurais besoin d'un coup de main sur ce problème. Je joins un fichier exemple avec explications, en espérant que cela soit clair.

Merci beaucoup

Cordialement

Bonsoir,

Je ne comprends pas grand-chose à tes explications. Il semble que tu as supprimé une colonne C à un certain moment donné, que tu donnes une partie de tes explications par rapport à d’anciennes références (lorsque tu parles des plages D2:E7) et parfois par rapport à tes nouvelles références (lorsque tu parles de la plage C7:D7 par exemple).

Peux-tu alors, sur la base du fichier ci-joint – dans lequel je reprends ton ancienne feuille – me donner les explications concernant les résultats désirés mais uniquement pour les lignes 2 et 7 de façon à ce que ça m’embrouille moins ?

A te relire.

bonjour,

Effectivement ma présentation n'était pas explicite de la sorte, excuses moi.

J'ai essayé d'être plus clair et avec des schémas pour imager ma pensée. Merci

Cordialement

Salut,

Dans le fichier ci-joint j’ai placé un code qui devrait réaliser tes souhaits. Dans la colonne E de la feuille ‘Essai’, tu as les résultats indiqués par toi et dans les colonnes G et suivantes, tu as l’indication des relations entre les dates de départ de la ligne concernée avec les dates d’arrivée correspondantes. Si tu ne désires pas cette deuxième partie, on peut bien entendu la supprimer.

Il serait peut-être utile d’effectuer plus d’essais avec des données limites (par exemple les deux groupes ont exactement la même durée de 10 secondes seulement, etc.

A te relire.

Bonsoir,

En premier lieu je tiens à te remercier pour ton aide. Chapeau bas pour ton code, cela fonctionne avec l'exemple que je t'ai soumis. L'information supplémentaire sur l'origine des données extraites est très bien mais, mais pas utile dans ma recherche. Par contre bravo.

Je ne connais pas ou très mal le VBA. D'habitude j'utilise des formules pour m'en sortir et parfois certaines macros mais cela reste basic.

Par contre peux-tu m'aider de nouveau. Je ne vois pas comment appliquer ton code à mon tableau général sachant qu'il y a plus de colonnes à tester. A la base, je pensais pouvoir appliquer une formule mais là, je coince.

Existe-t-il une formule qui pourrait se substituer à ton code ? sinon peux-tu regarder mon tableau et voir comment appliquer ton code magique .

En attendant je te remercie et te souhaite une bonne soirée.

Cordialement.


J'ai u petit soucis mon fichier fait un petit plus de 2 mo, impossible de le joindre. Comment faire si seulement 300ko peuvent se télécharger ??

Merci

je n'ai trouvé que cette parade "compressé" et "raccourci" désolé mais merci d'avance

Salut,

Je me suis passablement cassé la tête avec ta demande et tu m’avoues maintenant que ton premier fichier n’a strictement rien à voir avec ton fichier réel. Donc tout mon boulot était pratiquement dans le vide.

Tu me présentes maintenant un nouveau fichier, mais tu m’indiques qu’il ne correspond toujours pas à la réalité. Je n’ai donc pas l’envie de t’offrir une deuxième fois mes services pour rien.

Merci d’indiquer éventuellement ce fil comme ‘Résolu’ (en cliquant sur le petit V vert dans l’un de tes messages) et d’en ouvrir un nouveau en jouant cartes sur table.

Tu peux placer un fichier énorme par le site CJoint http://cjoint.com/ Si ça ne suffit toujours pas, propose éventuellement d’envoyer ton fichier par courriel.

Cordialement.

c joint 2013

Bonsoir

Dire que j'ai utilisé votre temps à perte, c'est faux. Dire que votre travail n'a servi à rien, c'est faux. Dire que votre travail n'a pas été reconnu, c'est encore faux. Désolé de vous avoir froissé et mea culpa si je ne me suis pas fait comprendre.

Lors de ma réponse, j'ai précisé que je ne savais pas comment appliquer votre code sur mon problème étant néophyte sur ce sujet. Le fait de vous avoir demandé une aide sur un modèle, je pensais obtenir une solution adaptée et transposable à mon tableau pour résoudre mon problème. Ce qui me semblait difficile d'appliquer ne maitrisant pas le VBA.

Votre solution est géniale, mais ne savant pas comment l'adapter, je vous ai sollicité de nouveau. Et voir si une formule peut mieux me convenir pour pouvoir l'appliquer.

Malgré ce quiproquo, je suis désolé que vous réagissiez de la sorte comme si je vous avais menti. Ce n'était pas mon attention et loin de moi cette pensée. D'ailleurs à problème une parti est résolu et s'il faut cocher une case je le ferai...

Sur ce je vous souhaite une bonne soirée.

Ps merci pour l'explication d'envoi de gros fichier.

Salut,

Je n’étais effectivement pas très content hier soir lorsque j’ai constaté que le premier fichier que tu avais envoyé n’était pas identique à ton fichier réel, mais je ne crois pas avoir dit non plus que tu m’avais menti ou que tu ne reconnaissais pas le travail déjà fait.

Ce Forum est génial et pour supprimer le petit V vert, il suffit de cliquer sur le petit V rouge

Si ça te dit, tu peux m’envoyer ton fichier réel par le site CJoint (et si ça ne passe toujours pas je t’envoie un deuxième message privé avec une adresse électronique à laquelle tu pourras m’écrire) et je vais quand même regarder la suite de ton problème.

Cordialement.

Salut,

Je reviens sur le Forum pour continuer la discussion. J’ai bien reçu ton fichier en message privé. Celui-ci à une taille de 3'600 Ko environ et pourrait tout à fait être transféré par le site Cjoint http://cjoint.com/. J’espère que tu ne vois pas d’inconvénients à ce que j’en place un exemplaire sur le Forum si nécessaire d’ici quelques temps.

Pour répondre à ta question en privé, je ne pense pas que la résolution de ton problème soit possible par formules.

Avant que je me lance dans la modification de la macro, j’aimerais bien comprendre un ou deux trucs en plus.

Dans les colonnes E, H, K, etc., tu veux bien à chaque fois le total des occurrences trouvées dans les deux tableaux ‘Zone de recherche 1’ et ‘Zone de recherche 2’ et non pas une fois le total d’une zone et l’autre fois le total de l’autre zone ?

Tu voudrais pouvoir rajouter des colonnes ‘début’ et ‘fin’ à tes tableaux ‘Zone de recherche 1’ et ‘Zone de recherche 2’ et que la recherche se fasse également sur ces nouvelles colonnes ?

Tu m’as fourni une feuille ‘Départ 1’ et une autre ‘Départ 2’ et j’ai remarqué que la seule différence se trouve normalement dans la cellule masquée B2. Est-ce simplement pour me montrer deux séries de données différentes ou est-ce que ma macro doit fonctionner sur un nombre encore plus grand de feuilles ?

A te relire.

NB : Indique à nouveau ton fil comme non résolu en cliquant sur le petit V rouge dans l'un de tes messages. Je visualise mieux les fils à traiter encore dans ma liste de fil en cours.

Bonjour

Merci pour la réponse. Concernant la diffusion du fichier , pas de problème on peut le partager.

Effectivement vous avez bien cerné le sujet. Dans les colonnes E, H, K, les colonnes résultat, je souhaite faire afficher le nombre de fois où la condition de C5:D5 apparait dans les zones de recherche 1 [BF5:BG1444], [BH5:BI1444]....[CN5:CO1444] et en 2 [CQ5:CR1444], [CS5:CT1444], ....,[DY5:DZ1444].

L'ajout de colonnes 'début' 'fin', si cela est possible bien sûr, serait sur les feuilles départ 1&2 aussi bien dans les zones de recherche que sur la partie résultat. Si cela doit doit ralentir l’exécution de la macro, on restera sur ce nombre de colonnes.

Concernant la variable B2, elle n'intervient que sur les fréquences des plages des feuilles départ 1 & 2. Je dois pouvoir la modifier sans influer sur la macro.

Les feuilles départ 1 et départ 2 sont indépendantes. Mais elles restent dans le même schémas de recherche.

La macro doit être propre à sa feuille. Donc dans ce cas, 2 macros distinctes mais semblables.

Est possible de mettre la condition de 10" dans une cellule de référence de façon que je puisse augmenter ou diminuer celle-ci ?

Je pense n'avoir rien oublié et merci beaucoup pour cette aide.

Comme convenu je coche non résolu.

Cordialement

Salut,

Dans le fichier ci-joint, j’ai transformé ma première macro – par rapport au fichier que tu m’avais tout d’abord présenté – pour ton nouveau fichier.

Je ne me suis pas encore intéressé à des colonnes complémentaires, ni dans le tableau de gauche, ni dans tes deux tableaux de droite.

Pour simplifier les choses, j’ai supprimé la colonne entre tes deux tableaux de droite et j’ai réduit le nombre de ligne à 3.

Si tu lances la macro en place derrière le ‘Bouton 1’ après avoir indiqué 10 secondes dans la cellule B4, le code dure environ 40 secondes sur un PC assez lent et le nombre de résultats trouvés s’affiche dans les colonnes E, H, K, etc.

Afin de contrôler plus facilement les résultats, tu peux prolonger la durée en B4, ce qui permet d’avoir moins de cas possibles. Si tu indiques 1 minute en B4, la macro dure un peu moins longtemps (environ 30 secondes).

Tu peux pousser les choses un peu plus loin et indiquer 1 minute 10 secondes en B4. La macro est alors très, très rapide (1 à 2 secondes) et seul un résultat est trouvé ; il correspond aux plages marquées en jaune dans les tableaux de gauche et de droite.

Cette macro effectue 5'832 contrôles de base à chaque fois [(3 lignes x 18 colonnes ‘Début-Fin’ à gauche) x (3 lignes x 36 colonnes ‘Début-Fin’ à droite)].

Si tu désires travailler avec autant de cellules que celles que tu m’as présentées sur tes feuilles à toi, il faudrait effectuer 1'343'692'800 contrôles de base [(1’440 lignes x 18 colonnes ‘Début-Fin’ à gauche) x (1’440 lignes x 36 colonnes ‘Début-Fin’ à droite) ou 1 milliard et quelques], soit 230'400 fois plus de contrôles.

Si tu choisis une période de 10 secondes en B4, il faudrait donc environ 230'400 fois 40 secondes pour effectuer tous les contrôles voulus sur un PC assez lent (environ 2'560 heures) et un peu moins longtemps pour un PC plus rapide.

Je me demande si Excel est vraiment le bon programme pour effectuer un tel travail. Je vais encore essayer de passer par des tableaux, mais il me faudra 3 à 4 jours pour cela …… et sans garantie.

NB : Bizarrement, bien que j’aie supprimé tes deux feuilles exemple assez énormes, ce fichier reste lui-même énorme. Est-ce à cause de mises en forme invisibles ? J’ai bien tenté de supprimer les lignes en-dessous des lignes utilisées, mais rien n’y fait. Ce fichier va donc très long à être enregistré et/ou téléchargé.

Cordialement.

Bonjour

Merci pour le travail. Pour les colonnes supplémentaires dans l'immédiat, on peut mettre de coté celles-ci si cela peut faciliter la tache. Le principal est que j'arrive à résoudre mon problème d'extraction. Par contre l'analyse sur 1440 lignes dans mes tableaux est nécessaire.

Effectivement pour la taille du fichier, un peu gros, J'ai supprimé les cellules vides de la feuille manuellement ( par zone, car message "pas assez de ressources") . Après enregistrement la taille a bien baissé.

Je pense quand j'ai voulu appliqué le format "heure" aux cellules, j'ai du sélectionner les colonnes, c'est peut être la raison.

Concernant la valeur B4, elle peut varier uniquement que de 7" en plus, 17" maximum au lieu de 10" aujourd'hui.

Je joins de nouveau le fichier, allégé, afin de voir que la macro semble présenter quelque anomalie ou bien autre chose.

J'espère que mes remarques seront utiles pour cette recherche. Merci encore.

Cordialement

Salut,

Tu trouveras en annexe une nouvelle version du fichier avec une correction qui devait résoudre le problème que tu mentionnais. Merci d’effectuer des contrôles de ces corrections.

Eventuellement que si la taille du fichier diminuait, peut-être que l’on gagnerait du temps sur la macro. Peux-tu alors remettre dans le fichier ci-joint – que je te demanderais d’appeler ‘Exemple_de_calcul_V5’ pour faciliter si nécessaire la discussion – une feuille avec 1440 lignes MAIS NETTOYEES, je veux dire en enlevant les mises en forme inutiles afin d’en réduire la taille. J’ai bien essayé de le faire moi-même, mais j’ai à tout bout de champs le message ‘Ressources insuffisantes’.

Je pourrai alors continuer à chercher une solution afin que tu puisses traiter tes 1440 lignes ou plus (et éventuellement plus de colonnes).

A propos, as-tu toujours le même nombre de lignes entre le tableau de gauche et les deux tableaux de droite ?

A te relire.

Bonjour

Je regarderai le fichier ce week-end, je suis absent de chez moi jusqu'à samedi.

Merci

Cordialement

Bonjour

Pas de problème rencontré avec la correction. Cela fonctionne bien. En ne rentrant que des valeurs sans formules et en supprimant les couleurs de résultat , je pense le fichier serait moins gros. D'ailleurs j'opèrerai de la sorte pour l'ensemble des colonnes.

J'ai besoin que le calcul se fasse sur 1440 lignes maxi dans les tableaux "résultat" et dans ceux de "zone de recherche 1 et 2".

Pour les colonnes on en reste à celles présentes dans le fichier. Au besoin je le réutiliserai comme modèle si c'est possible bien sûr.

Mille merci pour ce travail et cette volonté de m'aider. Je joins le fichier épuré au maximum.

Cordialement.

Salut Marcelo,

Afin de pouvoir tenter de répondre à ta question, j'ai dû moi-même poser une question sur le Forum. Si tu veux suivre la discussion :

https://forum.excel-pratique.com/excel/tableaux-vba-depassement-de-capacite-t52006.html

Je te tiens au courant - si je reçois une réponse - de l'aide que ça peut m'apporter pour la suite de ton problème.

Cordialement.

bonsoir

j'ai suivi le lien et j'avoues ne rien comprendre en VBA. merci espérons qu'une solution émerge de vos brillants esprits .

cordialement

Rechercher des sujets similaires à "plage horaire"