Rechercher dernière cellule colorée

RV37

XLDnaute Junior
Bonjour le forum,

Je cherche une macro en VBA qui me permette de trouver dans une plage de B3 à BU22, la dernière cellule colorée, quelque soit la couleur pour déterminer la zone d'impression du tableau.

Est ce possible ??

Bonne journée à tous

RV
 
G

Guest

Guest
Re : Rechercher dernière cellule colorée

Bonsoir RV,
Parcourt la plage à partir de la cellule inférieure-droite et en remontant par colonne puis par ligne vers la cellule 1 de la plage (ordre d'excel).
Code:
Sub DerniereCelluleColoree()
    Dim c As Range
    Dim cnt As Long, iCell As Long
    With Range("B3:BU22")
        cnt = .Count
        For iCell = cnt To 1 Step -1
            Debug.Print .Cells(iCell).Address
            If .Cells(iCell).Interior.ColorIndex <> xlColorIndexNone   Then
                MsgBox .Cells(iCell).Address
                Exit Sub
            End If
        Next
    End With
End Sub

A+
 

RV37

XLDnaute Junior
Re : Rechercher dernière cellule colorée

Bonsoir Hasco, le Forum,

Toujours aussi efficace. Néanmoins, il me trouve effectivement la dernière cellule colorée de la ligne 22 en AT22 alors que j'ai en ligne 8, cellule AX8, une cellule colorée.

Cela devrait donc être AX8, la dernière cellule colorée, non ??

RV
 
G

Guest

Guest
Re : Rechercher dernière cellule colorée

Re,

Pour Excel dans une plage comme: A1:B2 (4 cellules)

Ordre des cellules de la plage:

1 - A1
2 - B1
3 - A2
4 - B2

Donc dans ta plage la cellule AT22 est la dernière cellule colorée. Si tu veux autre chose, il faut le formuler autrement.

A bientôt
 

RV37

XLDnaute Junior
Re : Rechercher dernière cellule colorée

Hasco, Le Forum,

Ouupppssssssssss,

Peut être ai je mal exprimé ma demande et ma réponse Hasco. Pas de problème, je ne remets surtout pas en cause tes connaissances à mille lieux des miennes.

Donc sur ma zone B3:BU22, je recherche la ligne ayant sur cette zone la dernière cellule en couleur pour en déterminer la zone d'impression.

Comme je l'évoquais dans mon précédent post, dans la plage détermerninée, la cellulle la plus à droite colorée devient la cellule AX8, cellule aléatoire dans la plage selon le planning déterminé.
 
G

Guest

Guest
Re : Rechercher dernière cellule colorée

Re,

Il n'y avait aucun mal. C'était juste pour information.

la cellulle la plus à droite colorée
est chose différente que la dernière cellule colorée d'une plage.

voici qui devrait convenir:

Code:
Sub DerniereCelluleColoree()
    Dim iCol As Long
    Dim cnt As Long, iCell As Long
    With Range("B3:BU22")
        For iCol = .Columns.Count To 1 Step -1
            For iCell = .Columns(iCol).Cells.Count To 1 Step -1
                If .Cells(iCell, iCol).Interior.ColorIndex <> xlColorIndexNone Then
                MsgBox .Cells(iCell, iCol).Address
                Exit Sub
            End If
            Next
        Next
    End With
End Sub

A+
 

RV37

XLDnaute Junior
Re : Rechercher dernière cellule colorée

Hasco, Le Forum,

Tu as tout à fait raison !!!!! plus nous sommes clair dans nos demandes, ce qui n'a pas été mon cas sur ce post, plus vite nous arrivons à ce que nous souhaitons.

Chapeau bas car une fois de plus le résultat est formidable.

Je regarde comment intégrer cette macro sur une macro d'impression automatique.

Merci encore HASCO.

Bonne soirée à vous

RV
 

JCGL

XLDnaute Barbatruc
Re : Rechercher dernière cellule colorée

Bonjour à tous,
Salut l'ami Hasco :):),

Sur cette discussion, tout le monde reconnaitra l'extrême gentillesse d'Hasco.
Et la réponse de RV37 qui va bien.

Bravo Messieurs

A++ Ges
A+ à tous
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16