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

VBA Discussion :

Collage Special d'une liste déroulante


Sujet :

VBA

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Collage Special d'une liste déroulante
    Bonjour à tous,

    Je souhaite coller une plage de cellule dans laquelle se situe des listes déroulantes.
    J'utilise donc un collage spécial par valeur et format.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sheets("OngletA").Range("E1:E9").Copy
    Sheets("OngletB").Select
    Cells(lastLign + 2, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues
    Selection.PasteSpecial Paste:=xlPasteFormats
    NB : lastLign a été définie plus haut.
    Cependant, lorsque j’exécute ma macro, le collage se fait correctement, mais il n'est pas en mode "special", en effet, les cellules déroulantes sont toujours là.

    NB2 : lorsque j’exécute le code pas à pas j'obtiens l'erreur suivante :
    Erreur 1004 : la méthode PasteSpecial de la classe Range a échoué


    Merci de votre aide.

  2. #2
    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,

    et en copiant juste les valeurs ? Sinon suffit de supprimer la validation après la copie, non ?

    A lire

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    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)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Vous pensez que le fait de choisir aussi "Format" entraîne la transformation de mes cellules collées en liste ?

    Qu'appelez vous "validation après copie " ?

  4. #4
    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

    D'où viennent ces listes déroulantes, comment ont-elles été créées ?
    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)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Dans mon premier onglet j'ai 3 listes déroulantes créées à la main.
    Je souhaite les coller dans un second onglet, mais juste par valeur et format.
    Je ne souhaite pas que dans le second onglet on puisse changer la valeur de celles ci.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Pardon du double post.

    Je reviens sur mon code, j'ai essayé de plusieurs manières :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'Avec l'utilisation d'un WITH
    lastlign = Sheets("FeuilleB").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("FeuilleA").Range("A1:F9").Copy
     
    With Sheets("Historisation")
        .Cells(lastlign + 2, 1).PasteSpecial Paste:=xlPasteValues
        .Cells(lastlign + 2, 1).PasteSpecial.PasteSpecial Paste:=xlPasteFormats
    End With
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Sans le WITH
    Sheets("FeuilleA").Range("A1:F9").Copy
    Sheets("FeuilleB").Cells(lastlign + 2, 1).PasteSpecial Paste:=xlPasteFormats
    Toujours la même erreur, erreur dans la méthode SpecialPaste.

    Quelqu'un a t'il une idée ?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    demandeur d'emploi
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : demandeur d'emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 36
    Points
    36
    Par défaut
    1. version excel?

    2. en fenetre VBA:
    a) allez a "View" (affichage?) -> "Object browser" (explorateur d'objets?) *desole, j'ai seulement version anglais
    b) cherchez sur bibliotheques (Excel) pour "XlPasteType" (c'est enum class dans excel)
    c) dans "Members of XlPasteType" cherchez xlPasteFormats ou xlPasteValues; si les deux sont la - c'est vraiment bizarre...
    si non - essayez:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Selection.PasteSpecial Paste:= -4163
    Selection.PasteSpecial Paste:= -4122
    A Paris. Je cherche d'emploi (France, Maroc, Moyen Orient, autres a discuter).
    Je comprends presque tout en francais mais je n'ecris pas bien, desole

Discussions similaires

  1. creer une liste déroulante speciale
    Par ludoak dans le forum Flash
    Réponses: 2
    Dernier message: 24/03/2010, 23h36
  2. Réponses: 2
    Dernier message: 16/10/2004, 14h33
  3. Problème pour positionner une liste déroulante
    Par ouckileou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2004, 01h05
  4. valeur d'une liste déroulante
    Par leeloo076 dans le forum ASP
    Réponses: 7
    Dernier message: 15/04/2004, 16h11

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