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 :

récupérer sélection multiple par souris


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut récupérer sélection multiple par souris
    Bonjour,
    Comme l'indique le titre, j'ai un programme dans lequel l'utilisateur va sélectionner plusieurs cellules qui peuvent être discontinues.
    Mais "Selection" ne prend en compte que la 1ère partie de la sélection et je ne trouve aucun moyen de récupérer la ou les autres parties sélectionnées (par un n° de ligne ou autre).

    La sélection faite par l'uilisateur est complètement aléatoire, je n'ai pas moyen d'automatiser cela. HELP : je n'ai aucune solution !!
    Merci d'avance

  2. #2
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour,
    J'ai trouvé au hasard de mes pérégrinations sur ce site : http://ericrenaud.fr/ ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub SelectionPlageAvecSourisetrestitution()
    Dim MonTableau() As String
    Dim Plage As Range
    Dim j As Integer
    Set Plage = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8)
    MonTableau = Split(Plage.Address, ",")
        For j = 0 To UBound(MonTableau)
            MsgBox MonTableau(j)
        Next j
    End Sub
    Vous le lancez, et à l'affichage de l'InputBox sélectionnez votre plage discontinue avec la souris et la touche CTRL...
    Cordialement,
    Franck

  3. #3
    Expert éminent
    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
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonsoir,

    Pour récupérer la sélection dans une plage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim Plage As Range
     
    Set Plage = Selection
     
    Debug.Print Plage.Address 'récup dans la fenêtre d'exécution, à adapter
    Hervé.

  4. #4
    Expert éminent
    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
    Points : 6 871
    Points
    6 871
    Par défaut
    Re,

    Tu peux parcourir les cellules sélectionnées avec une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub Test()
     
        Dim Cel As Range
     
        For Each Cel In Selection
     
            MsgBox Cel.Address
     
        Next Cel
     
    End Sub
    Hervé.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour et merci à vous 3 !
    Je suis en train d'adapter mon programme avec "plage.adress", split et compagnie; ce qui me permet de récupérer les n° de lignes qui ont été sélectionnées.
    Je voulais éviter de passer les lignes les unes après les autres comme le suggère Thèze car j'ai souvent des gros fichiers (+ de 1000 lignes).
    Merci beaucoup pour votre aide
    Clarinnette, une autodidacte pas du tout confirmée !!

  6. #6
    Expert éminent
    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
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour Clarinnette,

    Tu dis :
    Mais "Selection" ne prend en compte que la 1ère partie de la sélection et je ne trouve aucun moyen de récupérer la ou les autres parties sélectionnées (par un n° de ligne ou autre).
    c'est pour cette raison que j'ai pris en exemple une boucle For Each, pour prendre en compte toutes les cellules sélectionnées. Comme tu ne donne pas trop d'explications, on est un peu dans le vague pour t'aider de façon plus précise.

    Hervé

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Pas de problème, Theze : c vrai que j'ai pas été bien précise et pourtant, vous avez bien compris le problème. Merci encore !

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

Discussions similaires

  1. [XL-2007] Boucle pour une sélection multiple par nom sur un tableau croisé dynamique VBA
    Par kuro200 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/06/2015, 20h31
  2. récupérer les valeurs d'une zone de liste à sélection multiple
    Par garsflo dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 09/07/2009, 21h19
  3. Retour de sélection multiple par SQL dynamique
    Par samworld dans le forum PL/SQL
    Réponses: 6
    Dernier message: 20/11/2008, 08h43
  4. Réponses: 7
    Dernier message: 16/03/2007, 13h33
  5. [ListBox] Récupérer sélection multiple ?
    Par Kylen dans le forum ASP.NET
    Réponses: 4
    Dernier message: 29/06/2006, 14h57

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