Sélection d'une plage de cellules variable en colonnes et lignes

Résolu
sfabibi Messages postés 1 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 25 octobre 2014 - Modifié par jordane45 le 25/10/2014 à 23:45
 sfabibi - 26 oct. 2014 à 21:22
Bonjour
Je cherche à sélectionner une plage de cellules pour les mettre en forme (centrée, orientation verticale, gras, .... et pour ajouter des bordures).

Le problème c'est que la plage n'est pas fixe : elle varie en nombre de colonnes et de lignes.

Ci-dessous mon code avec une plage codée en dur (B5:ZZ1000) en attendant mais que je souhaiterais remplacer par une plage dynamique qui fonctionnerait avec l'instruction suivante "With Selection"

Merci de m'aider
  Worksheets(Worksheets.Count).Range("B5:ZZ1000").Select
  With Selection
        .HorizontalAlignment = xlCenter
        .WrapText = True
        .Orientation = 90
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .Font.Bold = True
    End With
 With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
       .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With

.....

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
25 oct. 2014 à 23:44
Bonjour,

1 - J'ai déplacé ta discussion dans la bonne section du forum VBA

2 - J'ai édité ton message pour y mettre les balises de code.
Merci d'y penser la prochaine fois.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
1
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
25 oct. 2014 à 23:51
Pour ce qui est de ton souci....


Le problème c'est que la plage n'est pas fixe : elle varie en nombre de colonnes et de lignes.

Quel est le problème ?

Sur quoi ton programme doit il se baser pour déterminer la plage à traiter ?
Une zone que tu as préalablement sélectionné à la main ?
Toute la plage de cellules remplies de ta feuille ?

Il faut que tu nous en dises plus....

=> Si c'est ta plage de cellule utilisée sur ta feuille que tu veux...tu peux par exemple très certainement utilisé le USEDRANGE.
Sub toto()
 ActiveSheet.UsedRange.Select
End Sub


0
Effectivement le usedrange marche. Merci pour ton aide qui a résolu mon problème.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 oct. 2014 à 11:48
Bonjour (et un salut à jordane45)
Ta question est en effet très imprécise !
Je te rappelle à toutes fins et à tout hasard qu'existe la possibilité de nommer une plage de cellules et que toute insertion d'une ligne au sein de cette plage étend la plage nommée

0
Rejoignez-nous