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 :

Extraction de données d'une liste à choix multiple par macro


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Extraction de données d'une liste à choix multiple par macro
    Bonsoir à tous,

    J'ai réalisé des listes à choix multiples dans un fichier excel.
    N'étant pas experte dans le domaine, je bloque sur la réalisation d'une macro qui me permette d'extraire les données DÉJÀ sélectionnées.

    Et oui parce que j'ai une macro qui permet d'extraire les données lorsque l'on sélectionne les variables de la liste, mais j'ai reçu des fichiers avec les données déjà sélectionnées donc à moins d'aller cliquer une part une sur les listes,, je ne vois pas comment!

    Pouvez-vous me venir en aide??? svp!!!

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    On peut te venir en aide si tu nous expliques un peu mieux ton problème.

    1- Tu crées des listes déroulantes
    2- Tu sélectionnes tes informations
    3- Tu extraits tes informations
    4- Tu veux réintégrer dans tes listes des informations créées à partir de tes listes?

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour, bonjour !

    Citation Envoyé par nivea Voir le message
    j'ai une macro qui permet d'extraire les données lorsque l'on sélectionne les variables de la liste
    Cela a donc l'air d'être simple, reprendre le code après la sélection …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    je reviens avec un peu plus de détail et un fichier joint en exmemple.

    Comment doit-on faire pour extraire des variables sélectionnées dans une zone de liste?
    Dans mon fichier exemple, j'ai des questions ou l'on a mis des réponses à choix multiples.
    La liste des variables auquel ce rapportent les zone de listes dans la plage d'entrée du formulaire ce trouve en feuille 2 du classeur avec un type de sélection multiple, donc sans cellule liée possible.
    Puis-je crée un programme qui extrait chaque valeur déjà sélectionnée de la liste et qui la place sur la cellule de droite sans avoir besoin de retourner sur chaque liste.
    Dans mon exemple j'ai des listes dans la colonne C et des listes dans la colonne E etc...
    avec des valeurs qui ont déjà été choisis.
    Je voudrais donc que les valeurs sélectionnées dans chaque zone de liste soit répertoriées dans la colonne adjacente.
    Je devrais alors avoir, toujours par rapport à mon exemple, pour la liste ce trouvant en C2 dans laquelle on a sélectionné la valeur "métro", D2="métro" et ainsi de suite pour toute mes listes, autrement dis
    "métro" en D2
    "vélo" et "autre" en D3
    "matin" en F2
    "matin" et "midi en F3
    et ainsi de suite avec autant de liste qu'existante et de variables sélectionnée.
    j'insiste sur l'emplacement des résultats pour qu'il reste aligné avec les autres réponses des individus.

    je précise que les zone de listes ont été crée à partir de la barre d'outils formulaires, et non à partir de userform, je sais ce n'est pas trés orthodoxes mais bon...

    merci d'avance pour votre aide.
    salutations
    http://cjoint.com/?DIda0lVCL26

    Citation Envoyé par had4789 Voir le message
    Bonjour,

    On peut te venir en aide si tu nous expliques un peu mieux ton problème.

    1- Tu crées des listes déroulantes
    2- Tu sélectionnes tes informations
    3- Tu extraits tes informations
    4- Tu veux réintégrer dans tes listes des informations créées à partir de tes listes?
    bonjour,
    c'est le point 3 qui m'interresse ici.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    Ce n'est pas la peine d'écrire 3000 lignes.

    En fait tu veux permettre à ton utilisateur de sélectionner plusieurs valeurs dans une listes déroulante?

    Une fois sélectionner tu veux que ces valeurs soient inscrite dans la colonne suivantes?

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui vous avez raison mais bon...
    Mieux vaut trop d'explication que pas assez. Et n'etant pas experte dans le domaine je ne sais pas quel détail peu etre utile donc j'ai tout mis

    Je dispose d'un fichier déjà saisie, l'utilisateurs à donc déjà réalisé sa selection multiple.

    Comment automatiser cette récupération?

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    Dans ce cas il te suffis de sélectionner ta cellule à droite et de faire un =la cellule de gauche.

    Peux-tu faire une copie d'écran de ce que tu veux automatiser?

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    je ne sais pas comment réaliser l'extraction des information selectionner
    et encore moins automatiser cette macro

    la macro qui vérifie les zone de liste extrait les selections en cellule adjacente, tout ça intégrer dans une boucle qui automatise l'action,
    c'est mon rêveeeeee, bientot un cauchemar!

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Je veux bien te faire ta macro mais tes explications ne sont pas claires.

    On va reprendre du début. Tu veux faire quoi avec quoi?

    Tu as des utilisateurs qui sélectionne des valeurs dans une liste déroulantes puis il te renvois le fichier avec les valeurs sélectionnées.

    Tu veux enregistrer ces valeurs dans la cellule à côté pourquoi?

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut re
    Citation Envoyé par had4789 Voir le message
    Tu as des utilisateurs qui sélectionne des valeurs dans une liste déroulantes puis il te renvois le fichier avec les valeurs sélectionnées.

    Tu veux enregistrer ces valeurs dans la cellule à côté pourquoi?
    vous avez tout compris, je voudrais pouvoir faire une analyse sur ces variables.
    par exemple pouvoir dire "60% des personnes interrogé déclarent prendre le métro et la voiture", pour arrivé à ça je voudrais avoir un tableau excel qui reprend les valeurs qui ont été choisis.
    D'ou ma demande sur une macro qui extrait les valeurs sélectionnées et les places dans la cellule adjacentes.

    puis-je atteindre mon rêve grâce à vous?

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Essais ça en adaptant le nom des feuilles. Cela te permettra de copier toute la ligne dans une autre feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Range("A1:S1").Copy Destination:=Sheets("Feuil2").Range("A1:S1")
    De la même manière pour copier dans la cellule adjacente:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").Range("A1").Copy Destination:=Sheets("Feuil1").Range("B1")

  12. #12
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    ça ne va pas.
    cela ne prend pas en charge les zone de liste, ça les copies.
    au lieu d'extraire les elements qui ont été choisie

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Cela va parfaitement si tu adaptes un peu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub i()
     
    Sheets("Feuil1").Range("I5").Value = Sheets("Feuil1").Range("H5")
    End Sub
    Ce code copie la valeur de la cellule H5 dans la cellule I5, celle à coter.

  14. #14
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Je ne comprends pas : le demandeur a déjà une macro fonctionnelle, pourquoi en recréer une nouvelle ?

    Cela aurait été si simple en respectant les règles de ce forum : poster le code encadré des balises adéquates ! …


    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Je ne comprends pas : le demandeur a déjà une macro fonctionnelle, pourquoi en recréer une nouvelle ?
    Parce que justement je n'ai pas eu cette macro sans quoi le travail aurait était bien plus simple en effet

  16. #16
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub Boucle_Toutes_Listes()
    Dim Shp As Shape, i As Long, ItemSel As String
        With ActiveSheet
            For Each Shp In .Shapes
                For i = 1 To .ListBoxes(Shp.Name).ListCount
                    If .ListBoxes(Shp.Name).Selected(i) Then
                        If i = 1 Then
                            ItemSel = .ListBoxes(Shp.Name).List(i)
                        Else
                            ItemSel = ItemSel & Chr(10) & .ListBoxes(Shp.Name).List(i)
                        End If
                    End If
                Next i
                For i = 2 To .Range("A" & Rows.Count).End(xlUp).Row
                    If .Rows(i).Top < .ListBoxes(Shp.Name).Top And .Rows(i).Top + .Rows(i).Height > .ListBoxes(Shp.Name).Top Then Exit For
                Next
                .Range("G" & i).Value = ItemSel
            Next
        End With
    End Sub

    pour répondre à Marc-L, ma macro doit être adapté je ne sais pas comment la terminer

Discussions similaires

  1. Réponses: 10
    Dernier message: 20/09/2019, 22h36
  2. Récuperer une liste à choix multiple
    Par madjidri dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 10/02/2009, 11h30
  3. Test sur une liste à choix multiple
    Par kaninama dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/05/2008, 18h03
  4. Réponses: 4
    Dernier message: 01/10/2006, 15h37
  5. Réponses: 1
    Dernier message: 12/07/2006, 09h51

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