selection en vba

  • Initiateur de la discussion agnès
  • Date de début
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

  • selection_20060525212956.zip
    8.5 KB · Affichages: 11

michel_m

XLDnaute Accro
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
 

albert

XLDnaute Occasionnel
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:D14,C7:C9,B21:C21,D18').Select
Range('D18').Activate
End Sub

albert
 
A

AV

Guest
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]
 
A

agnès

Guest
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

  • selection2.zip
    10 KB · Affichages: 12
  • selection2.zip
    10 KB · Affichages: 9
  • selection2.zip
    10 KB · Affichages: 10

michel_m

XLDnaute Accro
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
 
A

agnès

Guest
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
 

pierrejean

XLDnaute Barbatruc
bonsoir agnès, michel_m,AV et tout le forum

a tester [file name=selection2_20060526183147.zip size=11689]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/selection2_20060526183147.zip[/file]
 

Pièces jointes

  • selection2_20060526183147.zip
    11.4 KB · Affichages: 15

Discussions similaires

Statistiques des forums

Discussions
314 626
Messages
2 111 299
Membres
111 094
dernier inscrit
MFrequence