Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélectionner une PLAGE

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
 
S

STéphane

Guest
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
 
C

caterpillar

Guest
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!!!
 
C

caterpillar

Guest
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?
 
S

STéphane

Guest
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
 
C

caterpillar

Guest
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!!
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…