Bonjour,
Pouvez-vous me donner un coup de main
j'ai une plage que je copie sur une ligne
en suite j'efface la plage à retranscrire
et je peux recommencer l'opération
maintenant ce que j'aimerais faire au prochain enregistrement,
c'est décaler de trois celulles vers la droite mais en conservant le même canevas
pour comprendre, au second enregistrement le code initial devrait se transformer comme ceci (voir les positions de colonnes)
Comment puis-je construire une boucle avec ce décalage de cellules sans sortir des dix colonnes ?
au final si je prends les mêmes nombres lors de chaque enregistrement je devrais obtenir cela :
1 2 3 4 5 6 7 8 9 10
4 5 6 7 8 9 10 1 2 3
7 8 9 10 1 2 3 4 5 6
10 1 2 3 4 5 6 7 8 9
3 4 5 6 7 8 9 10 1 2
6 7 8 9 10 1 2 3 4 5
9 10 1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 9 10 1
5 6 7 8 9 1 10 1 2 3
8 9 10 1 2 3 4 5 6 7
1 2 3 4 5 6 7 8 9 10 ...etc...
MERCI de votre aide
Pouvez-vous me donner un coup de main
j'ai une plage que je copie sur une ligne
Code:
Sub Copy_Bilan()
Dim Derlig1 As Long
Set Wbk1 = ThisWorkbook
Derlig1 = Wbk1.Worksheets("ULTIMATE").Cells.Find("*", , , , , xlPrevious).Row
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 2).Value = Wbk1.Worksheets("ULTIMATE").Range("C3").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 3).Value = Wbk1.Worksheets("ULTIMATE").Range("C4").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 4).Value = Wbk1.Worksheets("ULTIMATE").Range("C5").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 5).Value = Wbk1.Worksheets("ULTIMATE").Range("E2").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 6).Value = Wbk1.Worksheets("ULTIMATE").Range("E3").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 7).Value = Wbk1.Worksheets("ULTIMATE").Range("E4").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 8).Value = Wbk1.Worksheets("ULTIMATE").Range("E5").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 9).Value = Wbk1.Worksheets("ULTIMATE").Range("E6").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 10).Value = Wbk1.Worksheets("ULTIMATE").Range("E7").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 11).Value = Wbk1.Worksheets("ULTIMATE").Range("E8").Value
MsgBox "Transfert Terminé "
End Sub
en suite j'efface la plage à retranscrire
Code:
Sub Clear()
Sheets("ULTIMATE").Range("B2:B8").ClearContents
End Sub
et je peux recommencer l'opération
maintenant ce que j'aimerais faire au prochain enregistrement,
c'est décaler de trois celulles vers la droite mais en conservant le même canevas
pour comprendre, au second enregistrement le code initial devrait se transformer comme ceci (voir les positions de colonnes)
Code:
Sub Copy_Bilan()
Dim Derlig1 As Long
Set Wbk1 = ThisWorkbook
Derlig1 = Wbk1.Worksheets("ULTIMATE").Cells.Find("*", , , , , xlPrevious).Row
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 5).Value = Wbk1.Worksheets("ULTIMATE").Range("C3").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 6).Value = Wbk1.Worksheets("ULTIMATE").Range("C4").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 7).Value = Wbk1.Worksheets("ULTIMATE").Range("C5").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 8).Value = Wbk1.Worksheets("ULTIMATE").Range("E2").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 9).Value = Wbk1.Worksheets("ULTIMATE").Range("E3").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 10).Value = Wbk1.Worksheets("ULTIMATE").Range("E4").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 11).Value = Wbk1.Worksheets("ULTIMATE").Range("E5").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 2).Value = Wbk1.Worksheets("ULTIMATE").Range("E6").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 3).Value = Wbk1.Worksheets("ULTIMATE").Range("E7").Value
Wbk1.Worksheets("ULTIMATE").Cells(Derlig1 + 1, 4).Value = Wbk1.Worksheets("ULTIMATE").Range("E8").Value
MsgBox "Transfert Terminé "
End Sub
Comment puis-je construire une boucle avec ce décalage de cellules sans sortir des dix colonnes ?
au final si je prends les mêmes nombres lors de chaque enregistrement je devrais obtenir cela :
1 2 3 4 5 6 7 8 9 10
4 5 6 7 8 9 10 1 2 3
7 8 9 10 1 2 3 4 5 6
10 1 2 3 4 5 6 7 8 9
3 4 5 6 7 8 9 10 1 2
6 7 8 9 10 1 2 3 4 5
9 10 1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 9 10 1
5 6 7 8 9 1 10 1 2 3
8 9 10 1 2 3 4 5 6 7
1 2 3 4 5 6 7 8 9 10 ...etc...
MERCI de votre aide