Adaption macro pour ligne relative

  • Initiateur de la discussion Initiateur de la discussion Hoareau
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Hoareau

XLDnaute Occasionnel
Adapter cette partie de la macro ci-dessous pour des lignes relatives

For J = 1 To 8

vN(J) = Sheets("feuil3").Cells(J).Value 'J
Next

Merci


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
 
Re : Adaption macro pour ligne relative

bonjour Hoareau
cells(ligne,colonne)

'si J est ligne
dim vN(1 to 8,1 to 1) as Integer
For J = 1 To 8
vN(J,1) = Sheets("feuil3").Cells(J,1).Value '1 colonne A
Next J

'si J est colonne
dim vN(1 to 1,1 to 8) as Integer
For J = 1 To 8
vN(1,J) = Sheets("feuil3").Cells(1,J).Value 'ligne 1,colonne J
Next J


à bientôt
 
Re : Adaption macro pour ligne relative

Bonjour
merci pour la réonse

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
 
Re : Adaption macro pour ligne relative

bonjour Hoareau
je joins un fichier avec du code,regarde et essaye
commentaires dans une feuille,le nom de l'auteur est dans le code
pour ton fichier les parties en couleur représente le résultat?
à bientôt
 

Pièces jointes

Re : Adaption macro pour ligne relative

cette macro je l'ai, en plus elle prends les chiffres en colonne alors que j'ai besoin de lignes relatives.

Regarde la couleur des combinaisons et la couleur de la serie de chiffre les deux vont avec
Pour la première ligne c'est bon
Pour les autres non parce que la macro des combinaisons qui ne correspondent pas

je ne reussi pas à récupérer la valeur de cells(lig,col) ligne en cours pour la mettre dans vN()
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
732
Réponses
8
Affichages
390
Réponses
15
Affichages
782
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
293
Réponses
5
Affichages
909
Réponses
3
Affichages
332
Réponses
8
Affichages
780
Réponses
10
Affichages
661
Retour