Coller à la suite

ki.net Messages postés 31 Statut Membre -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je cherche par macro à coller des lignes provenant d'une feuille sur une autre feuille sur la premiere cellule libre.
Macro utilisée :
Sub multiple()

Dim i As Integer
i = 6
Cells(i, 2).Select
While Cells(i, 2).Value <> ""
i = i + 1
Wend

Sheets("Saisie_multiple").Select
Range("A21:M31").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Journal").Select
Range("C5").Select
Cells(i, 3).Select
ActiveSheet.Paste
End Sub
Le premier passage marche au second elle copie sur l'existant.
J'ai certainement fait une erreur mais ou.
Merci d'avance

5 réponses

paolo_en_espagne Messages postés 41 Statut Membre 12
 
Si je ne me trompe pas, au moment où tu lui demande de coller ta sélection, la valeur de i est (la valeur de la dernière cellule non vide +1). le problème est que tu ne fais pas de boucle sur la zone où copier ta sélection donc la valeur de "i" est toujours la même...
1
ki.net Messages postés 31 Statut Membre
 
Bonjour Eric,
Je n'y comprends rien.
J'ai créé deux feuilles saisie et saisie multiple.
Ma macro fonctionne parfaitement sur saisie et vient coller à la suite sur la premiére cellule vide.

Sub ajouter_l1()

Dim i As Integer
i = 6
Cells(i, 2).Select
While Cells(i, 2).Value <> ""
i = i + 1
Wend
Sheets("Journal").Select
Range("C2:O3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Journal").Select
Cells(i, 3).Select
ActiveSheet.Paste
End Sub

Ma colonne 2 n'est pas vide, elle est alimentée par formule par la colonne 3
La valeur 6 correspond à la ligne 6 premiére ligne à remplir.

J'ai écris la même formule pour saisie multiple :

Sub multiple()

Dim i As Integer
i = 6
Cells(i, 2).Select
While Cells(i, 2).Value <> ""
i = i + 1
Wend

Sheets("Saisie_multiple").Select
Range("A21:M31").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Journal").Select
Cells(i, 3).Select
ActiveSheet.Paste
End Sub

Systématiquement le report ce fait sur la cellule C8 ???????

Dans le premier cas je reporte deux lignes dans l'autre 11.

Ou se trouve le bug?
Je n'ai pas encore testé ta formule, car je voudrais bien comprendre.
Merci.
1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
J'insiste mais toi fais un effort...
Tu testes Cells(i, 2) jusqu'à ce qu'elle soit vide.
ensuite tu colles en Cells(i, 3), en quoi cela fait changer ta cellule Cells(i, 2) ????
Au prochain tour i aura toujours la même valeur et tu colleras au même endroit.
eric
1
ki.net Messages postés 31 Statut Membre
 
Bonsoir paolo en espagne
Comment faire cette boucle.
Merci
-1

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

Posez votre question
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

tu recherches dans la colonne 2 et tu colles dans la 3ème, la 2ème est tjs vide au même endroit...
Sinon tu as plus efficace pour retrouver la dernière ligne saisie.
Pour la colonne B par exemple :
derlig= [B65536].end(xlup).row
et donc faire ton collé sur ligne derlig+1

eric
-1