Sélection d'une plage de cellules en VBA

Bonjour,

Voir l'exemple ci-joint. En colonne le numéro de semaine de l'année 2017, en ligne des activités sportives.

Je souhaite connaître le code VBA qui permet de sélectionner automatiquement toutes les cellules renseignées.

Par exemple si le fichier à 20 activités en ligne sur 10 semaines, que l'on puisse sélectionner le tout d'un coup. En fait que la sélection s'adapte au données renseignées.

En attente de vos solutions,

Salutations,

Dadams51

37activites.xlsm (9.06 Ko)

Bonsoir,

avec ceci peut-être :

Range("A").CurrentRegion.Select

CurrentRegion est la plage rectangulaire de cellules non vides qui entourent l'objet Range sur lequel on fait l'appel de CurrentRegion.

@ bientôt

LouReeD

Bonsoir LouReed,

Merci pour ta réponse. Mais une question me vient : s'il y a des cellules vides ? En fait il faudrait pouvoir sélectionner la plage rectangulaire correspond au nombre de semaines saisies et d'activités saisie. Bien sur pas de trous dans les semaines et les activités. Mais on peut s'autoriser des trous au milieu de la plage.

@ bientôt

Dadams51

c'est ce que fait "CurrentRégion" :

CurrentRegion est la plage rectangulaire de cellules non vides qui entourent l'objet Range sur lequel on fait l'appel de CurrentRegion.

le non vide inscrit ici doit être lu : colonne vide et ligne vide qui entoure la sélection d'origine.

Donc à partir du moment que semaine et activités = non vide alors current région sélection la taille max dans les deux directions.

@ bientôt

LouReeD

Bonsoir, Salut LouReed !

Range("A1").CurrentRegion renverra bien la plage A1:E6, dans le cas présent. Mais il demeure, comme toujours, inutile de la sélectionner pour opérer sur cette plage ! Sauf à vouloir absolument perdre du temps d'exécution...

Cordialement.

bonsoir Maréchal !

je sais je select de trop mais il y a du progrès, si si je vous assure !

@ bientôt et bravo à vous pour les plus de 12000 messages....

moi je ne suis toujours pas rouge...

LouReeD

Bonjour à tous,

Mais on peut s'autoriser des trous au milieu de la plage

et ailleurs si tu veut...

voici une autre possibilité,

With Sheets("Feuil1")
lastrw = .Cells(Rows.Count, 1).End(xlUp).Row
lastcl = .Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox .Range(.Cells(1, 1).Address, .Cells(lastrw, lastcl).Address).Address
End With
Rechercher des sujets similaires à "selection plage vba"