Selection derniere cellule non vide plage cellule Excel

Messages postés
3
Date d'inscription
jeudi 5 mars 2009
Statut
Membre
Dernière intervention
10 mars 2009
- - Dernière réponse : pile_poil
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
- 5 mars 2009 à 12:33
Bonjour à tous,

Voici mon problème ...

J'ai un tableau Excel qui comporte plusieurs ligne et colonne remplis.

Sur chaque ligne on a : un nom, un nom, une date, une date ....
Sachant que par ligne le nombre de date varie.

Exemple de tableau pour etre plus claire :

<col style=\"width: 60pt;\" span=\"5\" width=\"80\" />----
test, nomA, 12/01/2008, 12/03/2008, 12/05/2008, ----
test2, nomB, 12/05/2008, 12/02/2009, , ----
test3, nomC, 12/05/2008

Je voudrais donc avoir la possibilité pour l'ensemble du tableau de mette en couleur la dernière date de chaque ligne ...

MERCI d'avance
Afficher la suite 

2 réponses

Messages postés
3
Date d'inscription
jeudi 5 mars 2009
Statut
Membre
Dernière intervention
10 mars 2009
0
Merci
Bon j'ai un début de code fonctionnel apparemment mais cela me parait compliqué et je pense qu'il y a plus simple ...

Sheets("Feuil2").Select
Range("A1:G8").Select

nligne = Selection.Rows.Count - 1
ncol = Selection.Columns.Count

For i = 1 To nligne
For j = 1 To ncol
If IsEmpty(Cells(i, j)) Then Cells(i, j).Interior.ColorIndex = 6
Next j
Next i

For i = 1 To nligne
For j = 1 To ncolIf Cells(i, j).Interior.ColorIndex 6 And Cells(i, j) "" Then Cells(i, (j - 1)).Interior.ColorIndex = 7

Next j
Next i

For i = 1 To nligne
For j = 1 To ncolIf Cells(i, j).Interior.ColorIndex 6 Then Cells(i, j).Interior.ColorIndex xlNoneIf Cells(i, j).Interior.ColorIndex 7 And Cells(i, j) "" Then Cells(i, j).Interior.ColorIndex = xlNone

Next j
Next i
Commenter la réponse de gregfred8cs
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
0
Merci
bonjour
Si ta question est de se positionner sur la première ligne vide, tu peux utiliser ceci

LigneVide = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & LigneVide).Select

sinon pour trouver la derniere ligne du tableau contenant une donnée

faut partir d'en bas et remonter :

Range("A65536").End(xlUp).Row

ou encore:
Si la page n'est pas vide et que tu veux savoir combien de lignes et de colonnes il y a, tu fais comme suit.
Si tu as des données sur 20 lignes et que la ligne 25 est rouge, ça te retournera 20 comme nombre de lignes.
Si tu utilises UsedRange, ça te retournera 25, même chose avec SpecialCells(xlCellTypeLastCell)
Et tu mets ces procédures où bon te semble...

Sub MaSub()
    Dim nbLignes As Long, nbColonnes As Long
  
    nbLignes = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
    nbColonnes = Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column
  
    MsgBox "La dernière ligne contenant des données est la ligne " & nbLignes & vbCrLf & _
            "et la dernière colonne contenant des données est la colonne " & Chr(64 + nbColonnes)
End Sub

Et si tu veux savoir combien de lignes il y a dans une colonne particulière (ici B)

Sub MaSub2()
    Dim nbLignes As Long
  
    nbLignes = Columns("B:B").Find("*", Range("B1"), , , xlByRows, xlPrevious).Row
  
    MsgBox "La dernière ligne contenant des données est la ligne " & nbLignes
End Sub

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Commenter la réponse de pile_poil