Copie des données d'une feuille vers une autre avec condition- Problème dans le code

CoOol

XLDnaute Nouveau
Bonjour,

Mon code sert à copier les données d'un tableau d'une feuille vers le tableau d'une autre avec une condition.
Tout fonctionne correctement sauf qu'il me recopie systématiquement la ligne 2 de mon tableau que la condition soit remplie ou non.

Pouvez-vous jeter un coup d’œil sur mon code?

Merci par avance


Voici le code

Sub TreatData()

Dim z As Range, cel As Range
Set z = [Database].Columns(19).Find("*", LookIn:=xlValues)
If z Is Nothing Then Exit Sub
For Each cel In [Database].Columns(19).Cells
If cel.Value > 0 Then Set z = Union(cel, z)
Next
Intersect([Database[[Year]:[Jun]]], z.EntireRow).Select
Selection.Copy
Sheets("CustomerFreight").Activate
Cells(3, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub
 

Pièces jointes

  • Exemple.xlsm
    25.6 KB · Affichages: 37
  • Exemple.xlsm
    25.6 KB · Affichages: 38
  • Exemple.xlsm
    25.6 KB · Affichages: 34

Bebere

XLDnaute Barbatruc
Re : Copie des données d'une feuille vers une autre avec condition- Problème dans le

bonjour Cool
bienvenue
une simple boucle suffit
Code:
  l = 3
  For Each cel In [Database].Columns(19).Cells
    If cel.Value > 0 Then
   Sheets("CustomerFreight").Range(" B" & l & ":S" & l).Value = Range(" B" & cel.Row & ":S" & cel.Row).Value
   l = l + 1
    End If
  Next
 

CoOol

XLDnaute Nouveau
Re : Copie des données d'une feuille vers une autre avec condition- Problème dans le

Bonjour Bebere, merci pour ta réponse.
Ton code fonctionne parfaitement mais comme j'ai plusieurs milliers de lignes, c'est très long.
Le code que je présente a l'avantage d'être rapide!

j'ai une solution mais c'est une solution à la barbare (supprimer la ligne 2). Or cela ne me permet pas de comprendre ce qui se passe!
 

Discussions similaires

Statistiques des forums

Discussions
312 327
Messages
2 087 314
Membres
103 515
dernier inscrit
Cherbil12345