Attribuer à une variable une cellule

Bonjour,

j'ai une question extrêmement simplissime mais sur laquelle je bute, je souhaite attribuer à une variable une cellule pas uniquement sa valeur mais également son environnement dans mon besoin la couleur de la cellule. Au troisième commentaire du code qui suit vous pouvez voir où est mon problème.... Merci d'avance à la personne qui me répondra

BONNE JOURNEE !

Dim line As Long
Dim cel As Range
Dim cell As Range
Dim Derniere As Integer
Dim Derniereee As Integer

Public Sub CommandButton3_Click()

Dim colonneA As Range
'fonctions qui calculent les dernières lignes remmplies deus feuilles 1 puis 2
Derniere = DerniereLigne()
Derniereee = DerniereLigneee()
'la colonne A est sélectioné de la ligne 2 jusqu'à la dernière ligne déterminée dans la fonction précédente
Set colonneA = Acolon()
Dim lacellule As String
Dim colonneC As Range
Set colonneC = Ccolon()
Dim colonneD As Range
Set colonneD = Dcolon
Dim celles As Range
'sur la ligne suivante j'ai l'erreur je suis sur que c'est tout bête ...
cel = cells(line, 3)
celles = cells(line, 4)
line = 2

For Each cell In colonneA
    If cell.Interior.Color = RGB(250, 128, 114) Then
        lacellule = cell.Value
        Feuil2.Activate
    End If
            For Each cel In colonneC
                If cel.Value = lacellule Then
                    cell.Interior.Color = RGB(250, 128, 114)
                End If
            Next
            For Each celles In colonneD
                If cell.Value = lacellule Then
                    cell.Interior.Color = RGB(250, 128, 114)
                End If
            Next
            Feuil1.Activate
Next
End Sub

Function Acolon()
        Set Acolon = Feuil1.Range(Feuil1.cells(2, 1), Feuil1.cells(Derniereee, 1))
End Function
Function Ccolon()
        Set Ccolon = Feuil2.Range(Feuil2.cells(2, 3), Feuil2.cells(Derniere, 3))
End Function
Function Dcolon()
        Set Dcolon = Feuil2.Range(Feuil2.cells(2, 4), Feuil2.cells(Derniere, 4))
End Function

Function DerniereLigne()
Feuil2.Activate
DerniereLigne = 2 'première colonne à vérifier

    Do While Not IsEmpty(cells(DerniereLigne, 1))
        DerniereLigne = DerniereLigne + 1
    Loop

DerniereLigne = DerniereLigne - 1
End Function

Function DerniereLigneee()
Feuil1.Activate
DerniereLigneee = 2 'première colonne à vérifier

    Do While Not IsEmpty(cells(DerniereLigneee, 1))
        DerniereLigneee = DerniereLigneee + 1
    Loop

DerniereLigneee = DerniereLigneee - 1
End Function

Bonjour Man, bonjour le forum,

Deux erreurs dans ton code

1. ta variable line n'est initialisé qu'après le moment où tu définis Cel et Celles. Donc elle vaut 0 et ça plante ! Il te faut inverser les lignes :

line = 2
cel = cells(line, 3)
celles = cells(line, 4)

2. Tu as déclaré les variables Cel et Celles comme des objets Range. Il te faut donc Set pour la définir

Set Cel = Cells(line, 3)
Set Celles = Cells(line, 4)
le code correct :
line = 2
Set cel = cells(line, 3)
Set celles = cells(line, 4)

Merci beaucoup je me doutais bien que j'y étais presque j'aurais mis du temps à trouver !

Rechercher des sujets similaires à "attribuer variable"