• Initiateur de la discussion Initiateur de la discussion agnès
  • 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 !

A

agnès

Guest
bonsoir,

j'ai un pb de selection de plusieurs cellules en vba.

j'arrive à selectionner une seule alors que je voudrais 'étendre' la selection.

un petit fichier vaut mieux qu'un discours [file name=selection_20060525212956.zip size=8683]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/selection_20060525212956.zip[/file]
 

Pièces jointes

Bonsoir Agnès

Essaies ceci:


Private Sub CommandButton1_Click()
Dim c As Range
Dim coll As Collection

set coll= new collection
For Each c In Range('B5:E26')
If c.Value = 'B' Then
coll.Add c.Address
End If
Next
Range(coll(1) & ':' & coll(coll.Count)).Select
set coll=nothing
End Sub

A+
Michel_M
 
bonsoir agnès
ce sont des constantes que tu veux sélectionner?
utilise l'enregistreur de macro et tu obtiendras le code suivant :
Sub Macro1()
Range('C13😀14,C7:C9,B21:C21,D18').Select
Range('D18').Activate
End Sub

albert
 
Ave,

Fonctionne aussi avec une plage discontinue :

Sub zz_SelectionneLesTous()
For Each c In [B5:E26]
If c = 'B' Then plg = c.Address & ',' & plg
Next
If plg ‹› '' Then plg = Left(plg, Len(plg) - 1): Range(plg).Select
End Sub

AV [aaa]
 
merci à Albert (mais ce ne sont pas des constantes) à michel et AV

Mais la formule de michel est la plus adaptée car la zone n'est pas forcement en ligne ou colonne.

part contre, je ne vois pas l'utilité de
set coll=nothing

j'ai qd meme une suite à ta solution ds un cas particulier ou il peut y avoir une autre meme valeur ailleurs.

voir fichier joint

merci d'avance [file name=selection2.zip size=10242]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/selection2.zip[/file]
 

Pièces jointes

bonjour Agnès, Alain, Albert

Set machin=nothing libère la mémoire. C'est un vieux débat: certains disent que c'est inutile car la durée de vie de la variable est celle de la sub; moi, je mets cette ligne un peu par habitude

autre débat métaphysique:

dim coll as new collection au lieu de

dim coll as collection
puis
set coll= new collection

Il y a un fil célèbre à ce sujet dans l'ancien forum avec _Thierry mais où?...

Bon WE ensoleillé

Michel_M
 
re bonjour,

pour AV j'ai testé ta solution

ce que je voulais dire c'est qu'elle ne me semble plus adaptée pour mon deuxième pb

voir fichier joint selection2

à moins que je n'ai pas tout compris

merci aussi à michel pour son complement d'info
dommage que tu ne n'est pas donné ton avis sur le deuxième fichier

@ plus
 
- 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