N°ligne / colonne des 4 coins du rectangle contenant les données

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

marmotte18

XLDnaute Impliqué
Bonjour,

Pour déterminer le plus petit rectangle contenant l'ensemble des données de la feuille on a :

Code:
ActiveSheet.UsedRange.Select

Je souhaiterais récupérer le N° de ligne et le N° de colonne de chacun des coins de ce rectangle.

skoobi m'a communiqué la méthode pour avoir le N° de ligne et le N° de colonne du coin inférieur droit du rectangle :

Code:
msgbox activesheet.usedrange.specialcells(xlCellTypeLastCell).column
msgbox activesheet.usedrange.specialcells(xlCellTypeLastCell).row

et cela fonctionne très bien ! Il reste maintenant à définir les 3 autres coins.

Merci par avance
 
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

Bonjour le forum 🙂,
Skoobi t'as donné le compliqué en pensant que tu connaissais le simple (merci à lui, je ne connaissais pas et ça m'intéresse)...
Code:
MsgBox ActiveSheet.UsedRange.Column
MsgBox ActiveSheet.UsedRange.Row
MsgBox ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
MsgBox ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
avec cela, tu as le coin haut-gauche et le coin bas-droit, tu peux donc en déduire les 4.
Bonne journée 😎
 
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

Bonjour jnp,

Merci pour tes précisions, cela fonctionne très bien mais seulement la 1ère fois.

Quand on fait d'autres essais sur la même feuille avec des données mises dans d'autres cellules et qu'ensuite on les efface, il semble garder en mémoire les cellules utilisées.

Que faut-il faire pour qu'Excel ne regarde que les cellules renseignées au moment du lancement de la macro ?
 

Pièces jointes

Re : N°ligne / colonne des 4 coins du rectangle contenant les données

Bonjour à tous,

Quand on fait d'autres essais sur la même feuille avec des données mises dans d'autres cellules et qu'ensuite on les efface, il semble garder en mémoire les cellules utilisées.

Que faut-il faire pour qu'Excel ne regarde que les cellules renseignées au moment du lancement de la macro ?

C'est un phénomène classique. Pour rafraichir la feuille, il faut enregistrer le fichier avant de faire la recherche.

Par ailleurs les cellules formatées (par exemple colorées) sont prises en compte même si elles ne contiennent aucune valeur.

A+
 
Dernière édition:
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

Bonjour job75,

Même en enregistrant la feuille, j'obtiens le même résultat ! C'est à dire pas celui que j'attends.

Je peux également quitter la feuille après l'avoir sauvegardée => idem

Merci cependant pour la piste.
 
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

Re 🙂,
J'avais déjà noté ce problème. Il semblerait, après quelques tests, que cela est résolu en 2007 car je n'ai pas réussi à reproduire l'erreur 😱.
Comment vides-tu tes cellules ? En manuel sur la feuille ? Ou via macro ? A ce moment là, as-tu testé la différence entre .Clear et .ClearContents ? Ou essayer de couper la cellule ?
Fait des tests, cela fera toujours avancer le schmimblic...
Bonne journée 😎
 
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

Jnp,


Que je fasse :
  • Suppr au clavier
  • Couper
  • Clear
  • Clearcontents
C'est toujours le même problème !

Comment faire pour réinitialiser des cellules dans leur état d'origne ?
 
Dernière édition:
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

job75,

J'ai bien compris ton information mais je n'ai pas de cellule colorée en dehors de mon tableau principal et pourtant, il me désigne des cellules sans information (la coloriage a été enlevé préalablement)

Par ailleurs, quand je copie une cellule hors domaine de traitement sur celle qui a eu antérieurement un coloriage, il me désigne quand même la cellule vide, non colorée et sans format particulier.
 
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

Bonjour,

Si je lance la macro suivante :
Code:
Sub test()
 
    Dim ColonneDroite As Currency, LigneBasse As Currency
    Dim Rectangle As Range, Cellule As Range
 
    Set Rectangle = ActiveSheet.UsedRange
 
    For Each Cellule In Rectangle
        If LigneBasse < Cellule.End(xlUp).Row Then LigneBasse = Cellule.End(xlUp).Row
        If ColonneDroite < Cellule.End(xlToLeft).Column Then ColonneDroite = Cellule.End(xlToLeft).Column
    Next Cellule
 
    MsgBox "Ligne basse = " & LigneBasse
    MsgBox "Colonne de droite = " & ColonneDroite
End Sub

Cette fois-ci, il me communique de façon correcte le N° de ligne et de colonne du coin inférieur droit.

=> Il reste les 3 autres coins à définir !
 
Dernière édition:
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

Re,

Cette macro détermine sans ambiguité la dernière cellule contenant une valeur :

Code:
Sub DerniereCellule()
On Error Resume Next
MsgBox "Dernière ligne : " & Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
MsgBox "Dernière colonne : " & Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlFormulas, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
End Sub

A+
 
Dernière édition:
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

Re,

Et celle-ci la 1ère cellule contenant une valeur, que ce soit sur Excel 2003 ou Excel 2007 :

Code:
Sub PremiereCellule()
On Error Resume Next
MsgBox "Première ligne : " & Cells.Find(What:="*", After:=Cells(Rows.Count, Columns.Count), LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlNext).Row
MsgBox "Première colonne : " & Cells.Find(What:="*", After:=Cells(Rows.Count, Columns.Count), LookIn:=xlFormulas, SearchOrder:=xlByColumns, SearchDirection:=xlNext).Column
End Sub

A+
 
Dernière édition:
Re : N°ligne / colonne des 4 coins du rectangle contenant les données

job75,

C'est formidable ! Cependant tes formules me sont tout à fait obscures ! Pourrais-tu, s'il te plaît m'en expliquer une en français ?

Merci en tous les cas pour le mal que tu te donnes.

Par ailleurs, ton système s'applique particulièrement bien pour les grands fichiers alors que ma proposition est bonne pour les ordures, ça pédale, ça pédale ....
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
757
V
Réponses
6
Affichages
766
V
S
Réponses
5
Affichages
983
D
Réponses
11
Affichages
2 K
D
Retour