Bonjour Dan,
Je complète un peu ma demande si ça peut aider.
If cellule.Interior.Color = RGB(0, 0, 0) Then
If cellule.Interior.Pattern = 1 Then
Dans mon cas, c'est la seule solution que j'ai trouvé pour faire ce que je veux faire.
- le RGB(0,0,0) conditionne si la cellule est noire, mais aussi quand la couleur de la cellule est en dégradé, puisque dans ce cas, le .interior.color remonté = 0 (noir)
- le . pattern=1 me permet de ne pas traiter les cellules en noir : en gros le Else qui suit traite les cellules en dégradé.
Je sais bien que ce n'est pas très propre mais c'est la seule solution que j'ai trouvé pour traîter l'ensemble des cas.
Dans le fichier :
- à gauche : ce que je veux en partant des cellules (B4:H16) pour arriver à (B21:H33)
- à droite : c'est pour la vitesse à plus grande échelle. La macro fonctionne, mais ça ralenti déjà.
Sur le fichier final ou je sélectionne un peu moins de 7000 cellules, c'est une catastrophe : après 1 heure, Excel mouline encore.