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écapitulatif avec colonnes non consécutives [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Par défaut récapitulatif avec colonnes non consécutives
    Bonjour au forum,

    Dans un Userform, je cherche à faire un récapitulatif de Feuil23 vers Feuil26 mais en gardant uniquement les infos des colonnes A, B, I, K et N

    Avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton1_Click()
    Dim X As Long, y As Integer, z As Long
    With Feuil19
    .Range("A2:E65536").ClearContents
    For X = 0 To appel.ListCount - 1
    z = appel.List(X, 4)
    For y = 0 To 13
    .Cells(X + 2, y + 1) = Feuil17.Cells(z, y + 1)
    Next
    Next
    End With
    End Sub
    j'arrive à afficher dans la Feuil26 les colonnes A à E mais ce n'est pas ce que je veux (voir plus haut).

    Avez-vous une idée ?

    Pour info : appel est le nom de la listbox dans l'userform

    Merci

    Stephanie

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Tu peux essayer avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    Dim X As Long, Y As Integer, Z As Long
    Dim Tablo()
        Tablo = Array("A", "B", "I", "K", "N")
        With Feuil26
            .Range("A2:N65536").ClearContents
            For X = 0 To Me.appel.ListCount - 1
                Z = Me.appel.List(X, 4)
                For Y = 0 To UBound(Tablo)
                    .Cells(X + 2, Tablo(Y)) = Feuil23.Cells(Z, Tablo(Y))
                Next
            Next
        End With
    End Sub
    Cordialement.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Par défaut
    bonjour gFZT82 et au forum,

    gFZT82, votre code fonctionne bien mais par oubli de ma part, je n'ai pas précisé que les colonnes I, K et N se retrouvaient dans C, D et E de la feuille destination et que la première ligne commence en A6 sachant que les entêtes se trouvent en A5.

    Ex. : Source (A, B, I, K, N)
    Destination (A, B, C, D, E)

    Est-ce possible de faire la même chose ?

    Merci

    Stephanie

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Ce qui serait bien aussi, c'est que tu cherches à t'approprier le code .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    Dim X As Long, Y As Integer, Z As Long
    Dim Tablo()
        Tablo = Array("A", "B", "I", "K", "N")
        With Feuil26
            .Range("A2:N65536").ClearContents
            For X = 0 To Me.appel.ListCount - 1
                Z = Me.appel.List(X, 4)
                For Y = 0 To UBound(Tablo)
                    .Cells(X + 2, Y + 1) = Feuil23.Cells(Z, Tablo(Y))
                Next
            Next
        End With
    End Sub
    Cordialement.

    EDIT : Je te laisse chercher comment débuter la copie à la ligne 6

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Par défaut Resolu
    bonjour gFZT82 et au forum,

    Merci gFZT82 pour le code et en ce qui concerne mon problème pour remplir à partir de la ligne 6, j'ai modifier comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Cells(X + 6, Y + 1) = Feuil23.Cells(Z, Tablo(Y))
    Ca fonctionne

    Merci à tous

    Stephanie

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

Discussions similaires

  1. [XL-2003] copier plusieurs colonnes non consécutive avec .Columns()
    Par hantran dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 11/06/2018, 12h42
  2. [XL-2013] Copie de colonnes non consécutives vers la première ligne vide d'un autre fichier
    Par bizzzounours dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 16/06/2015, 14h35
  3. [XL-2013] Copier colonnes non consécutives et les collées avec un écart de colonnes voulu
    Par namora dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/04/2015, 19h10
  4. [WD12] Table fichier avec colonne non liée
    Par david77320 dans le forum WinDev
    Réponses: 1
    Dernier message: 17/10/2008, 11h09
  5. Réponses: 2
    Dernier message: 20/06/2006, 16h32

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