Macro

Résolu
Aurélie -  
ccm81 Messages postés 11033 Statut Membre -
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.
A voir également:

6 réponses

ccm81 Messages postés 11033 Statut Membre 2 433
 
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
ccm81 Messages postés 11033 Statut Membre 2 433
 
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
Aurélie
 
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
Maurice
 
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
ccm81 Messages postés 11033 Statut Membre 2 433
 
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
Aurélie
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 11033 Statut Membre 2 433
 
OK,

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

Cdlmnt
0
Aurélie
 
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
ccm81 Messages postés 11033 Statut Membre 2 433
 
0
Aurélie
 
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