Re : Boucle sur ligne relative
Adaption macro pour ligne relative
Bonjour
merci pour la réponse
ce n'est qu'aujourdh'ui que je vois la réponse,pas de notification de mail
Avec ces 3 macros je voudrais le resultat en feuil3 en tenant ligne par ligne des valeurs de la ligne
les données sont en A1:H100
test_Insert_Rows()
Combin_6N()
macro_Combs()
combin(8,6)=28 combinaisons dond 28 lignes insérées
donc pour 100 lignes en A1:H100
100 X 28 lignes de combinaisons différentes = 2800 lignes occupées
le but c'est de mettre les combinaisons avec les chiffres de la ligne en cous
dans cells(lig,17)
Pour simplifier il faut récupérer la valeur cells(Lig,Col) toutes les 29 lignes
pour les mettre dans vN()
>>>>>>>>
For J = 1 To 8
vN(J) = Sheets("feuil3").Cells(J).Value 'J avant
Next
>>>>>>>
My procedure:
1) Lancer test_Insert_Rows qui insère 28 ligne vide entre ligne de feuille 3
2) Lancer macro_Combs() qui appelle Combin_6N() toutes les 28 lignes pour tenir comptes des chiffres de la ligne en cours
Option Explicit
Public Lig As Long
Public Col As Long
Public numRows As Integer
Option Base 1
1)
Sub Combin_6N()
Dim A As Integer, B As Integer, C As Integer
Dim D As Integer, E As Integer, F As Integer
Dim I As Long, J As Integer, vN(10) As Integer
Application.ScreenUpdating = False
For J = 1 To 8
vN(J) = Sheets("feuil3").Cells(J).Value 'J avant
Next
J = J - 1
ActiveCell.Offset(0, 17).Select
'Range("a32").Select ' Pour deplacer les combinaisons à l'endroit souhaité
I = 1
For A = 1 To J - 5
For B = A + 1 To J - 4
For C = B + 1 To J - 3
For D = C + 1 To J - 2
For E = D + 1 To J - 1
For F = E + 1 To J
ActiveCell.Offset(0, 0).Value = I
ActiveCell.Offset(0, 1).Value = vN(A)
ActiveCell.Offset(0, 2).Value = vN(B)
ActiveCell.Offset(0, 3).Value = vN(C)
ActiveCell.Offset(0, 4).Value = vN(D)
ActiveCell.Offset(0, 5).Value = vN(E)
ActiveCell.Offset(0, 6).Value = vN(F)
I = I + 1
ActiveCell.Offset(1, 0).Select
Select Case I
Case 60001, 120001, 180001, 240001, 300001, 360001, 420001, 480001, 540001
ActiveCell.Offset(-60000, 8).Select
End Select
Next F
Next E
Next D
Next C
Next B
Next A
Range("A1").Select
End Sub
2)
Sub test_Insert_Rows()
Dim r As Integer
Sheets("Base").Activate
r = Cells(Rows.Count, "A").End(xlUp).Row
numRows = 28
For r = r To 1 Step -1
ActiveSheet.Rows(r + 1).Resize(numRows).Insert
Next r
End Sub
3)
Sub macro_Combs()
For Lig = 1 To 100 Step 28
For Col = 1 To 1
Next
Cells(Lig, 17).Select
Call Combin_6N
Next
End Sub