Bonjour à tous,
j'essaye actuellement de réalisé un programme vba qui va permettre de copier 53 fois, cellules par cellules dans une nouvelle feuille nommée DRV_IN_1 des données qui se situe dans ma feuille DRV_IN. La "feuil2" est une feuille dans laquelle se trouve les modification auxquelles je dois faire référence. Les variables i, k, et j représentent respectivement le nombre de copie, le nombre ligne, le nombre de colonne. Mon problème est que je dois faire des modifications quand je copie par rapport à la feuille de base DRV_IN. Les modifs sont situés à j=1, j=3, j=5 et à j=25. Elles marchent toutes sauf à j=3. Dans cette colonne je souhaite faire une modif et à partir d'une certaine cellule réaliser la deuxième modif (En commentaire dans mon programme). Le résulat ne réalise que la 1ière modif mais en débogant pas à pas on voit que la deuxiéme modif s'effectue correctement mais elle est ensuite remodifié par la 1ière qui réecrit par dessus. Cela doit être à cause d'un boucle ou je sais pas....
C'est pour cela que je fait appel à vous. J'espère que vous comprenez mon soucis et que vous pourrez m'aider
Voici mon Programme :
Option Explicit
Sub copy1()
Dim Nb_ligne As Integer Dim Nb_Col As Integer Dim Nb_Copy As Integer Dim i As Integer Dim k As Integer Dim j As Integer Dim Length As Integer Dim Length2 As Integer Dim Saut_var As Integer Dim Saut_var2 As Integer
Nb_ligne = 37 Nb_Copy = 53 Nb_Col = 26
Saut_var = 10 Saut_var2 = 17
For i = 1 To Nb_Copy
For k = 3 To Nb_ligne + 2 For j = 1 To Nb_Col If j = 1 Then ThisWorkbook.Sheets("DRV_IN_1").Cells(k - 1 + (i - 1) * (Nb_ligne), j) = "I" & Format(k - 3 + (i - 1) * (Nb_ligne + Saut_var), "00000") ElseIf j = 3 Then ThisWorkbook.Sheets("DRV_IN_1").Cells(k - 1 + (i - 1) * (Nb_ligne), j) = ThisWorkbook.Sheets("Feuil2").Cells(i, 1) & "_" & ThisWorkbook.Sheets("Feuil2").Cells(i, 3)