effacement données suivant couleur de cellule

serval

XLDnaute Occasionnel
Bonjour,

J'ai fait une marco qui me permet d'effacer les valeurs dans des cellules bien définies.
Le probleme est que lorsque je rajoute une ligne ou décalle les colonnes, les cellules effacées ne sont plus les bonnes (logique, VB ne fait pas le "suivi" des cellules) :s

cependant, toutes les cellules qui doivent etre effacées sont toutes de la meme couleur (vert clair).

Je voulais donc savoir s'il etait possible de demander à une macro d'effacer le contenu de toutes les cellules vertes de la feuille par exemple?

Merci de votre aide,
Fabrice

PS: je suis sous excel 2003 ;)
 

JNP

XLDnaute Barbatruc
Re : effacement données suivant couleur de cellule

Bonsoir Serval :),
Le PS était inutile, vu la nouvelle configuration du forum (merci David) qui permet de mettre ta version en entête de ta question ;).
La question est : le vert clair est-il mis par toi, ou dépend-t-il d'une MFC ?
S'il est mis par toi
Code:
Cells(1, 1).Interior.Color
est la propriété renvoyant la couleur de la cellule A1, donc il suffit d'adapter la bonne cellule et la bonne valeur pour tester et supprimer le cas échéant dans ton code. Pour connaître la valeur à utiliser, sélectionner une cellule de la bonne couleur et
Code:
Msgbox Selection.Interior.Color
Si il s'agit d'une MFC, il faut tester si la cellule remplit la condition passant la MFC en vert clair, et la supprimer.
Bon courage :cool:
 

serval

XLDnaute Occasionnel
Re : effacement données suivant couleur de cellule

bonjour,

Désolé pour le "PS", mais je me suis rendu compte de la nouvelle fonctionnalité une fois le texte ecrit ;)

Les couleurs ne depéndent pas d'une MFC. j'ai colorié une fois pour toute, toutes les cellules manuellement.

Je cherche donc le moyen de les effacer toutes d'un coup et que la macro recherche dans la feuille (ou si c'est trop long, sur une zone donnée) toutes les cellules vertes pour effacer leur contenu.

Dans ta formule "Cells(1, 1).Interior.Color", je ne vois pas ou est spécifié quelle couleur doit etre effacée.

Merci de ton aide,
Fabrice
 

JNP

XLDnaute Barbatruc
Re : effacement données suivant couleur de cellule

Re :),
Pour déterminer la valeur de ton vert, je t'avais mis un Msgbox, mais tu peux aussi faire
Code:
Sub test()
Selection.Value = Selection.Interior.Color
End Sub
qui remplacera la valeur de la cellule par la valeur de ton vert (chez moi 5296274).
Ensuite, il vaut mieux travailler sur une zone donnée, vu qu'il va falloir tester toutes les cellules de la zone
Code:
Sub test2()
Dim Cellule As Range
For Each Cellule In ThisWorkbook.Sheets("Feuil1").Range("A1:Z50")
If Cellule.Interior.Color = 5296274 Then Cellule.Clear
Next
End Sub
Si tu préfères, tu peux utiliser
Code:
Sub test3()
Dim Cellule As Range
For Each Cellule In ThisWorkbook.Sheets("Feuil1").Cells.SpecialCells(xlCellTypeConstants)
If Cellule.Interior.Color = 5296274 Then Cellule.Clear
Next
End Sub
qui s'occupera de toutes les cellules contenant des constantes (donc elle n'effacera pas les cellules vertes avec formules).
Etc.
Fait une recherche sur End(xlUp) si tu veux calculer automatiquement ta zone.
Si tu veux laisser le vert, tu peux aussi remplacer Cellule.Clear par Cellule.ClearContents qui n'enlèvera que la valeur dans la cellule.
Bon courage :cool:
Ajout : Salut Laetitia
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
238

Statistiques des forums

Discussions
312 504
Messages
2 089 087
Membres
104 025
dernier inscrit
NoobDu83