VBA Loop Until

Résolu
jonathan master -  
Leahkim Messages postés 3219 Statut Membre -
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

10 réponses

jonathan master
 
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
Leahkim Messages postés 3219 Statut Membre 281
 
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
jonathan master
 
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
jonathan master
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Leahkim Messages postés 3219 Statut Membre 281
 
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
Leahkim Messages postés 3219 Statut Membre 281
 
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
Leahkim Messages postés 3219 Statut Membre 281
 
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
jonathan master
 
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
jonathan master
 
Merci beaucoup!

Bonne journée
-1
Leahkim Messages postés 3219 Statut Membre 281
 
ça fonctionne au moins ?
-1