Trouver l'adresse d'une cellule pour la modifier

Bonjour à tous;

Alors voila mon problème, J'ai dans mon classeur Excel un tableau à la ligne 100

Dans ce tableau on y retrouve plusieurs emplacements avec un état (0=Vide / 1=Plein)

Le but est de modifier le fond de chacune des cellules de la plage C3:L12 en fonction de l'état

Le problème est que lors de l'éxecution je me retrouve avec un message "L'indice n'appartient pas à la sélection"

Merci,

8fifovba.xlsm (20.97 Ko)

Bonjour et bienvenue,

Sub Couleurs()
Dim Vide As String
Dim Plein As String
Dim result As Range
    For i = 101 To Range("B65536").End(xlUp).Row
        If Cells(i, 2).Value = 1 Then
            Plein = Cells(i, 1).Value
            Set result = ActiveSheet.Range("C3:L12").Find(What:=Plein, LookIn:=xlValues)
            result.Interior.Color = 65535
        Else:
            Vide = Cells(i, 1).Value
            Set result = ActiveSheet.Range("C3:L12").Find(What:=Vide, LookIn:=xlValues)
            result.Interior.Color = 49407
        End If
    Next i
End Sub

Merci beaucoup,

Il ne me manquait pas grand chose au final

Bonjour Nimajneb42,

Voici ton code en retour:

Sub Couleurs()
    Dim Vide As String
    Dim Plein As String
    Dim result As String

        For i = 101 To Range("B65536").End(xlUp).Row
            If Cells(i, 2).Value = 1 Then
                Plein = Cells(i, 1).Value
                result = ActiveSheet.Range("C3:L12").Find(What:=Plein, LookIn:=xlValues).Address
                ActiveSheet.Range(result).Interior.Color = 255
            Else: Vide = Cells(i, 1).Value
                 result = ActiveSheet.Range("C3:L12").Find(What:=Vide, LookIn:=xlValues).Address
                ActiveSheet.Range(result).Interior.Color = 5287936
            End If
    Next i

End Sub

Merci Florian,

Je viens de me rendre compte que j'avais encore un problème avec ce code, la case A1 (en C3) n'est pas modifié par le code

Résolu

Merci à tous

Essaye comme ceci:

Sub Couleurs()
    Dim Vide As String
    Dim Plein As String
    Dim result As String

        For i = 101 To Range("B65536").End(xlUp).Row
            If Cells(i, 2).Value = 1 Then
                Plein = Cells(i, 1).Value
                result = ActiveSheet.Range("C3:L12").Find(What:=Plein, LookAt:=xlWhole).Address
                ActiveSheet.Range(result).Interior.Color = 255
            Else: Vide = Cells(i, 1).Value
                 result = ActiveSheet.Range("C3:L12").Find(What:=Vide, LookAt:=xlWhole).Address
                ActiveSheet.Range(result).Interior.Color = 5287936
            End If
    Next i

End Sub
Rechercher des sujets similaires à "trouver adresse modifier"