Sélectionner une PLAGE

  • Initiateur de la discussion Initiateur de la discussion hasardeux
  • Date de début Date de début

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 !

H

hasardeux

Guest
Rebonjour,

Comment je peux, par macro, sélectionner sur TOUTES LES FEUILLES SELECTIONNES une plage de cellules de A13 à la dernière Cellule NON vide de la colonne F.

L'objectif étant de mettre en forme les plages sélectionnées des différentes feuilles en même temps
 
bonjour

pour la boucle
for each sh in sheets
sh.activate
next sh

pour avoir la dernière cellule d'une plage, tu peux t'inspirer du code suivant.
cette une fonction a appelée dans une macro en passant en paramètre la plage.


Sub GUI_Get_Last_Cell(Optional Plage_Cible As Range)

If Plage_Cible Is Nothing Then Set Plage_Cible = ActiveSheet.Cells

Set rg_plage = Plage_Cible
With rg_plage
LastL = rg_plage.Find("*", , , , xlByRows, xlPrevious).Row
LastC = rg_plage.Find("*", , , , xlByColumns, xlPrevious).Column
End With

Cells(LastL, LastC).Select
Debug.Print Cells(LastL, LastC).Address

End Sub

bye
steph
 
pour ta sélection, tu peux faire :

celluleRemplie = sheets(1).Range("F65536").End(xlUp).Row
Range("A13:K" & celluleRemplie).Select

le problème c'est que tu ne peux pas faire une boucle du style
for each sh in sheets
sh.activate
next sh
parceque tu perds ta sélection à chaque fois que tu changes de feuille!!!

pas glop pas glop!!!
 
ta sélection sur la feuille active : (j'ai retiré sheets(n°de la feuille)) :

celluleRemplie = Range("F65536").End(xlUp).Row
Range("A13:K" & celluleRemplie).Select

ça, ça marche, mais si tu nouse disais pourquoi tu veux faire cette sélection : tu veux faire la somme des cellules ou quoi?
 
bonsoir


voilà quelquechose.
cela te convient-il ?

Function GUI_Get_Last_Cell(Optional Plage_Cible As Range) As Range

If Plage_Cible Is Nothing Then Set Plage_Cible = ActiveSheet.Cells

Set rg_plage = Plage_Cible
With rg_plage
LastL = rg_plage.Find("*", , , , xlByRows, xlPrevious).Row
LastC = rg_plage.Find("*", , , , xlByColumns, xlPrevious).Column
End With

Set GUI_Get_Last_Cell = Cells(LastL, LastC)
Debug.Print Cells(LastL, LastC).Address

End Function
Sub demo()
For Each sh In Sheets
sh.Activate
Debug.Print GUI_Get_Last_Cell([A13:F65536]).Address(0, 0)
sh.Range([A13], GUI_Get_Last_Cell([A13:F65536])).Select
Next sh
End Sub

bye
Stéphane
 
pardonne-moi, je suis fatiguée, tu l'as dit pourquoi, donc tu fais comme je t'ai dit plus haut pour la sélection et comme sTeph t'a dit pour toutes les feuilles

for each sh in sheets
sh.activate
celluleRemplie = Range("F65536").End(xlUp).Row
Range("A13:K" & celluleRemplie).Select
ici : Ton formatage
next sh

ça devrait marcher.

Salut!!
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour