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 lignes d'un tableau selon une condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Par défaut Copier des lignes d'un tableau selon une condition
    Bonjour,
    J'ai besoin que selon une condition que soit copié toutes les lignes d'un tableau qui remplissent la condition.
    Avec le code suivant, cela me copie uniquement la dernière ligne remplissant la condition alors qu'il 'y en a beaucoup plus.

    Je n'arrive pas à voir où est le problème dans mon code ci-dessous

    Code vba : 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
    26
    27
    28
    29
    30
    31
    32
     Sub FicheOrg()
      Application.ScreenUpdating = False
     
      Worksheets("Ensemble").Activate
     
     
     Worksheets("Feuil4").Range("C5:M20000").Delete
     Dim c As String, a As String, o As Range
     Set FiOrg = ActiveWorkbook.Sheets("Feuil4")
     Set BdOLS = ActiveWorkbook.Sheets("Ensemble")
     
     c = FiOrg.Range("A6").Value
     
    'Sélectionner toute les lignes si territoire à exporter
    BdOLS.Activate
     
    Range("EPT_Terr").Select
    For Each o In Selection
    a = o.Row
    If o.Value = c And Cells(a, 1) > 0 Then
     
    'Copier la ligne dans formulaire
    BdOLS.Range(Cells(a, 2), Cells(a, 8)).Copy
    FiOrg.Cells(FiOrg.UsedRange.Rows.Count + 1, 3).PasteSpecial Paste:=xlPasteAll, Transpose:=False
    Application.CutCopyMode = False
    End If
    Next o
     
    Application.ScreenUpdating = False
     
     
    End Sub

    Pourriez-vous m'aider ?
    Merci beaucoup

  2. #2
    Membre émérite
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Par défaut
    Je suppose que ("EPT_Terr")

    est une zone nommée dans BdOLS

    Merci de confirmer ou pas.....

    en activant la macro en pas a pas du devrais trouver

    l'origine du problème.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Février 2014
    Messages : 14
    Par défaut
    Bonjour,
    Merci pour votre retour.
    oui, il s'agit d'une colonne de mon tableau/
    Le pas à pas ne m'indique pas d'erreurs. car la macro arrive à se générer mais ne produit pas le "bon résultat": en effet, elle copie la dernière ligne alors que je cherche à avoir toutes les lignes de la sélection.
    Merci de votre aide!

  4. #4
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonjour,

    Ce billet de Pierre Fauconnier, remplirait très bien le job, et ce sans une ligne de code Vba.

    https://excel.developpez.com/actu/27...re-Fauconnier/

    Bat,
    MFoxy

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/12/2019, 10h39
  2. Réponses: 10
    Dernier message: 09/01/2019, 10h18
  3. [XL-2013] Copier des informations dans un tableau selon une référence
    Par hvegung dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 30/06/2015, 12h14
  4. [AC-2003] Sortir des lignes de la base selon une condition
    Par liop49 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 22/03/2010, 10h12
  5. [VBA-E] Copier des données d'un tableau a une feuille
    Par KKshi666 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/04/2007, 14h09

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