Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Parcourir une colonne jusqu'à une cellule en couleur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

GrimoireWeiss

XLDnaute Nouveau
Tout d'abord bonjour à tous,

En tant que très grand débutant en vba et pas du tout informaticien, je viens chercher un peu d'aide dans ce forum.

Je souhaite trouver une macro qui parcourrait les cellules d'une colonne active et s'arrêterait sur les cellules en couleur.
Pour être plus précis, je souhaiterais qu'elle ait les comportements suivants.

Doit sauter :
- Les cellules remplies ou vides et sans couleur
- Les cellules remplies ou vides en noir

Doit s'arrêter sur :
- Les cellules remplies ou vides et en couleur (sauf le noir)
- La dernière cellule utilisée dans la colonne (son emplacement peut varier), en indiquant par un message qu'elle a été atteinte.

L'idéal, si possible, serait qu'elle puisse effectuer les recherches vers le bas et le haut (au choix de l'utilisateur).

La seule chose que j'ai pu "bricoler" pour l'instant est le code suivant, avec ses (grosses) lacunes ;-) :

Code:
Sub SearchColorDown()
Do
Selection.Offset(1, 0).Select
Loop Until ActiveCell.Interior.ColorIndex <> xlColorIndexNone
End Sub

Le fichier joint sera peut-être plus clair.

Merci d'avance à ceux qui voudront bien m'apporter leurs lumières !
 

Pièces jointes

Re : Parcourir une colonne jusqu'à une cellule en couleur

Bonjour GrimoireWeiss,

Une solution en pièce jointe.
Il manque quelques contrôles pour savoir si on est sur la bonne colonne.
 

Pièces jointes

Re : Parcourir une colonne jusqu'à une cellule en couleur

Waouh, merci pour cette réponse express jmps !
À première vue, ton code correspond exactement à ce que je recherchais.
Je vais pouvoir le décortiquer et voir comment il fonctionne.

Merci encore !
 
Re : Parcourir une colonne jusqu'à une cellule en couleur

Question sur ton code, jmps : peux-tu m'expliquer l'utilisation du "And ActiveCell.Interior.ColorIndex <> 1" ?

Edit: J'ai compris, c'est pour le noir ! 😎
 
Dernière édition:
Re : Parcourir une colonne jusqu'à une cellule en couleur

Le code ne marchait que pour la colonne A. J'ai donc modifié la variable Der pour qu'il prenne en compte la colonne de la cellule active :

Code:
Sub SearchColorDown()
Dim Der As Long
    Der = Cells(65536, ActiveCell.Column).End(xlUp).Row
    If ActiveCell.Row >= Der Then
        MsgBox "Dernière ligne atteinte."
        Exit Sub
    End If
    Do
        Selection.Offset(1, 0).Select
    Loop Until (ActiveCell.Interior.ColorIndex <> xlColorIndexNone And ActiveCell.Interior.ColorIndex <> 1) Or ActiveCell.Row = Der
End Sub
Sub SearchColorUp()
Dim Der As Long
    Der = 2
    If ActiveCell.Row <= Der Then
        MsgBox "Première ligne atteinte."
        Exit Sub
    End If
    Do
        Selection.Offset(-1, 0).Select
    Loop Until (ActiveCell.Interior.ColorIndex <> xlColorIndexNone And ActiveCell.Interior.ColorIndex <> 1) Or ActiveCell.Row = Der
End Sub
 
Dernière édition:
Re : Parcourir une colonne jusqu'à une cellule en couleur

Je n'ai qu'une chose à dire GrimoireWeiss :
Bravo !

Comme disait Confucius :
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson."

C'est comme ça que tu progresseras. Pas en quémandant des fichiers tout fais.

A+
 
Re : Parcourir une colonne jusqu'à une cellule en couleur

Merci jmps,

J'ai l'habitude de chercher par moi-même avant de demander de l'aide. 🙂

Dans ce cas précis, j'avais atteins mes limites et il me fallait un coup de main.

En regardant ton code, je vois que j'avais en tête toutes les pièces du puzzle (trouver la dernière ligne, exclure une couleur, etc). Je ne savais tout simplement pas comment les "écrire" et les combiner, vu que je connais pas la "grammaire" du vba.

Tu as raison, c'est comme ça qu'on apprend ! 😎
 
Re: Re : Parcourir une colonne jusqu'à une cellule en couleur

Rebonjour,

Encore merci à toi jmps pour ton aide.

Je souhaiterais apporter une modification au code pour la recherche des couleurs vers le bas.

Le problème avec le code actuel est qu'il s'arrête à la dernière cellule remplie. Or, il peut arriver que ma véritable "dernière" cellule soit en couleur et vide.

Donc, est-il possible d'intégrer ce paramètre à la variable Der ?

Je joins un fichier avec le code actuel.

Je vais chercher de mon côté ;-)
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…