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

Sélection Range en VBA

  • Initiateur de la discussion Initiateur de la discussion famu
  • 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 !

famu

XLDnaute Occasionnel
Bonjour,

Une Macro me permet d'avoir cette sélection :
Range("M2,M3,M4,M5,M6").Select

Comment peut-on transformer cette ligne en :
Range ("M2:M6")

Merci pour votre aide,
Famu
 
Re : Sélection Range en VBA

OK..j'ai pas été très claire !
Effectivement c'est bien Range ("M2:M6").Select que je veux.
Par contre, j'aimerais pouvoir récupérer le début et la fin de ma plage automatiquement à partir de Range("M2,M3,M4,M5,M6").Select car ma sélection peut changée (ex : Range("M28,M29,M30,M31,M32").Select ce qui donnerait Range ("M28:M32").Select)
 
Re : Sélection Range en VBA

Bonjour famu, Pierrot, Modeste 🙂

Peut-être ceci :

Code:
Sub a()
Range("M2,M3,M4,M5,M6").Select 'selection multiple
Range(Replace(Selection.Address, ",", ":")).Select 'une seule zone sélectionnée
End Sub
A+
 
Re : Sélection Range en VBA

Bonjour famu

Salut Pierrot

Pas vraiment compris le but de la manoeuvre , mais teste etudie la macro suivante :

Code:
Sub test()
Set plage = Range("M28,M29,M30,M31,M32")
x = plage.Row
y = plage.Count
Set plageb = Range(Cells(x, plage.Column), Cells(x + y - 1, plage.Column))
MsgBox (plageb.Address(0, 0))
plageb.Select
End Sub

Edit: Salut ami job 🙂 🙂
 
Re : Sélection Range en VBA

Bonjour à tous,
Oui Modeste, il y avait bien un rapport mais j'avais avancé dans mes recherches et, de ce fait, la question n'était plus la même.
Voici le code "terminé" que je vais pouvoir poursuivre dans une autre macro :

Sub CellulesValeurDeterminee3()

'Séléctionner les UGP1

Range("M2:M200").Select
LaValeur = "UGP1"

For Each cell In Selection
If cell.Value = LaValeur Then plg = plg & cell.Address() & ","
Next cell
If Len(plg) > 0 Then Range(Left(plg, Len(plg) - 1)).Select 'sélection multiple


Range(Replace(Selection.Address, ",", ":")).Select 'une seule zone sélectionnée

End Sub

Merci à vous tous et bonne fin de semaine,
Famu
 
Re : Sélection Range en VBA

Re,

Aaaaahhhhh !!!! Mon code
If Len(plg) > 0 Then Range(Left(plg, Len(plg) - 1)).Select
bloque au-delà de 44 valeurs à sélection multiple !!!

Tout à fait normal, c'est pourquoi il ne faut pas concaténer des adresses de cellules mais unir des plages.

Vous auriez pu lire mon post #8 et aller voir l'autre fil 🙄

A+
 
- 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

Discussions similaires

Réponses
14
Affichages
484
Réponses
3
Affichages
258
Réponses
2
Affichages
469
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…