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 :

VBA-Copier la valeur d'une liste dans un autre classeur


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Points : 6
    Points
    6
    Par défaut VBA-Copier la valeur d'une liste dans un autre classeur
    Bonjour,

    Je dispose d'un fichier qui contient des listes telles que:
    lorsqu'on clique sur la cellule, une fenêtre s'affiche avec les différents choix et on sélectionne la bonne valeur (la fenêtre a été définie par un userform)

    Je souhaite donc créer une macro qui copie la valeur choisie dans la même cellule dans un autre classeur.

    Les différents problèmes que je rencontre sont que:
    - dès que la cellule est sélectionnée pour la copier, la liste de choix réapparaît
    - je ne connais pas d'avance la valeur qui a été choisie si j'essaie de passer par la fenêtre "formulaR1C1"
    - la cellule dans laquelle je veux coller la valeur est au même format ie elle contient cette même liste (car les deux classeurs sont identiques)

    Je ne sais pas si ceci est faisable en VBA et si oui comment?!

    Si jamais quelqu'un a des idées ça me serait d'une grande aide!

    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    - dès que la cellule est sélectionnée pour la copier, la liste de choix réapparaît
    Oui, c'est un problème ? pourquoi ? qu'est-ce que tu voudrais ?
    - je ne connais pas d'avance la valeur qui a été choisie si j'essaie de passer par la fenêtre "formulaR1C1"
    Je ne comprends pas. Tu devrais publier ton code.
    - la cellule dans laquelle je veux coller la valeur est au même format ie elle contient cette même liste (car les deux classeurs sont identiques)
    C'est un problème ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    je ne peux pas mettre mon code en ligne pour raison de confidentialité.

    Cependant je peux essayer de m'expliquer autrement.

    J'ai un fichier Source qui contient un tableau. Certaines cases de ce tableau sont des cellules avec des listes de choix. Quand on clique sur une de ces cellules une fenêtre s'ouvre avec la liste des valeurs qu'on peut choisir (en PJ une impression écran de la fenêtre).

    Par exemple pour la cellule "Status" on me propose "unknown" ou "identified" ou "open" ou "closed". Je choisis par exemple "open".

    Ensuite j'ai un second classeur Cible qui est fait exactement de la même façon. Je voudrais copier la feuille du fichier Source dans ce classeur. J'ai déjà réussi à importer toutes les valeurs des cellules, les zones de texte, les commentaires etc... il ne me reste juste à copier les valeurs des listes de choix. (je fais exprès de ne pas copier la feuille entière).

    Ma question est donc:
    comment faire une macro en VBA pour copier les valeurs des listes de choix dans le classeur Cible.

    Je ne sais pas si je suis assez claire cette fois... n'hésitez pas à me demander si jamais vous voulez plus de précision!
    Images attachées Images attachées  

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each Item In UserForm1.ListBox1.List
        MsgBox Item
    Next Item
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Bonjour Daniel.C,

    j'ai essayé d'insérer ton code dans mon programme mais ça me génère l'erreur suivante:
    "Erreur d'exécution '424': Objet requis"

    Aussi, je ne suis pas bien sure de ce que fait ce code mais il me semble qu'il ne copie pas la valeur de la liste...

    J'ai essayé autrement mais à chaque fois que je sélectionne la cellule contenant la liste de choix, ca ouvre à nouveau la ListBox du fichier source (avec donc possibilite de changer les valeurs)

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    C'est difficile de savoir ce que tu veux. A quel moment veux-tu obtenir cette liste ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Je ne veux pas ajouter de liste.

    En fait j'ai deux mêmes classeurs. L'un des deux est rempli par l'utilisateur. Je cherche à copier certaines de ses feuilles dans mon second classeur.

    Pour diverses raisons je doit copier/coller les valeurs de chaque cellules une à une. Cependant pour celles qui contiennent des listes je ne sais pas comment m'y prendre pour que la macro sélectionne automatiquement la bonne valeur dans ce second classeur sans modifier le fichier source
    (car lorsque je sélectionne la cellule, que je copie, que je sélectionne la même cellule dans l'autre classeur et que je colle la valeur ca ne marche pas: ca m'ouvre la fenêtre pour sélectionner la valeur de mon choix dans les deux classeurs).

    Je suis désolée, j'essaie vraiment de m'expliquer au mieux. Veuillez m'excuser si je ne suis pas assez claire...

  8. #8
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    D'accord, je crois que je comprends. Tu dois coller dans la cellule cible sans la sélectionner au préalable :
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks("ClasseurSource.xls").Sheets(1).Range("A1").Copy _
    Workbooks("ClasseurCible.xls").Sheets(1).Range("A1")
    en adaptant les cellules source et cible.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    En effet, ça marche bien Daniel.C! Merci beaucoup!
    En revanche ça me supprime le commentaire de la cellule...
    Y a t il un moyen d'empêcher ça?
    Car si je copie/colle le commentaire après je retombe sur le même problème...

    Sinon tout est nickel! Merci encore!

  10. #10
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks("ClasseurSource.xls").Sheets(1).Range("A1").Copy
    Workbooks("ClasseurCible.xls").Sheets(1).Range("A1").PasteSpecial xlPasteValues
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

Discussions similaires

  1. [Toutes versions] Copier les résultats d'une recherche dans un autre classeur 2
    Par sossso112333 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 16/05/2015, 20h52
  2. Copier les valeurs d'une feuille dans une nouvelle feuille en VBA
    Par muska78 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/06/2008, 10h44
  3. VBA-Excel copier la valeur d'une textbox dans une cellule
    Par GrandGarfield dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/08/2006, 10h15
  4. [VBA-E] Copie par valeur d'une feuille dans un nouveau classeur
    Par MatMeuh dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/05/2006, 22h38
  5. [VBA]Copier le contenu d'une cellule d'un autre classeur
    Par dudu59 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/02/2006, 17h08

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