Besoin macro simple excel pour copier certaines lignes

Fermé
Olivbo Messages postés 7 Date d'inscription jeudi 1 août 2013 Statut Membre Dernière intervention 24 septembre 2013 - 6 août 2013 à 13:55
philmtjn Messages postés 59 Date d'inscription mardi 3 août 2004 Statut Membre Dernière intervention 26 juillet 2017 - 22 août 2013 à 15:28
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
A voir également:

4 réponses

Bonjour

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

http://cjoint.com/?3HgvmTsXhws

A+

Maurice
0
philmtjn Messages postés 59 Date d'inscription mardi 3 août 2004 Statut Membre Dernière intervention 26 juillet 2017 4
Modifié par philmtjn le 7/08/2013 à 00:49
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
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 249
7 août 2013 à 09:41
Bonjour,

et si tu donnais des nouvelles à Gyrus ?
Qui a bossé pour toi ici : https://forums.commentcamarche.net/forum/affich-28398693-need-help-please

eric
0
philmtjn Messages postés 59 Date d'inscription mardi 3 août 2004 Statut Membre Dernière intervention 26 juillet 2017 4
22 août 2013 à 15:28
Alors, ca a servi ce que j'ai répondu ??????
0