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 des données avec conditions


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    chargée d'études statistiques
    Inscrit en
    Juillet 2018
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : chargée d'études statistiques
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2018
    Messages : 79
    Par défaut Copier des données avec conditions
    Bonjour,

    Je souhaiterai copier des données sur une autre feuille de mon classeur en incluant les conditions :
    S'il trouve dans la colonne A de ma feuille "Source", le chiffre 7, il doit prendre toutes les lignes au dessus (de 1 à 6 inclus) et les copier sur ma feuille "Tranche" en cellule A7.
    Autre condition :
    S'il trouve dans la colonne A de ma feuille "Source", le chiffre 6, il doit prendre toutes les lignes en dessous (de 7 à ....) et les copier sur ma feuille "Tranche" en cellule A23.
    Je me mélange les pédales avec les boucles..et conditions..
    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour Anana, et bienvenu sur ce Forum,

    Tout est clairement dit dans ton énoncé.

    Pour "trouver" (traduit en anglais) et "copier", regarde les méthodes décrites dans cet espace documentaire.
    Objet Range.

    Essaie de développer et reviens si nécessaire.

  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
    Citation Envoyé par ANANA49 Voir le message
    Je me mélange les pédales avec les boucles..et conditions..
    Peut-être pourrais-tu montrer le code que tu as réalisé pour qu'on puisse t'indiquer ce qui est incorrect et comment le corriger.

  4. #4
    Membre confirmé
    Femme Profil pro
    chargée d'études statistiques
    Inscrit en
    Juillet 2018
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : chargée d'études statistiques
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2018
    Messages : 79
    Par défaut
    Bonjour,

    Ci-dessous mon bout de code mais c'est mal parti.. Car je ne sais pas comment lui dire de me copier toutes les lignes au dessus de la valeur 6 qu'il trouve etc..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub SourceTranche()
     
    For i = 1 To 6
    If Cells(i, 1).Value = "6" Then
    Sheets("Tranche").Range("A7").Value = Sheets("Source").Cells(i, 6).Value
     
    End If
    End Sub

  5. #5
    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
    Déjà, une boucle For doit être fermée par un Next.
    https://docs.microsoft.com/fr-fr/off...next-statement

    Ensuite, à chaque tour de boucle, tu inscris le contenu de la cellule courante dans A7.
    Ce qui fait, au final, que seule la dernière valeur scrutée sera inscrite, chaque autre aura été écrasée par la suivante.

  6. #6
    Membre confirmé
    Femme Profil pro
    chargée d'études statistiques
    Inscrit en
    Juillet 2018
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : chargée d'études statistiques
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2018
    Messages : 79
    Par défaut
    Merci Menhir,

    J'ai bien compris l'explication pour la boucle For - Next mais par contre je ne vois pas comment je peux lui dire de me copier toutes les lignes au dessus de la valeur 6 sur ma feuille "Tranche" en "A7" car je ne veux pas qu'une seule valeur mais toutes les valeurs des lignes ??

    Merci pour ton aide car j'ai consulté les liens et plus j'en consultes plus je me perds (Boucle For Each...)

  7. #7
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    A mon avis, mieux vaut utiliser la méthode Find (voir le lien que je t'ai indiqué).
    Cette méthode Find retourne un objet Range dont tu peux récupérer la ligne.
    Ne reste plus alors qu'à copier le champ
    A2:A& cette ligne
    (à adapter)

  8. #8
    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 ANANA49 Voir le message
    J'ai bien compris l'explication pour la boucle For - Next mais par contre je ne vois pas comment je peux lui dire de me copier toutes les lignes au dessus de la valeur 6 sur ma feuille "Tranche" en "A7" car je ne veux pas qu'une seule valeur mais toutes les valeurs des lignes ??
    Au lieu de transférer une valeur, copie toute la zone avec la méthode Copy.
    https://msdn.microsoft.com/fr-fr/lib...0(v=office.15)
    La ligne contenant la valeur cible te fixe la ligne du haut.
    La propriété End(xlUp) te donnera la ligne du bas.
    https://msdn.microsoft.com/fr-fr/lib...9(v=office.15)
    Tu fixes toi-même les colonnes à copier.

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

Discussions similaires

  1. Grouper des données avec condition
    Par jzb10n dans le forum Excel
    Réponses: 3
    Dernier message: 21/01/2015, 11h01
  2. copier des infos avec condition entre deux feuilles
    Par suikasensei dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2011, 17h36
  3. Copier des données sous condition
    Par delphine1987 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/04/2011, 22h17
  4. Copier des données selon conditions
    Par BOU59000 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/07/2009, 17h15
  5. copier des données avec conditions
    Par captaine93 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/12/2007, 16h47

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