Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/09/2011, 15h47   #1
Membre du Club
 
Inscription : juin 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 209
Points : 52
Points : 52
Par défaut Cellules sélectionnées ou pas ?

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
Claude_Azoulai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 16h36   #2
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

Une piste :

Code :
msgbox selection.address
ou encore :

Code :
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
cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/09/2011, 22h46   #3
Invité régulier
 
Homme
Inscription : septembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2011
Messages : 6
Points : 7
Points : 7
Bonjour,

Une autre solution est d'utiliser la fonction Intersect, qui renvoie l'intersection de deux ou plusieurs plages de cellules :

Code :
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
Cordialement,
n.
neozenfragance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 08h22   #4
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
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é.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 08h50   #5
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
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 :
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
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 09h24   #6
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

Citation:
Envoyé par Claude_Azoulai Voir le message
...
Dans une colonne, il y a un certaint nombre de cellulles sélectionnées.

cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 09h40   #7
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par Ormonth Voir le message
Bonjour,



cordialement,

Didier
Salut,

oui j'ai vu mais cela ne dit pas si la sélection déborde de la colonne....

mais bon c'était juste pour donner suite au message précédent et montrer une autre manière d'utiliser Intersect...

cordialement.
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 18h05   #8
Membre du Club
 
Inscription : juin 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 209
Points : 52
Points : 52
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
Claude_Azoulai est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h37.


 
 
 
 
Partenaires

Hébergement Web