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 selon condition


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut copier des lignes selon condition
    Bonsoir,

    j'aimerai avoir un conseil pour une macro plutot simple consistant répartir les données d'un tableau (lignes entières) sur d'autres feuilles selon condition de la valeur en D.

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 164
    Points
    164
    Par défaut
    Bonjour,

    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
    26
    27
    28
    29
    sub test()
     
    Dim wbk as workbook, wsht1 as worksheet, wsht2 as worksheet
    Dim A as long, B as long
     
    set wbk=workbooks.open("C:\MonDossier.xls") 'Par exemple
    'ou encore : set wbk=thisworkbook si la macro est dans le classeur en question
    set wsht1=wbk.worksheets(1)
    set wsht2=wbk.worksheets(2)
     
    'Dans la feuille 1
    with wsht1
      B=1
      A=1
      'On lit toutes les lignes de 1 jusqu'à la dernière cellule non vide en colonne 1
      do until isempty(.cells(A,1))
         'Si la cellule ligne A colonne D (càd 4) = "Tagada"
         if .cells(A,4)="Tagada" then
           'Alors on copie toute la ligne en feuille 2, ligne B (càd 1 au début)
           .rows(A).copy wsht2.cells(B,1)
           'On incrémente B
           B=B+1
         end if
         'On incrément A quoiqu'il arrive pour lire la ligne suivante de la feuille 1
         A=A+1
      loop
    end with
     
    end sub

  3. #3
    Membre régulier Avatar de zebulon2212
    Inscrit en
    Juin 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2006
    Messages : 77
    Points : 88
    Points
    88
    Par défaut
    Marrant je l'aurrai coder différament
    Je part juste du postulat que tu travaille sur un classeur unique

    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
    26
    Public Sub test()
    dim Feuil1, feuil2 ,feuil3 as string
    dim ligneF1, ligneF2, ligneF3 as integer
     
    Feuil1 = "Nom Feuille1"
    Feuil2 = "Nom Feuille2"
    Feuil3 = "Nom Feuille3"
    ligneF1 = 1
    ligneF2 = 1
    ligneF3 = 1
     
    Do While ActiveWorkbook.Sheets(Feuil1).range("A" & cstr(ligneF1)).value<>""
        Select Case ActiveWorkbook.Sheets(Feuil1).range("D" & cstr(ligneF1)).value
            case "une valeur de D"
                ActiveWorkbook.Sheets(Feuil1).rows(cstr(ligneF1) & ":" & cstr(ligneF1)).copy
                ActiveWorkbook.Sheets(Feuil2).range("A" & cstr(ligneF2)).select
                Selection.paste
                ligneF2 = ligneF2+1
            case "une autre valeur de D"
                ActiveWorkbook.Sheets(Feuil1).rows(cstr(ligneF1) & ":" & cstr(ligneF1)).copy
                ActiveWorkbook.Sheets(Feuil3).range("A" & cstr(ligneF3)).select
                Selection.paste
                ligneF3 = ligneF3+1
        End Select
        ligneF1 = ligneF1 +1
    loop

Discussions similaires

  1. copier des lignes sous condition
    Par olivverte dans le forum Excel
    Réponses: 4
    Dernier message: 29/11/2013, 18h23
  2. [XL-2007] Copier des valeurs selon conditions
    Par interloll dans le forum Excel
    Réponses: 3
    Dernier message: 22/02/2013, 19h08
  3. copier des lignes selon deux conditions
    Par ghatfan99 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/10/2011, 10h58
  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 lignes sous conditions (dans 2 colonnes différentes)
    Par olive08 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 12/10/2007, 14h44

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