Tant que fin tant que

Jerem -  
melanie1324 Messages postés 1561 Statut Membre -
Bonjour,

J'ai un petit pb au niveau de vba
Voila, j ai une liste de données dans la feuille1 et je voudrais copier et coller les lignes sur la feuille2 quand une donnée est saisit dans une cellule (pour mon exemple la cellule X).

Pour l'instant j'ai fait un DO WHILE LOOP
Mais je n'arrive pas à accrementer sur les lignes suivantes
Voici mon exemple

Do While Sheets("feuil1").Range("x2") = ""

With Sheets("feuil1")
If Sheets("feuil1").Range("u2") = "" Then
Sheets("feuil2").Range("A1:U1") = ""
Else
Sheets("feuil1").Select
ActiveWindow.SmallScroll Down:=-15
Range("B7").Select
ActiveWindow.SmallScroll Down:=-15
Rows("2:2").Select
Selection.Copy
Sheets("feuil2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B4").Select

End If
End With

Loop

End Sub

Votre aide sera très précieuse!!
Merci d'avance

1 réponse

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    bonjour,

    i=2
    b=2
    Do While Sheets("feuil1").cells(i,24) = ""

    With Sheets("feuil1")
    If Sheets("feuil1"). <> "" Then
    Sheets("feuil1").Select
    Rows(i).Select
    Selection.Copy
    Sheets("feuil2").Select
    cells(b,1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("B4").Select
    b=b+1

    End If
    End With
    i=i+1
    Loop
    0
    1. melanie1324 Messages postés 1561 Statut Membre 156
       
      y a une petite erreur oups, recopies celui la :

      i=2
      b=2
      Do While Sheets("feuil1").cells(i,24) = ""

      With Sheets("feuil1")
      If Sheets("feuil1").cells(i,21) <> "" Then
      Sheets("feuil1").Select
      Rows(i).Select
      Selection.Copy
      Sheets("feuil2").Select
      cells(b,1).Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Range("B4").Select
      b=b+1

      End If
      End With
      i=i+1
      Loop
      0
    2. Jerem
       
      Bonjour Melanie,
      Merci de ton aide, mais la macro ne fait aucune action sur la feuille n°2
      j'ai essayé sur une feuille vierge j ai le meme probleme
      0
    3. melanie1324 Messages postés 1561 Statut Membre 156
       
      il faut que je comprenne un truc et c'est peut être pour ca que tu ne vois aucune action.
      Il faut que ta colonne U soit renseignée pour que la ligne soit copiée???
      0
    4. melanie1324 Messages postés 1561 Statut Membre 156
       
      de plus, la macro tourne jusqu'à ce qu'il n'y ait aucune valeur dans la colonne x
      0
    5. melanie1324 Messages postés 1561 Statut Membre 156
       
      je te redonne la macro avec des commentaires :


      i=2
      b=2
      Do While Sheets("feuil1").cells(i,24) = "" 'la macro tourne tant que la cellule de ligne i et de la colonne x = ""

      With Sheets("feuil1")
      If Sheets("feuil1").cells(i,21) <> "" Then 'si dans la cellule de la ligne i et de la colonne u, il y a une valeur
      Sheets("feuil1").Select
      Rows(i).Copy 'on copie la ligne
      Sheets("feuil2").Select 'on sélectionne la feuille 2
      cells(b,1).Select 'on sélectionne la cellule de la ligne b et de la colonne 1
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False ' et on colle la ligne copiée
      b=b+1

      End If
      End With
      i=i+1
      Loop
      0