Rechercher lignes et ne coller que certaines cellules

Le
suze32
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Youky
Le #6561961
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"
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
Publicité
Poster une réponse
Anonyme