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 :

[xl 2007] Copier une ligne selon la valeur d'une colonne, vers une autre feuille du classeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Reconversion pro
    Inscrit en
    Octobre 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Reconversion pro
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2022
    Messages : 4
    Par défaut [xl 2007] Copier une ligne selon la valeur d'une colonne, vers une autre feuille du classeur
    Bonjour,

    Cela fait longtemps, je suis très très rouillé et n'ai jamais été expert.

    Je souhaite copier la ligne de la feuille ("TCD"),si la valeur de la colonne C est nulle (=0), sur la feuille ("EXT"), les unes au dessus des autres.
    Dans l'exemple joint ,les lignes 3 et 5 doivent être copiées telles quelles, dans la feuille "EXT", sur les lignes 2 et 3.... (on va garder la ligne 1 pour les intitulés)

    Je ne souhaite pas le faire manuellement, avec les filtres automatiques et un copier/coller.

    Le vrai tableau est autrement plus balèze et confi.

    Nom : Capture.JPG
Affichages : 76
Taille : 25,2 Ko

    Salutations...
    Images attachées Images attachées  

  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
    bonjour
    si j'ai compris t'as besoin de ça :
    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 F1 As Worksheet
    Dim F2 As Worksheet
    Dim lig As Long
     Application.ScreenUpdating = False
    Set F1 = Sheets("TCD")
    Set F2 = Sheets("EXT")
    lig = F2.Range("A" & Rows.Count).End(xlUp).Row + 1
    F1.Range("A1:E" & F1.Range("A" & Rows.Count).End(xlUp).Row).AutoFilter Field:=3, Criteria1:="0"
    F1.Range("A2:E" & F1.Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Copy Destination:=F2.Range("A" & lig)
    If F1.FilterMode = True Then F1.ShowAllData
     Application.ScreenUpdating = true
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Reconversion pro
    Inscrit en
    Octobre 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Reconversion pro
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2022
    Messages : 4
    Par défaut
    Bonjour bennasr,

    Tu as effectivement bien compris et réalisé ma demande, merci beaucoup.

    Pour effacer la feuille avant d'y coller les lignes désirées, je me suis permis d'ajouter un :

    Worksheets("EXT").Range("2:30000").ClearContents

    Je pense qu'il y a plus propre, pour dire : "Effacer les cellules sous la ligne 1".

    Je reste preneur de l'info si tu l'as, car je suis encore à l'ouest pour la terminologie.

    J'ai également ajouter un petit MsgBox "export généré" pour dire que c'est fait.


    Encore mille mercis pour ce retour très rapide.


    Nenel

  4. #4
    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
    bonjour
    NB: on efface toutes les données de la feuille EXT
    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
    Sub TEST()
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Dim lig As Long
     Application.ScreenUpdating = False
    Set F1 = Sheets("TCD")
    Set F2 = Sheets("EXT")
    lig = F2.Range("A" & Rows.Count).End(xlUp).Row + 1
    F1.Range("A1:E" & F1.Range("A" & Rows.Count).End(xlUp).Row).AutoFilter Field:=3, Criteria1:="0"
    F2.Cells.ClearContents
    F1.Range("A1:E" & F1.Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Copy Destination:=F2.Range("A1")
    If F1.FilterMode = True Then F1.ShowAllData
     Application.ScreenUpdating = True
    End Sub

  5. #5
    Candidat au Club
    Homme Profil pro
    Reconversion pro
    Inscrit en
    Octobre 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Reconversion pro
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2022
    Messages : 4
    Par défaut
    Un éclaircissement , sur Application.ScreenUpdating....

    N'est on pas censé le mettre sur OFF pour optimiser le temps d'opération (même si en l'occurrence c'est pas une opération compliquée) ?

    @+

  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
    c'est juste pour gagner en temps d'exécution

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/05/2019, 13h57
  2. [XL-2010] Boucle VBA - Recopie de données à partir d'une autre feuille du classeur
    Par colinez dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/05/2017, 16h35
  3. [XL-2013] Liste de présence qui a une influence sur une autre feuille du classeur.
    Par thegravman dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/04/2015, 20h34
  4. [XL-2007] Dupliquer des formules d'une feuille vers les autres feuilles du classeur
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 13/07/2014, 16h25
  5. Copie automatique d'une feuille à une autre feuille de classeur
    Par Miky95 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/12/2009, 15h29

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