Rechercher lignes et ne coller que certaines cellules
1 réponse
suze32
Bonjour,
J'ai une base de donn=E9e, en feuille 2, qui se pr=E9sente sur 4
colonnes : A : Nom ou Raison sociale; B : Date d'encaissement; C :
Commentaires; D : Montant. Une de mes maccros rep=E8re dans ma base de
donn=E9e les lignes o=F9 il y a la date d'aujourd'hui (colonne B), il les
copie et les colle dans ma feuille 1. Cependant j'aimerai qu'il ne
colle que les cellules de la colonne A et de la collone D (nom et
montant) qui correspondent =E0 la date d'aujourd'hui.
Voici comment se pr=E9sente la maccro actuelle :
Sub Traitement_Date()
'
'
If Sheets("Feuil1").Range("J5") <> "" Then
Sheets("Feuil1").Range("J" &
Sheets("Feuil1").Range("J65535").End(xlUp).Row, "M5").Clear
End If
Sheets("Feuil2").Activate
For Each C In Worksheets("Feuil2").Range("B2", "B" &
Sheets("Feuil2").Range("B65535").End(xlUp).Row)
If C =3D Date Then
If Sheets("Feuil1").Range("J5") <> "" Then
Range("A" & C.Row, "D" & C.Row).Copy
Sheets("Feuil1").Range("J65535").End(xlUp).Offset(1, 0)
Else
Range("A" & C.Row, "D" & C.Row).Copy Sheets("Feuil1").Range("J5")
End If
End If
Next
Sheets("Feuil1").Activate
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Youky
Bonjour Suze, J'ai mis des apostrophes sur les lignes changées j'ai utilisé le codename des feuilles qui est plus efficace si on renomme les onglets Youky
Sub Traitement_Date() ' If Feuil1.[J5] <> "" Then Feuil1.Range("J" & _ Feuil1.[J65535].End(xlUp).Row, "M5").Clear End If 'Feuil2.Activate For Each c In Feuil2.Range("B2", "B" & _ Feuil2.[B65535].End(xlUp).Row) If c = Date Then If Feuil1.[J5] <> "" Then Feuil1.[J65536].End(xlUp).Offset(1, 0) = _ Feuil2.Cells(c.Row, 1) Feuil1.[J65536].End(xlUp).Offset(1, 1) = _ Feuil2.Cells(c.Row, 4) 'Range("A" & c.Row, "D" & c.Row).Copy _ Sheets("Feuil1").Range("J65535").End(xlUp).Offset(1, 0) Else Feuil1.[J5] = Feuil2.Cells(c.Row, 1) Feuil1.[K5] = Feuil2.Cells(c.Row, 4) 'Range("A" & c.Row, "D" & c.Row).Copy Sheets("Feuil1").Range("J5") End If End If Next 'Sheets("Feuil1").Activate End Sub
"suze32" a écrit dans le message de news:
Bonjour,
J'ai une base de donnée, en feuille 2, qui se présente sur 4 colonnes : A : Nom ou Raison sociale; B : Date d'encaissement; C : Commentaires; D : Montant. Une de mes maccros repère dans ma base de donnée les lignes où il y a la date d'aujourd'hui (colonne B), il les copie et les colle dans ma feuille 1. Cependant j'aimerai qu'il ne colle que les cellules de la colonne A et de la collone D (nom et montant) qui correspondent à la date d'aujourd'hui. Voici comment se présente la maccro actuelle :
Sub Traitement_Date() ' ' If Sheets("Feuil1").Range("J5") <> "" Then Sheets("Feuil1").Range("J" & Sheets("Feuil1").Range("J65535").End(xlUp).Row, "M5").Clear End If Sheets("Feuil2").Activate For Each C In Worksheets("Feuil2").Range("B2", "B" & Sheets("Feuil2").Range("B65535").End(xlUp).Row) If C = Date Then If Sheets("Feuil1").Range("J5") <> "" Then Range("A" & C.Row, "D" & C.Row).Copy Sheets("Feuil1").Range("J65535").End(xlUp).Offset(1, 0) Else Range("A" & C.Row, "D" & C.Row).Copy Sheets("Feuil1").Range("J5") End If End If Next Sheets("Feuil1").Activate End Sub
Merci pour votre aide Bonne journée
Suze32
Bonjour Suze,
J'ai mis des apostrophes sur les lignes changées
j'ai utilisé le codename des feuilles qui est plus efficace si on renomme
les onglets
Youky
Sub Traitement_Date()
'
If Feuil1.[J5] <> "" Then
Feuil1.Range("J" & _
Feuil1.[J65535].End(xlUp).Row, "M5").Clear
End If
'Feuil2.Activate
For Each c In Feuil2.Range("B2", "B" & _
Feuil2.[B65535].End(xlUp).Row)
If c = Date Then
If Feuil1.[J5] <> "" Then
Feuil1.[J65536].End(xlUp).Offset(1, 0) = _
Feuil2.Cells(c.Row, 1)
Feuil1.[J65536].End(xlUp).Offset(1, 1) = _
Feuil2.Cells(c.Row, 4)
'Range("A" & c.Row, "D" & c.Row).Copy _
Sheets("Feuil1").Range("J65535").End(xlUp).Offset(1, 0)
Else
Feuil1.[J5] = Feuil2.Cells(c.Row, 1)
Feuil1.[K5] = Feuil2.Cells(c.Row, 4)
'Range("A" & c.Row, "D" & c.Row).Copy Sheets("Feuil1").Range("J5")
End If
End If
Next
'Sheets("Feuil1").Activate
End Sub
"suze32" <suzescobar@gmail.com> a écrit dans le message de news:
88611555-0603-45e0-b727-dc2198ac7658@f63g2000hsf.googlegroups.com...
Bonjour,
J'ai une base de donnée, en feuille 2, qui se présente sur 4
colonnes : A : Nom ou Raison sociale; B : Date d'encaissement; C :
Commentaires; D : Montant. Une de mes maccros repère dans ma base de
donnée les lignes où il y a la date d'aujourd'hui (colonne B), il les
copie et les colle dans ma feuille 1. Cependant j'aimerai qu'il ne
colle que les cellules de la colonne A et de la collone D (nom et
montant) qui correspondent à la date d'aujourd'hui.
Voici comment se présente la maccro actuelle :
Sub Traitement_Date()
'
'
If Sheets("Feuil1").Range("J5") <> "" Then
Sheets("Feuil1").Range("J" &
Sheets("Feuil1").Range("J65535").End(xlUp).Row, "M5").Clear
End If
Sheets("Feuil2").Activate
For Each C In Worksheets("Feuil2").Range("B2", "B" &
Sheets("Feuil2").Range("B65535").End(xlUp).Row)
If C = Date Then
If Sheets("Feuil1").Range("J5") <> "" Then
Range("A" & C.Row, "D" & C.Row).Copy
Sheets("Feuil1").Range("J65535").End(xlUp).Offset(1, 0)
Else
Range("A" & C.Row, "D" & C.Row).Copy Sheets("Feuil1").Range("J5")
End If
End If
Next
Sheets("Feuil1").Activate
End Sub
Bonjour Suze, J'ai mis des apostrophes sur les lignes changées j'ai utilisé le codename des feuilles qui est plus efficace si on renomme les onglets Youky
Sub Traitement_Date() ' If Feuil1.[J5] <> "" Then Feuil1.Range("J" & _ Feuil1.[J65535].End(xlUp).Row, "M5").Clear End If 'Feuil2.Activate For Each c In Feuil2.Range("B2", "B" & _ Feuil2.[B65535].End(xlUp).Row) If c = Date Then If Feuil1.[J5] <> "" Then Feuil1.[J65536].End(xlUp).Offset(1, 0) = _ Feuil2.Cells(c.Row, 1) Feuil1.[J65536].End(xlUp).Offset(1, 1) = _ Feuil2.Cells(c.Row, 4) 'Range("A" & c.Row, "D" & c.Row).Copy _ Sheets("Feuil1").Range("J65535").End(xlUp).Offset(1, 0) Else Feuil1.[J5] = Feuil2.Cells(c.Row, 1) Feuil1.[K5] = Feuil2.Cells(c.Row, 4) 'Range("A" & c.Row, "D" & c.Row).Copy Sheets("Feuil1").Range("J5") End If End If Next 'Sheets("Feuil1").Activate End Sub
"suze32" a écrit dans le message de news:
Bonjour,
J'ai une base de donnée, en feuille 2, qui se présente sur 4 colonnes : A : Nom ou Raison sociale; B : Date d'encaissement; C : Commentaires; D : Montant. Une de mes maccros repère dans ma base de donnée les lignes où il y a la date d'aujourd'hui (colonne B), il les copie et les colle dans ma feuille 1. Cependant j'aimerai qu'il ne colle que les cellules de la colonne A et de la collone D (nom et montant) qui correspondent à la date d'aujourd'hui. Voici comment se présente la maccro actuelle :
Sub Traitement_Date() ' ' If Sheets("Feuil1").Range("J5") <> "" Then Sheets("Feuil1").Range("J" & Sheets("Feuil1").Range("J65535").End(xlUp).Row, "M5").Clear End If Sheets("Feuil2").Activate For Each C In Worksheets("Feuil2").Range("B2", "B" & Sheets("Feuil2").Range("B65535").End(xlUp).Row) If C = Date Then If Sheets("Feuil1").Range("J5") <> "" Then Range("A" & C.Row, "D" & C.Row).Copy Sheets("Feuil1").Range("J65535").End(xlUp).Offset(1, 0) Else Range("A" & C.Row, "D" & C.Row).Copy Sheets("Feuil1").Range("J5") End If End If Next Sheets("Feuil1").Activate End Sub