For Each + copie de plage variable

Bonjour et merci pour l'organisation de ce forum.

J'ai déjà tâté des macros en recourant souvent aux exemples trouvés sur votre forum mais je me considère comme un débutant.

Après plusieurs heures de recherche, cette fois-ci, je n'ai pas trouvé la solution. Donc je fais appel à vous.

Voici mon problème :

Dans une feuille, je dispose d'une liste de produits avec une colonne dans laquelle je peux indiquer un nombre.

Dans une seconde feuille, j'aimerais ne reprendre que les produits pour lesquels un nombre a été indiqué afin d'en faire une base d'offre de prix. Je suis parti sur la base de For each Cell mais je n'y arrive pas après avoir essayé plusieurs versions.

Quelqu'un aurait-il la bonté de me venir en aide svp? D'avance un grand merci.

Pour être plus explicite je joins un exemple de fichier en annexe.

Bonjour,

à tester,

Sub TEST()
Dim sh1, sh2
Dim i As Long, n As Long
Set sh1 = Sheets("Produits")
Set sh2 = Sheets("Offre")
n = 1
For i = 2 To sh1.Cells(Rows.Count, 1).End(xlUp).Row
    If sh1.Cells(i, 4) > 0 Then
        n = n + 1
        sh2.Range("A" & n, "D" & n).Value = sh1.Range("A" & i, "D" & i).Value
    End If
Next i
End Sub

Bonjour,

un essai comme ceci

P.

Sub TEST()
'Sélection des lignes à copier
Sheets("Produits").Select
Dim F1, F2 As Worksheet
Set F1 = Sheets("produits"): Set F2 = Sheets("offre")
Dim Desti As Range
Dim MaPlage As Range
Dim i As Integer
For Each cell In Sheets("Produits").Range("D2:D17")
   If cell.Value > 0 Then
      Set MaPlage = Range("A" & cell.Row, "D" & cell.Row)
      Set Desti = F2.[A65000].End(xlUp)
      MaPlage.Copy Desti(2)
   End If
Next cell
End Sub

Bonsoir,

Un tout grand merci à sabV et à patrick1957 pour vos réponses rapides et efficaces.

Elles fonctionnent toutes les deux.

C'est la première fois que j'utilise ce forum. C'est magnifique de trouver une telle entraide.

Encore merci et belle soirée

Rechercher des sujets similaires à "each copie plage variable"