Bonjour à tous
Dans une colonne, il y a un certaint nombre de cellulles sélectionnées.
Je souhaiterai pouvoir les retrouver par code, et je ne sais pas comment faire.
Pouvez-vous m'aider SVP
Claude Azoulai
Bonjour à tous
Dans une colonne, il y a un certaint nombre de cellulles sélectionnées.
Je souhaiterai pouvoir les retrouver par code, et je ne sais pas comment faire.
Pouvez-vous m'aider SVP
Claude Azoulai
Bonjour,
Une piste :
ou encore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part msgbox selection.address
cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub gogo() Dim cell As Range For Each cell In Selection MsgBox cell.Address Next cell End Sub
Didier
Bonjour,
Une autre solution est d'utiliser la fonction Intersect, qui renvoie l'intersection de deux ou plusieurs plages de cellules :
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub Test() For Each Cell In Columns(1).Cells If Not Intersect(Cell, Selection) Is Nothing Then MsgBox "La cellule " & Cell.Address & " appartient à la sélection" End If Next Cell End Sub
n.
Bonjour,
Je pense que le code de Didier est bien mieux approprié. Le compilateur connaissant les cellules sélectionnées, il ne parcours que ces dernières, avec Intersect, le code parcours toutes les cellules de la colonne en cherchant si il y a intersection et depuis la version 2007, ça en fait quelques unes à parcourir.
Hervé.
En fait , comme Claude ne le précise pas on peu considèrer qu'il y as aussi des cellules sélectionnées dans d'autre colonnes et dont il ne faut tenir compte dans ce cas il faut faire un mix des deux code .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub Test() For Each Cell In Intersect(Columns(1).Cells,selection) Debug.print "La cellule " & Cell.Address & " appartient à la sélection" Next stop 'Résultat dans fenêtre exécution Ctrl+G End Sub
Merci à Didier, et aux autres
Cela fonctionne bien, et comme je voulai récupérer le contenu de chaque cellule sélectionnée, j'ai remplacé cell.adress par cell.value.
Claude Azoulai
Partager