Macro

Résolu
Bonjour à tous,

Je reviens de nouveau faire appel à vous après m'avoir apporté une grande aide, je cherche à présent à trier mon tableau afin d'avoir une meilleure visibilité sur celui-ci. Je vous joint mon tableau afin de mieux comprendre ma situation:
http://cjoint.com/?3DknrZ8oBI0

Encore merci de votre aide.
Aurélie.

6 réponses

  1. De rien

    RQ. Pour le test des cellules vides, je n'ai pris en compte que la colonne Attente. Si Attente peut être non vide et Différence vide, pour conserver la plage, il faudra modifier un peu le code
    1. Ajouter Diff dans la liste des variables déclarées
    Dim SuppPlage As Boolean, Att, hhh As Date, Diff
    2. Ajouter/modifier les deux lignes où Diff intervient (en deux endroits du code)
    Att = .Cells(li1, cohh + 1)
    Diff = .Cells(li1, cohh + 2)
    If Att = "" Or Diff = "" Then SuppPlage = False

    Bonne journée
    1
    1. 0
      1. Bonjour, et bien une fois de plus jolie travail !

        Merci beaucoup encore pour votre temps, pour moi cela va être un gain temps considérable.
        0
    2. OK,

      Un début de réponse à tester, avec quand même deux questions supplémentaires
      https://www.cjoint.com/?3Dmmkr4PsaQ

      Cdlmnt
      0
      1. Bonjour, de nouveau merci c'est super !
        1 - Non, de même c'est aléatoire elle n'est pas toujours du type "hh:mm:00".
        2 - C'est le même traitement s'il y a un vide dans la colonne "Attente" et Différence" il faut conserver toutes les lignes de la minute écoulée.
        0
    3. OK
      Encore trois questions
      3. Veux tu une copie élaguée de ta plage ou on élague carrément la plage elle même (suppression de lignes)
      4. Quel est l'ordre de grandeur du nombre de lignes maxi à traiter
      5. L'heure de la dernière ligne est elle toujours hh:mm:00

      RQ. Tu devrais t'inscrire comme membre sur le site, c'est gratuit et ça permet un accès direct aux liens fournis

      Cdlmnt
      0
      1. Bonjour, merci de me consacrer du temps.
        - Non pas besoin de copie, merci.
        - On peut atteindre près des 50.000 pour certains.
        - Non c'est totalement aléatoire :/

        Oui je pense que je vais faire cela aussi :)
        0
    4. Bonjour
      deja voila une macro pour Del couleur

      Sub supprCouleur()
      Nlig = Range("A" & Rows.Count).End(xlUp).Row
      Coul = Feuil1.Range("E2").Interior.Color
         For L = Nlig To 2 Step -1
            If Range("A" & L).Interior.Color = Coul Then
               Range("A" & L & ":C" & L).Delete Shift:=xlUp
             End If
         Next
      End Sub
      

      A+
      Maurice
      0
      1. Bonjour

        Deux questions (pour le moment)
        1. Pourquoi les lignes 107, 156, 264 ne sont pas à conserver alors qu'en colonne A il y a bien hh:mm:00
        alors que tu as conservé la ligne 210 située en "plein milieu" d'une plage à supprimer
        2. en résumé tu veux garder ?
        - les lignes où Axx = hh:mm:00
        - les plages d'une minute entre hh:mm:00 et hh:mm:59 mais seulement s'il y a des vides en colonnes B et/ou C

        Cdlmnt
        0
        1. Bonjour, excusez mon retard (décalage horaire)
          1 - Oui effectivement j'ai oublié de les surligner

          2 - C'est exactement ça :)

          J'ai plusieurs tableaux à traiter qui me prennent beaucoup de temps, et le gain de de temps serait considérable en raison des nombreuses lignes à traiter.
          0