IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Cellules sélectionnées ou pas ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    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

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Une piste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox selection.address
    ou encore :

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

    Didier

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8
    Par défaut
    Bonjour,

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

    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
    Cordialement,
    n.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    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é.

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    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

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    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

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    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.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer une macro si une plage de cellule n'est pas sélectionnée
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/01/2014, 16h15
  2. Cellule sélectionnée dans un DBGrid
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 9
    Dernier message: 11/09/2006, 17h03
  3. [VBA-E2003] Colorier des cellule sélectionnée
    Par 973thom dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 26/04/2006, 10h19
  4. Réponses: 4
    Dernier message: 24/07/2005, 20h14
  5. Réponses: 3
    Dernier message: 18/06/2005, 00h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo