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 de ligne avec condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 23
    Par défaut Copier coller de ligne avec condition
    Bonjour,
    Désolé car je sais que cette question est posée plusieurs fois sur ce forum mais je n'ai pas pu adapter les solutions à mon petit problème.

    Mon besoin : une macro qui copie chaque ligne dont la valeur à la cellule E commence par "dla" + contient "Mgr" dans la colonne i + contient "E" dans la colonne "N".
    Et une feuille est créé et les lignes qui remplissent les conditions y sont collées.

    Merci d'avance tout le monde.

  2. #2
    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
    Citation Envoyé par Freuzo Voir le message
    une macro qui copie chaque ligne dont la valeur à la cellule E commence par "dla" + contient "Mgr" dans la colonne i + contient "E" dans la colonne "N".
    Et une feuille est créé et les lignes qui remplissent les conditions y sont collées.
    Il faut le faire à l'envers : commencer par créer la feuille puis faire les copies.

    Pour créer une feuille, méthode Add de la collection Worksheets (au pluriel) du classeur souhaité.
    https://docs.microsoft.com/fr-FR/off...worksheets.add

    Ensuite tu fais une boucle sur les lignes à scruter.
    http://silkyroad.developpez.com/vba/boucles/

    Tu fais un test If en vérifiant les trois premiers caractères du contenu de la cellule avec la fonction Left et la présence de te seconde chaine avec une fonction InStr(), les deux conditions reliées par un opérateur And.
    https://docs.microsoft.com/fr-fr/off...else-statement
    https://docs.microsoft.com/fr-fr/off.../left-function
    https://docs.microsoft.com/fr-fr/off...instr-function
    https://docs.microsoft.com/fr-fr/off...p/and-operator

    Si le test est positif, tu fais une copie avec la méthode Copy appliquée à toute les ligne (Row).
    https://msdn.microsoft.com/fr-fr/lib...0(v=office.15)

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 23
    Par défaut
    M'apprendre à pécher au lieu de me donner le poisson.
    OK. Je vais essayer avec tous ces liens.
    Merci.

  4. #4
    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
    Citation Envoyé par Freuzo Voir le message
    M'apprendre à pécher au lieu de me donner le poisson.
    C'est le crédo de ce forum.

    Cela dit, te fournir toutes ces explications et tous ces liens était plus long que de te donner le code tout fait.
    Mais au moins ça te permettra de progresser.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 23
    Par défaut
    C'est bien, j'aime cette philosophie. Je reviendrai poster ce que j'aurai obtenu comme code.

  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 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour copier des données suivant conditions, tu as également une solution en utilisant la méthode AdvancedFilter (filtre avancé) de l'objet Range avec un critère calculé. Moins de cinq lignes de code

    Pour en savoir plus sur les filtres avancés Les filtres avancés ou élaborés dans Excel

    Quelques exemples
    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

Discussions similaires

  1. [Google Sheets] Copier / Coller une ligne avec condition sur un autre onglet
    Par bunz13 dans le forum APIs Google
    Réponses: 5
    Dernier message: 18/08/2018, 11h26
  2. [XL-2013] Macro pour copier coller des lignes avec condition
    Par Outiltils dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/08/2017, 08h30
  3. [XL-2010] VBA EXCEL: copier/coller des lignes avec conditions
    Par LANGAZOU dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/11/2015, 12h32
  4. [XL-2010] copier coller des lignes sous condition avec un changement de texte sur la ligne copiée.
    Par a.ouguerzam dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/11/2014, 16h48
  5. Copier/coller plusieur ligne avec vb
    Par fred43 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/04/2009, 19h37

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