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 :

copier coller les colonnes non vides avec vba excel [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut copier coller les colonnes non vides avec vba excel
    bonjour
    j'ai un classeur excel où des colonnes vides et des colonnes non vides comme sur l'image
    Nom : Capture1.PNG
Affichages : 239
Taille : 12,7 Ko
    remarques: les colonnes non vides ne sont pas les mêmes
    je voudrai copier et les coller les colonnes non vide dans une autre page à l'aide de code VBA
    Nom : Capture2.PNG
Affichages : 188
Taille : 9,2 Ko
    aidez moi s'il vous plais
    merci

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    salam khouya, bonjour la forum
    à tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub test()
    Dim FBASE As Worksheet
    Dim Fdest As Worksheet
    Dim dercol As Long
    Application.ScreenUpdating = False
    Set FBASE = Sheets("Feuil1")
    Set Fdest = Sheets("Feuil2")
    'Nettoyer la feuille de destination
        Fdest.Cells.ClearContents
    C = 1
    L = 1
    dercol = FBASE.Cells(1, Cells.Columns.Count).End(xlToLeft).Column
    For C = 1 To dercol
     X = Application.CountA(Columns(C))
    If X <> 0 Then
    FBASE.Columns(C).Copy Fdest.Columns(L)
    L = L + 1
    End If
    Next C
    MsgBox "Données Copiées"
    Fdest.Select
    Application.ScreenUpdating = True
    End Sub

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Autre proposition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows(1).SpecialCells(xlCellTypeConstants).EntireColumn.Copy WS_Dest.Range("A1")
    En remplaçant WS_Dest par la référence à l'onglet de destination de la copie.

  4. #4
    Invité
    Invité(e)
    Par défaut voici ce que donne
    Citation Envoyé par BENNASR Voir le message
    salam khouya, bonjour la forum
    à tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub test()
    Dim FBASE As Worksheet
    Dim Fdest As Worksheet
    Dim dercol As Long
    Application.ScreenUpdating = False
    Set FBASE = Sheets("Feuil1")
    Set Fdest = Sheets("Feuil2")
    'Nettoyer la feuille de destination
        Fdest.Cells.ClearContents
    C = 1
    L = 1
    dercol = FBASE.Cells(1, Cells.Columns.Count).End(xlToLeft).Column
    For C = 1 To dercol
     X = Application.CountA(Columns(C))
    If X <> 0 Then
    FBASE.Columns(C).Copy Fdest.Columns(L)
    L = L + 1
    End If
    Next C
    MsgBox "Données Copiées"
    Fdest.Select
    Application.ScreenUpdating = True
    End Sub
    Nom : Capture3.PNG
Affichages : 166
Taille : 4,8 Ko

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    peut être une erreur de votre part
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    mais la proposition de Menhir est meilleure à mon avis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim FBASE As Worksheet
    Dim Fdest As Worksheet
    Dim dercol As Long
    Application.ScreenUpdating = False
    Set FBASE = Sheets("Feuil1")
    Set Fdest = Sheets("Feuil2")
    'Nettoyer la feuille de destination
        Fdest.Cells.ClearContents
    FBASE.Rows(1).SpecialCells(xlCellTypeConstants).EntireColumn.Copy Fdest.Range("A1")
    Fdest.Select
    Application.ScreenUpdating = True
    End Sub

  7. #7
    Invité
    Invité(e)
    Par défaut merci pour votre reponse
    vous pouvez m'aider à faire la même chose sur le fichier suivant?
    M.xlsm
    Dernière modification par Invité ; 24/10/2019 à 22h07. Motif: Inutile de citer intégralement le message précédent

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

Discussions similaires

  1. [XL-2016] Copier coller des cellules non vides
    Par sommongkul dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 05/06/2018, 10h16
  2. Réponses: 15
    Dernier message: 05/03/2018, 19h05
  3. [XL-2016] probleme copier coller si cellule non vide
    Par miklmarch dans le forum Excel
    Réponses: 4
    Dernier message: 11/01/2017, 16h31
  4. Suprimer lignes vides avec VBA Excel 2003
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/11/2008, 21h27
  5. Réponses: 3
    Dernier message: 23/09/2006, 15h19

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