Calculs de durées (complexes) Excel VBA



Bonjour,

Ci-joint une photo qui explique assez bien mon problème car je ne vois pas comment le décrire.
Les chiffres en rouge on été calculés de tête car l'exemple est simple mais le fichier réel (qui est confidentiel) comporte un tableau de ce type de 80.000 lignes et il me faudrait trouver une petite macro pour automatiser ce calcul. (De préférence une macro car une formule x80000 rendra le fichier trop volumineux).

Je vous remercie d'avance ! :)

3 réponses

  1. Contributeur
    Bonjour,

    TU as fait une photo, OK, avec des données bidon, OK.

    envoie nous le classeur de cette photo pour nous éviter de passer du temps inutile à recopier bêtement ton œuvre
    Cela nous permettra aussi de tester la rapidité d'exécution
    d'avance Merci
    Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
    et faire un clic droit-coller le raccourci dans votre message

    Dans l’attente
     Michel
    0
    1. Bonjour Michel,

      Voici le lien https://mon-partage.fr/f/WoZUgqn6/
      (J'avais voulu le partager mais impossible de mettre une pièce jointe et je ne connaissais pas ce site de partage, c'est vraiment très pratique!)

      Merci :)
      0
    2. Contributeur
      @EngineerinGirlBonjour

      Merci, bien reçu

      1/Pourquoi des machines sont elles inscrites (par ex A ligne 2 ) sans indisponibilité ?

      2: actuellement on va remplir les 80000 lignes mais après si 1 ou N machines sont indisponibles que fait on?

      on travaille seulement sur ces nouvelle indisponibilités ?
      on recommence tout ?

      Ta demande ne concerne t'elle pas ton autre question sur ccm ( heures de vols par mois depuis 2010)?
      0
    3. Oui en effet il s'agit du même fichier mais ce sont 2 questions totalement différentes.

      1) A B et C sont des aéronefs, chaque ligne correspond normalement à un vol donc la ligne 2 ici signifie que l'aéronefs a été utilisé ce jour là. Mais parfois il y a des maintenances et elles sont inscrites dans cette même base de donnée.
      Dans l'exemple ci-dessus, le 1er Janv A a volé, mais le 3 Janv A débute une maintenance qui dure jusqu'au 5 Janv. Je ne sais pas si je suis très claire...

      2) Je ne suis pas sure de comprendre la question. Chaque aéronefs A B C est indépendant, ils sont soit en utilisation et donc font des vols, soit indisponibles car en maintenance. Et une fois que la maintenance est finie, ils reprennent les vols.
      0
    4. Contributeur
      @EngineerinGirlOK pour le 1/: c'est important pour le code: chercher sur toutes les lignes ou que sur celles où il y a une indisponibilté

      pour 2: je me suis mal exprimé, passons..

      mais peut-^tre que gbinforme et moi allons te proposer une solution chacun alors que si le but est de prévoir un graphique mois/mois sur une année un seul code pourrait suffire...
      de toutes façons les codes devraient ^tre cousins
      je te propose quelque chose en fin d'aprèm ou demain (l'algo est fait)
      0
    5. @michel_mMerci beaucoup Michel :)
      0
  2. Contributeur
    une solution possible
    j'aimerai savoir le temps pour tes 80000 lignes (ou au moins 10000)
    car je voudrai testé une autre méthode rapide + tard
    d'avance merci
    https://mon-partage.fr/f/FJDriYej/
    0
    1. "Durée pour 21 lignes : 0.03 sec."
      ça ferait moins de 2 minutes pour 80000 lignes c'est rapide!
      0
    2. Contributeur
      @EngineerinGirlmerci
      ça ferait moins de 2 minutes pour 80000 lignes c'est rapide!
      peut-^tre plus rapide car au départ il faut mettre en mémoire 80000 lignes et 4 Colonnes

      c'est sensible avec quelques milliers de lignes (10000)

      Maintenant, si cette durée te convient, on peut en rester là :o)
      0
    3. @michel_mOui oui la durée convient absolument ! Le but c'est juste que le fichier ne soit pas trop lourd et que ça ne prenne pas non plus une heure ^^
      0
    4. Contributeur
      @EngineerinGirlA l'occasion, dis moi le temps pour 80 000 lignes
      D'avance merci
      0
    5. @michel_mJ'ai fait une bêtise hier, je n'avais pas adapté le nom de la feuille donc la macro a tourné sur la 1ere feuille du fichier mais qui n'est pas la bonne et la en réessayant avec la bonne j'ai des soucis mdr des indices qui n'appartiennent pas à la selection...

      (Désolée pour le retard de mes réponses aujourd'hui, j'ai souvent des trucs qui me tombent dessus au dernier moment au boulot ahah demain je ferai un exemple plus complet et réaliste à partir du fichier d'origine en changeant les données confidentielles)
      0
  3. Contributeur
    Bonjour,

    J'ai jeté un œil sur ton classeur CCM. xlsm et effectivement ca ne peut pas marcher
    Pourquoi?

    ton classeur "exemple" est complètement différent de "CCM;xlsm"


    classeur exemple
    Machine colonne A, Date col B, début col C, fin col D, durée col E
    classeur CCM
    machine col E, date col B, debut col X ,fin col Y durée col AE


    si bien que les quelques heures de travail bénévole que j'ai fourni suivant ton exemple sont anéanties par ton inconséquence.

    je n'ai du tout envie de repasser 1 ou 2 heures à redéfinir les variables-tableaux , modifier les codes en fonction et tester le code, opérations toujours casse-g...

    Bonne continuation
     Michel
    0

    Discussions similaires

    CALCULS

    4 réponses