VBA Loop Until

Résolu
Bonjour,

J'ai un problème avec une macro: j'aimerais copier les lignes d'une feuille dans une autre jusqu'à ce qu'il n'y ait plus rien à copier (cellules vides), J'ai essayé de faire une macro du style 'loop until" mais ça ne marche pas!

Pouvez-vous me dire comment résoudre mon erreur de compilation?

Merci d'avance

Nota bene; je ne connais pas grande chose en VBA, soyez gentils svp!

Sub copier()
'
' copier Macro
' Macro enregistrée le 16/09/2008 par KMBSF
'
' Touche de raccourci du clavier: Ctrl+a
'
Do
Range("A:F").Select
Selection.Copy
Sheets("Releve").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Agios").Select
Loop Until IsEmpty(Range("A:F").Offset)
End Sub
Configuration: Windows XP
Internet Explorer 7.0

10 réponses

  1. Rebonjour

    Tu as raison, il faut peut être que je commence par dire ce que je veux faire, ça se trouve j'ai pas fait ce qu'il fallait...

    Donc, je veux tout simplement copier les 'lignes' (comprises entre la colonne A et F) dans une autre feuille. Le problème étant que les nombre de lignes change à chaque fois d'où mon idée de faire un loop until pour que le copier-coller s'arrête au moment où il y a plus rien sur les lignes

    J'espère avoir été clair

    Merci d'avance
    0
    1. oui, cette fois c'est clair.

      Je peux te rédiger une macro assez vite si les cases de chaques lignes entre A et F sont toujours pleine.

      Sinon, y a t il une des colonnes qui a toujours une valeur quelconque quand il faut copier la ligne
      0
      1. Voici les colonnes:

        A B C D E F
        Date Référence Libellé Débit Crédit Echéance

        Les colonnes D et E ne sont pas remplies au même temps (s'il y a un débit, y a pas de crédit et vice-versa). Sinon pour le reste les cellules sont toujours renseignées.

        Je rajouterais que c'est pas grave si la macro copie-colle une cellule vide dans la nouvelle feuille, puisque mon but et simplement de transporter les cellules remplies telles quelles

        Merci à nouveau
        0
        1. Merci Leahkim

          Par contre, est-ce que je laisse ta macro et je rajoute "End sub" à la fin? ou faut-il rajouter une autre mention?

          voilà pour mon côté débutant en VBA :(

          Merci
          0
          1. Sub copier()
            '
            ' copier Macro
            ' Macro enregistrée le 16/09/2008 par KMBSF
            '
            ' Touche de raccourci du clavier: Ctrl+a
            '

            While (Cells(A, 1).Value <> "")

            Cells(A, 1).entirerows.Select
            Selection.Copy

            Sheets("Releve").Select
            Cells(1, 1).Select
            ActiveSheet.Paste

            Sheets("Agios").Select
            A = A + 1

            End Sub

            effectivement, j'avais fait une erreur
            0
            1. ta macro n'est pas claire du tout... Pour moi, elle copie toujours la meme chose. Quelles sont les cellules que tu veux copier ?
              -1
              1. no souci, voici ta macro !

                While (Cells(A, 1) <> "")

                Cells(A, 1).entirerows.Select
                Selection.Copy

                Sheets("Releve").Select
                Cells(1, 1).Select
                ActiveSheet.Paste

                Sheets("Agios").Select
                A = A + 1

                Wend
                -1
                1. En fait, quand j'utilise la macro, il y a une erreur 1004 et le débogueur m'indique en jaune cette partie:

                  While (Cells(A, 1) <> "")
                  -1
                  1. Merci beaucoup!

                    Bonne journée
                    -1