Besoin macro simple excel pour copier certaines lignes

Olivbo Messages postés 8 Statut Membre -  
philmtjn Messages postés 62 Statut Membre -
Bonjour,

J'ai besoin d'aide sur le fichier excel ci-joint.
A partir de l'onglet principal (nommé gd), j'aimerais recopier dans l'onglet intitulé 2461toutes les lignes contenant 2461 dans la colonne 3 de l'onglet gd.

Auriez vous une idée ?

voici le lien pour le fichier : https://www.cjoint.com/?3Hgn2Zl3lO8

Merci d'avance,

Olivier

4 réponses

  1. foo
     
    Bonjour

    Voila un test pour ton Transfert
    a toi de voir si ca te va

    http://cjoint.com/?3HgvmTsXhws

    A+

    Maurice
    0
  2. philmtjn Messages postés 62 Statut Membre 4
     
    tu peux essayer ca :

    '************************************************************************
    '* module pour recopier les lignes comportant une valeur dans un onglet *
    '* *
    '* -------------------------------------------------------------------- *

    Public Sub copieavecDecalageetFiltre()
    ' dans la source : debut=A4 cells(4,1)
    ' dans la destination : debut=B9 cells(9,2)

    'on admettra que dans B c'est soit Yes, soit No mais qu'il y a toujours quelque chose

    Dim LigneSource As Long
    Dim LigneDestin As Long
    Dim ColonneDeca As Long
    Dim FiltreChain As String

    Dim I As Integer

    LigneSource = 4
    LigneDestin = 9
    ColonneDeca = 1

    'la valeur de filtre est le nom de l'onglet
    FiltreChain = "2461" 'activesheet.name (si on met le déclencheur de la macro sur l'onglet)

    With Sheets(FiltreChain)
    Do Until Sheets("gd").Cells(LigneSource, 2) = ""
    If Format(Sheets("gd").Cells(LigneSource, 3)) = FiltreChain Then
    For I = 1 To 16
    .Cells(LigneDestin, I + ColonneDeca) = Sheets("gd").Cells(LigneSource, I)
    Next
    LigneDestin = LigneDestin + 1
    End If
    LigneSource = LigneSource + 1
    Loop
    End With

    MsgBox "Terminé"

    End Sub

    pour les autres valeurs.... tu copies l'onglet avant d'exécuter la macro...
    et dans la ligne [FiltreChain="2461"] tu mets
    FiltreChain=activesheet.name

    Après, dans le nom de l'onglet de tes copies tu pourras mettre :
    7214
    4859
    9429 ...
    tu te placeras sur l'onglet du "Destination DC" que tu veux et tu fais
    Outils/Macros/Macros... (ou Alt+F8)
    et tu veras l'onglet se remplir avec les lignes correspondantes de "gd"

    Essayes et dis-moi

    Bonne fin de soirée
    0
  3. philmtjn Messages postés 62 Statut Membre 4
     
    Alors, ca a servi ce que j'ai répondu ??????
    0