[VBA] Supprimer Lignes selon Couleur cellule

soaresden

XLDnaute Nouveau
Bonjour a tous !
Voila je souhaiterai automatiser un fichier excel
et dans une macro j'aurai besoin de supprimer une ligne selon sa mise en forme


"Rechercher dans toute la feuille
Des qu'il y'a une cellule a fond rouge, supprimer la ligne"


A savoir :

J'ai trouvé 2 ou 3 trucs sur d'autre forum mais cela ne marche pas.

Voici le fichier:
VBA.xlsm - File Shared from Box.net - Free Online File Storage 370ko
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : [VBA] Supprimer Lignes selon Couleur cellule

Bonjour soaresden, Hulk :), klin89,
Sans un fichier exemple difficile de deviner tout... :rolleyes:, mais peut être avec ça :
Code:
Sub Test_2()
Derligne = Range("A" & Application.Rows.Count).End(xlUp).Row
For Each C In Range("AE2:BH" & Derligne)
    If C.Interior.ColorIndex = 3 Then C.EntireRow.Delete
Next C
End Sub
Cordialement
 

soaresden

XLDnaute Nouveau
Re : [VBA] Supprimer Lignes selon Couleur cellule

Bonjour soaresden, Hulk :), klin89,
Sans un fichier exemple difficile de deviner tout... :rolleyes:, mais peut être avec ça :
Code:
Sub Test_2()
Derligne = Range("A" & Application.Rows.Count).End(xlUp).Row
For Each C In Range("AE2:BH" & Derligne)
    If C.Interior.ColorIndex = 3 Then C.EntireRow.Delete
Next C
End Sub
Cordialement

NICKEL !!!

Juste un dernier problème, avec la mise en forme conditionnelle sous Excel (et non sous vba) cela ne fonctionne pas
Je suppose qu'il faut que je traduise cela sous VBA ?

Merci beaucoup en tout cas c'est super efficace !

edit: le fichier est dispo depuis 1er message :
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : [VBA] Supprimer Lignes selon Couleur cellule

Re
L'eternel problème des MFC à utiliser comme structure.....
Pour masquer les lignes contenant une MFC, il faut utiliser la formule de la MFC dans la macro. Enfin bref, pour cela il faut, devine quoi ?... .... un fichier exemple ;).
Cordialement
 

Efgé

XLDnaute Barbatruc
Re : [VBA] Supprimer Lignes selon Couleur cellule

Re
Tous le monde ne peux pas aller sur ton lien (moi le premier), fait un exemple de moins de 50Ko et poste le; sinon quelqu'un d'autre pourra peut être t'aider.
Cordialement
 

Efgé

XLDnaute Barbatruc
Re : [VBA] Supprimer Lignes selon Couleur cellule

Re
Il faut bien comprendre que nous (je) sommes (suis) sur un réseau d'entreprise et que les administrateurs voient d'un (très) mauvais oeil les sites de téléchargement (quickupload, megaupload, etc...).
Je (nous) ne pourrai (pourons) rien faire tant que je (nous) n'aurai (n'aurons) pas un fichier Xls et/ou la formule de la mise en forme.
Désolé de ces "contraintes".
Si tu arrive à 59Ko il suffit peut être de supprimer certaines données, feuilles vides, tableaux inutiles pour le problème etc...
Sur ce , de toute façon, il n'est pas certain que je puisse te donner la solution complète :cool:
Cordialement
 

soaresden

XLDnaute Nouveau
Re : [VBA] Supprimer Lignes selon Couleur cellule

Voila ! J'ai bien galéré mais j'ai réussi !

Bon y'a plus rien !
Heureusement que les macros fonctionnent !

Je te/vous conseille d'appuyer sur les 2 boutons au préalable !
 

Pièces jointes

  • VBA.xlsm
    29.4 KB · Affichages: 301
  • VBA.xlsm
    29.4 KB · Affichages: 320
  • VBA.xlsm
    29.4 KB · Affichages: 347

Efgé

XLDnaute Barbatruc
Re : [VBA] Supprimer Lignes selon Couleur cellule

...Je ne pourrai rien faire tant que je n'aurai pas un fichier Xls et/ou la formule de la mise en forme...
Il à donc falu attendre que je soi devant une version 2007 pour découvrir le fichier :rolleyes:.
Je propose:
Code:
Sub Test2()
Derligne = Range("A" & Application.Rows.Count).End(xlUp).Row
For i = Derligne To 3
    For j = 31 To 35
        If Cells(i, j) = Cells(1, j - 30) Then Cells(1, 1).EntireRow.Delete
    Next j
Next i
End Sub
Cordialement
EDIT ça n'a pas l'air de fonctionner, Désolé.
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : [VBA] Supprimer Lignes selon Couleur cellule

Re à tous,
Une dernière proposition qui semble convenir à la demande :
Code:
Sub Test3()
Application.ScreenUpdating = False
Derligne = Range("A" & Application.Rows.Count).End(xlUp).Row
For j = 31 To 35
    For i = Derligne To 3 Step -1
        If Not Cells(i, j) < Cells(i, j - 30) Then
            Cells(1, 1).EntireRow.Delete
            Exit For
        End If
    Next i
Next j
Application.ScreenUpdating = True
End Sub
Cordialement
 

soaresden

XLDnaute Nouveau
Re : [VBA] Supprimer Lignes selon Couleur cellule

Bonjour !

Je tiens a te remercier pour le temps que tu me consacre, j'apprecie vraiment

J'aime comprendre les codes VBA, mais la je crois comprendre que tu transforme la mise en forme conditionnelle en surveillance de la valeur en A1 n'est ce pas ?

Ce qu'il faut comprendre dans le excel:


Il faut comparer la valeur dans les colonnes avec la valeur du dessus AE1;AE2 ... -> (2;3;4;4;5) (ces valeurs, correspondent a des = de la feuil 1 respectivement en BE1;Be2;be3;be4;be5...)

Lorsque j'execute ta macro, ca m'efface aussi la première ligne :/ et je voudrai la garder !
 

Pièces jointes

  • VBA.xlsm
    42 KB · Affichages: 175
  • VBA.xlsm
    42 KB · Affichages: 187
  • VBA.xlsm
    42 KB · Affichages: 194

Efgé

XLDnaute Barbatruc
Re : [VBA] Supprimer Lignes selon Couleur cellule

Bonjour soaresden,
Il me faut absolument un fichier Excel 2003. Enregistre le tiens en XLS.
(Enregistrer sous/ Compatible 2000 2003). Certtaines fonctionnalités seront perdues mais ce n'est pas important pour ton problème.
A te relire.
Cordialement
 

Discussions similaires