Recherche en VBA la prochaine cellule d'une couleur de n'importe quelle valeur

Signaler
-
Messages postés
16462
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 août 2021
-
Bonjour,

Je cherche une macro VBA excel qui lorsque que l'utilisateur clique sur un bouton, le curseur se positionne sur la prochaine cellule ayant une couleur de fond particulière mais n'importe quelle valeur.

J'ai essayé en utilisant les fonctions Find et Find next mais cela ne marche pas car je n'ai pas de valeur précise à chercher.

Merci beaucoup pour votre aide

1 réponse

Messages postés
16462
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 août 2021
883
bonjour,
je pense qu'il suffit de parcourir les cellules et de s'arrêter quand la bonne couleur aura été trouvée.
Messages postés
16462
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 août 2021
883 > sfa11
merci d'utiliser les balises quand tu partages du code VBA est du basic): https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Messages postés
16462
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 août 2021
883 > sfa11
un exemple:
Option Explicit

Private Sub cc()
Dim rg As Range, cl As Range
Set rg = Range("A1:Z50")
For Each cl In rg
    If cl.Interior.Color = RGB(183, 222, 232) Then
        cl.Select
        Exit For
    End If
Next cl
End Sub
Messages postés
16462
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 août 2021
883 > sfa11
il y a de multiples façons de faire cela.
tu ne précises pas où il faut commencer, dans quelle direction chercher, ni où s'arreter.

quelques exemples:
https://docs.microsoft.com/fr-fr/office/troubleshoot/excel/loop-through-data-using-macro
>
Messages postés
16462
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 août 2021

Merci mais je ne comprend pas bien ta réponse. Est-ce que tu pourrais compléter mon code vba directement ?
Messages postés
16462
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 août 2021
883 > sfa11
Option Explicit
Private Sub CommandButton1_Click()
Dim rg As Range, cl As Range
Set rg = Range("A1:Z500")
For Each cl In rg
    If cl.Interior.Color = RGB(183, 222, 232) Then
        cl.Select
        Exit For
    End If
Next cl
End Sub