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 :

Copie automatique de certaines lignes d'une feuille à une autre selon conditions. [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 8
    Par défaut Copie automatique de certaines lignes d'une feuille à une autre selon conditions.
    Bonjour tout le monde.

    Je suis nouveau sur ce forum, je suis ravi de vous connaitre.
    Voila mon problème, j'ai cherché longtemps pour trouver une manière de copier une ligne d'une feuille à une autre feuille du même classeur selon les critères (Actif, Inactif), donc quand je met Actif, la ligne se copie, si je met inactif la ligne ne se copie pas; j'ai bien trouvé des lignes de code VBA faites par Willy, sauf que si j'insère une colonne ou je déplace la colonne, ça ne marche plus.
    Y a t-il un moyen qu'il copie selon le titre de la colonne et non la position de la cellule.
    J'espère que ma question est compréhensible, je suis vraiment un débutant.

    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
    24
    25
    Private Sub Worksheet_Activate()
    'fait par willy
     
    Sheets("Commande").Range("A7:H6845").ClearContents
     
    li = Sheets("Données").Range("B7").End(xlDown).Row
    If Sheets("Données").Range("B7") = "" Then MsgBox "Pas de données saisies!", vbCritical: Exit Sub
    If Sheets("Données").Range("B8") = "" Then li = 7
    ligne = 7
     
    For i = 7 To li
        If UCase(Sheets("Données").Range("A" & i)) = "X" Then
        Cells(ligne, 1) = Sheets("Données").Cells(i, 2)
        Cells(ligne, 2) = Sheets("Données").Cells(i, 3)
        Cells(ligne, 3) = Sheets("Données").Cells(i, 4)
        Cells(ligne, 4) = Sheets("Données").Cells(i, 5)
        FormulaR1C1 = "=RC[-1]*RC[-2]"
    ligne = ligne + 1
    End If
     
    Next
    Range("D7").Select
     
     
    End Sub

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 175
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La méthode AdvancedFilter de l'objet Range (filtre avancé d'excel) est une solution.
    Si tu nommes ta zone des données, ta zone cible et la zone des critères, c'est une ligne de code

    A lire pour comprendre Les filtres avancés ou élaborés dans Excel
    Il y a plusieurs exemples sur ce site mais un dernier dans cette contribution titrée La méthode AdvancedFilter et l'objet ListObject - Exemple d'une consultation des mouvements de stock
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre habitué
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 8
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    La méthode AdvancedFilter de l'objet Range (filtre avancé d'excel) est une solution.
    Si tu nommes ta zone des données, ta zone cible et la zone des critères, c'est une ligne de code

    A lire pour comprendre Les filtres avancés ou élaborés dans Excel
    Il y a plusieurs exemples sur ce site mais un dernier dans cette contribution titrée La méthode AdvancedFilter et l'objet ListObject - Exemple d'une consultation des mouvements de stock
    Merci pour la réponse.

    En fait, le filtre avancé copie toutes les colonnes alors que j'ai besoin juste de quelques colonnes choisis et il ne fait pas la mise à jour automatique.

  4. #4
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,
    Citation Envoyé par Rimas23 Voir le message
    .... et il ne fait pas la mise à jour automatique.
    Laisses tomber VBA et utilises des formules

  5. #5
    Membre habitué
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mars 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 8
    Par défaut
    Citation Envoyé par Patrice740 Voir le message
    Bonjour,


    Laisses tomber VBA et utilises des formules
    Je ne pense pas que je vais suivre ton conseil, je continue de chercher.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 175
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En fait, le filtre avancé copie toutes les colonnes alors que j'ai besoin juste de quelques colonnes choisis
    Ton assertion prouve que tu n'as pas lu le tutoriel que je t'ai suggéré de lire ni même la contribution que j'ai référencée où l'exemple proposé est justement l'exportation de certaines colonnes.
    et il ne fait pas la mise à jour automatique
    Il suffit de placer l'appel de la procédure dans une procédure événementielle également démontrée dans la contribution.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Copier une colonne dans une autre selon critère
    Par biagc dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/01/2019, 12h07
  2. copier une valeur d'une feuil vers une autre selon condition
    Par hamila92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/03/2018, 14h20
  3. [XL-2003] Transfert automatique de certaines cellules vers une autre feuille
    Par Xenna77 dans le forum Excel
    Réponses: 5
    Dernier message: 12/11/2014, 20h27
  4. [XL-2007] copier des cellules d'une feuille à une autre selon condition
    Par coolmek dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/03/2014, 20h46
  5. Réponses: 3
    Dernier message: 15/10/2008, 17h45

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