OVH Cloud OVH Cloud

Sélection d'un ensemble de cellules

3 réponses
Avatar
Alain
Bonjour à tous.

J'ai un ensemble de cellules non vides qui a la forme d'un tableau.
Je sais où est le début du tableau mais pas où est la fin.
Existe-t-il une méthode qui retourne un objet Range qui inclu l'ensemble des
cellules d'un tableau si on fourni une des cellules de ce tableau à cette
méthode ?
Ce serait plus élégant, plus rapide et plus concis que de faire une boucle
pour rechercher les limites de mon tableau.

Merci d'avance pour vos précieux conseils.
Alain.

3 réponses

Avatar
Garette
Bonjour,

Ce code selectionne à partir de D5 (une cellule du tableau) le tableau. Il
peut y avoir des trous mais il faut que chaque morceau se touche.
Sub Test1()
Set Mazone = Range("D5").CurrentRegion
Mazone.Select
End Sub

Ce code va chercher la derniere cellule du fichier correspondant à CTRL+FIN
Sub Test2()
Set Mazone = Range(Range("A1"), ActiveCell.SpecialCells(xlLastCell))
Mazone.Select
End Sub


Test1 repond à : "si on fourni une des cellules "
Existe-t-il une méthode qui retourne un objet Range qui inclu l'ensemble
des
cellules d'un tableau si on fourni une des cellules de ce tableau à cette
méthode ?




"Alain" a écrit dans le message de news:

Bonjour à tous.

J'ai un ensemble de cellules non vides qui a la forme d'un tableau.
Je sais où est le début du tableau mais pas où est la fin.
Existe-t-il une méthode qui retourne un objet Range qui inclu l'ensemble
des
cellules d'un tableau si on fourni une des cellules de ce tableau à cette
méthode ?
Ce serait plus élégant, plus rapide et plus concis que de faire une boucle
pour rechercher les limites de mon tableau.

Merci d'avance pour vos précieux conseils.
Alain.




Avatar
MichDenis
'donne la dernière colonne occupée d'une feuille
'soit par une valeur ou une formule
DerCol = Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

'donne la dernière ligne occupée d'une feuille
'soit par une valeur ou une formule
DerLig = Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

MsgBox Cells(DerLig, DerCol).Address

Si tu désires obtenir la même chose mais sur une zone délimitée
tu modifies dans ces lignes de code "Cellls.Find(....) par
range("A:M").Find(....) qui pourrait représenter ton tableau
de données




"Alain" a écrit dans le message de news:

Bonjour à tous.

J'ai un ensemble de cellules non vides qui a la forme d'un tableau.
Je sais où est le début du tableau mais pas où est la fin.
Existe-t-il une méthode qui retourne un objet Range qui inclu l'ensemble des
cellules d'un tableau si on fourni une des cellules de ce tableau à cette
méthode ?
Ce serait plus élégant, plus rapide et plus concis que de faire une boucle
pour rechercher les limites de mon tableau.

Merci d'avance pour vos précieux conseils.
Alain.
Avatar
Alain
Merci pour votre réponse.
Est-il possible d'effacer l'ensemble d'une feuille ? (finalement dans mon
cas ce serait le plus simple et probablement le plus rapide)

Alain.



"Garette" a écrit dans le message de
news:eUg9%
Bonjour,

Ce code selectionne à partir de D5 (une cellule du tableau) le tableau. Il
peut y avoir des trous mais il faut que chaque morceau se touche.
Sub Test1()
Set Mazone = Range("D5").CurrentRegion
Mazone.Select
End Sub

Ce code va chercher la derniere cellule du fichier correspondant à
CTRL+FIN

Sub Test2()
Set Mazone = Range(Range("A1"), ActiveCell.SpecialCells(xlLastCell))
Mazone.Select
End Sub


Test1 repond à : "si on fourni une des cellules "
Existe-t-il une méthode qui retourne un objet Range qui inclu l'ensemble
des
cellules d'un tableau si on fourni une des cellules de ce tableau à
cette


méthode ?




"Alain" a écrit dans le message de news:

Bonjour à tous.

J'ai un ensemble de cellules non vides qui a la forme d'un tableau.
Je sais où est le début du tableau mais pas où est la fin.
Existe-t-il une méthode qui retourne un objet Range qui inclu l'ensemble
des
cellules d'un tableau si on fourni une des cellules de ce tableau à
cette


méthode ?
Ce serait plus élégant, plus rapide et plus concis que de faire une
boucle


pour rechercher les limites de mon tableau.

Merci d'avance pour vos précieux conseils.
Alain.