Supprimer lignes de coulurs

Résolu
gambleway Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
 gambleway -
Bonjour la communauté,

Débutant en VBA je viens profiter de l'éxpérience des professionnels.
J'ai codé, hier une macro permettant de colorer certaines cellules des lignes en fonction des critères.
J'aimerai aujourd'hui, supprimer les cellules de couleurs violettes (7) ainsi que l'ensebmle de la ligne ou elle se situe en gardant la premiere colonne (colonne A ).
Pour l'instant, le programme ne fontionne pas. Si je remplace DeleteEntireRow par ClearContents, J'arrive à supprimer le contenu des cellules violettes de la première ligne mais pas plus...
Si vous avez des idées ou suggestions pour que je progesse, je suis preneur.

Merci à vous.

Sub Erase_resigned_People()

Dim Number_Resigned As Integer
Number_Resigned = 0
Dim nb_of_columns As Integer
nb_of_columns = 0



While Len(Range("B20").Offset(Number_Resigned, 0).Value) <> 0
Number_Resigned = Number_Resigned + 1
Wend


For nb_of_columns = 0 To 12

' Supprimer les cellules viollettes
If Len(Range("B20").Offset(Number_Resigned, nb_of_columns).Value) <> 0 Then

If Range("B20").Offset(Number_Resigned, nb_of_columns).Interior.ColorIndex = 7 Then
Range("B20").Offset(Number_Resigned, nb_of_columns).DeleteEntireRow
End If

End If

Next



End Sub
A voir également:

1 réponse

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Pas évident de comprendre la finalité !
A priori, ton code balaye la colonne B depuis la cellule B20, recherche la première cellule vide puis balaye 13 cellules de cette ligne (colonnes B à N), vérifie si les cellules renseignées ont une couleur violette et supprime la ligne si c'est le cas.
En résumé, sur la ligne Number_Resigned, si une cellule des 13 colonnes B à N est violette, on supprime la ligne entière. C'est bien ça ?

A+
0
gambleway Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
ll ballait mes cellules et recherche celles qui sont vides qui sont inutiles . Ensuite il supprime la ligne entière si il detecte une cellule violette .

A+
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526 > gambleway Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Ce que je veux te dire, c'est que dès l'instant où une cellule violette a été trouvée, tu peux sortir de la procédure puisque la ligne entière est supprimée.

A+
0
gambleway Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Donc tu me conseilles de ne faire qu'une boucle et de me concentrer que sur une seule colonne au lieu du tableau. C'est bien ca?
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526 > gambleway Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Non, je voudrais que tu m'expliques ce que tu attends de ton programme.
Avec un fichier exemple et quelques explications, ce serait plus simple.

Pour joindre un fichier : https://www.cjoint.com/

A+
0
gambleway > Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Gyrus,

J'ai finalement pu résoudre mon problème. Je serai plus expicite lorsque je poserai une question.
Merci à toi.

A+
0