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 (copier) les valeurs sélectionnées par une combobox


Sujet :

Macros et VBA Excel

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut Récupérer (copier) les valeurs sélectionnées par une combobox
    Bonjour,

    Dans une feuille Excel, j'ai une série (H4:H33) de Combobox, avec une valeur sélectionnée (ou non) pour chacune d'entre elles.
    Je veux copier les valeurs sélectionnées ailleurs dans la feuille (G4:G33) pour pouvoir les réutiliser.

    Le code suivant copie les Combobox de l'origine à la destination mais ce sont les valeurs sélectionnées que je veux, pas les combobox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Range("G4:G33").Select
        Selection.Copy
        Range("H4:H33").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
    Merci d'avance pour vos conseils.

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Voici le cas de figure parfait illustrant mon propos dans une discussion récente.

    Remarques donc:
    - Objets Range non rattachés
    - Balises sur le code reporté (#) absentes
    - Enregistreur utilisé alors que les propriétés de Combobox ne semblent pas connues

    Tu peux consulter la cible de ce lien (entre autres...).

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut
    Merci MarcelG.

    Le lien documente bien les cas simples de copier/coller des objets en VBA.

    Le cas que je soumets est un peu plus compliqué parce qu'il il faut copier seulement la valeur sélectionnée par la combobox - pas la combobox aussi - et qu'il faut le faire sur une série de cellules (Range).

    Le code ci-dessous copie la combobox avec la sélection:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Range("G4:G33").Select
        Selection.Copy
        Range("H4:H33").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
    Alors, c'est bien ? Non, c'est pas bien. Le problème, c'est que si je supprime les combobox ensuite, par le code ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        ActiveSheet.DropDowns.Delete
    il supprime tout: les combobox et les valeurs sélectionnées.

    Donc la question reste entière.

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour voxov, Bonjour le Forum,

    Ce n'est pas du tout ce type de code auquel je faisais allusion.

    Une piste.
    Si les zones de listes sont nommées
    Alors avec une boucle sur i de 1 à 10, la cellule désignée par l'objet (avec 8 désignant la colonne H) aura comme valeur celle de la zone de liste.

    Je te laisse traduire.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2007
    Messages : 126
    Par défaut
    Bonjour,

    Merci pour la suggestion.
    Malheureusement, récupérer la valeur sélectionnée dans une dropdown box n'est pas aussi direct, en Excel, que par: Cells(i, j).value.
    La solution passe peut-être par aller chercher la valeur dans la liste de référence (les valeurs que l'on trouve dans la dropdown box quand on clique dessus). Et là encore, il s'agit de prendre la valeur sélectionnée dans la dropdown box (et pas une des autres).
    C'est plus challenging que je ne le pensais au départ. On voit bien que Excel n'a pas été conçu au départ avec des objets.
    Je reste à l'écoute de toute suggestion.

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/06/2011, 11h10
  2. Récupérer ancienne valeur sélectionnée dans une combobox
    Par alys56 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/07/2008, 17h11
  3. Réponses: 5
    Dernier message: 05/10/2006, 10h18
  4. Réponses: 2
    Dernier message: 07/07/2006, 01h26
  5. VB6 --> Valeurs retournées par une comboBox
    Par the java lover dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/12/2005, 16h26

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