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 :

ListObject - copier 2 colonnes [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 633
    Par défaut ListObject - copier 2 colonnes
    Bonjour,
    je sais copier une colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set C = LoSce.ListColumns(1)
    C.DataBodyRange.Copy
    mais comment copier les colonnes 1 et 2 ?
    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(LoSce.ListColumns(1).Range, LoSce.ListColumns(2).Range).copy
    Mais j'ai un message Méthode Range a échoué...
    Bien sur je peux le faire en 2 fois, mais il doit bien y avoir une solution plus propre ?
    Merci pour votre aide

  2. #2
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,

    Des exemples en sélection (montre le résultat visuellement) a adapter pour la copie … :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Exemple1()
        ActiveSheet.ListObjects("Table1").ListColumns(1).Range.Resize(, 2).Select
    End Sub
     
    Sub Exemple2()
        ActiveSheet.ListObjects("Table1").ListColumns(1).DataBodyRange.Resize(, 2).Select
    End Sub
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  3. #3
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 633
    Par défaut
    Un grand merci Ryu, je n'avais pas penser à faire un resize...
    pour info des visiteurs
    Exemple 1 = sélection avec titre
    Exemple 2 = sélection des données.

    Dans le même ordre d'idée, est-ce tu saurais comment on sélectionne une ligne de total, sauf la 1ère colonne ; je connais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Set Total = Tb.TotalsRowRange   'affecte ligne des totaux
    mais comment ne pas prendre la 1ère cellule ?

    Aujourd'hui, j'utilise qqch comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("TbRecapAgt[[#Totals],[VolProd]:[TbxStatuSo]]").Copy
    mais si on touche à la 1ère ou la dernière colonne de données, ça ne sera plus juste...

    Merci encore pour ton aide.

  4. #4
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour,

    Tu as répondu toi même a ta question avec l’une des solutions dans ton 2ème code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("TbRecapAgt[[#Totals],[VolProd]:[TbxStatuSo]]").Copy
    C’est comme avec les adresses d’une plage :
    Sauf que la il faut juste spécifier de quel nom de colonne tu veux commencer et le nom de colonne de fin de plage.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("TbRecapAgt[[#Totals],[NomDeColonneDeDebut]:[NomDeColonneDeFin]]").Copy
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

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

Discussions similaires

  1. Macro copier/coller colonne- insérer nouvelle colonne
    Par rembliec dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/11/2007, 16h32
  2. Réponses: 7
    Dernier message: 17/07/2007, 15h29
  3. Réponses: 2
    Dernier message: 19/04/2007, 13h54
  4. copier certaines colonnes d'une feuille Excel
    Par emeraudes dans le forum Access
    Réponses: 7
    Dernier message: 12/04/2006, 16h57
  5. Copier derniere colonne d'un grid sur excel
    Par EssaiEncore dans le forum Langage
    Réponses: 7
    Dernier message: 18/01/2006, 11h33

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