Imbriquer deux boucles For [Résolu/Fermé]

Signaler
Messages postés
32
Date d'inscription
mardi 27 mars 2018
Statut
Membre
Dernière intervention
16 avril 2018
-
Messages postés
32
Date d'inscription
mardi 27 mars 2018
Statut
Membre
Dernière intervention
16 avril 2018
-
Bonjour à tous,

Je demande votre aide pour quelque chose qui à priori est relativement facile (mais étant donné mon niveau, c'est difficile !).
J'aimerais écrire les valeurs des cellules B1, D1, F1, H1... P1 (1 cellule sur 2 de la ligne 1) dans la colonne A de la ligne 1 jusqu'à la ligne 8 (A1:A8).
J'ai effectué ce code mais il ne s'écrit que la valeur de la cellule H1 dans la colonne A (sachant que la colonne H est la 8e colonne, donc la fonction Step ne fonctionne pas non plus). Merci d'avance pour votre aide


Sub bouclefor()

Dim i As Integer
For i = 1 To 8

Dim j As Integer
For j = 2 To 8 Step 2

Cells(i, 1) = Cells(1, j)

Next j

Next i


End Sub

1 réponse

Messages postés
9636
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
26 novembre 2020
1 979
Bonjour

Pas besoin de macro pour faire ça
en A1
=INDEX($B$1:$P$1;2*LIGNE()-1)

Cdlmnt
Messages postés
9636
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
26 novembre 2020
1 979
t si tu veux à tout prix une macro, pas besoin de deux boucles imbriquées

Sub OK()
Dim li As Long
For li = 1 To 8
Cells(li, 1) = Cells(1, 2 * li)
Next li
End Sub


Cdlmnt
Messages postés
32
Date d'inscription
mardi 27 mars 2018
Statut
Membre
Dernière intervention
16 avril 2018

Parfait, merci beaucoup !!!

Cdlt
Messages postés
32
Date d'inscription
mardi 27 mars 2018
Statut
Membre
Dernière intervention
16 avril 2018

Excusez moi mais après avoir compris ce code, je voudrais savoir comment faire pour commencer par exemple à la 5e colonne toujours avec un pas de 2 ?

Je vous remercie
Messages postés
32
Date d'inscription
mardi 27 mars 2018
Statut
Membre
Dernière intervention
16 avril 2018

Finalement j'ai résolu mon problème.
J'ai écrit un système à deux équations tel que :
5 = 1 * x + y 5 est le n° de la première colonne et 1 de la première ligne
(5+2) = (1+1) * x + y

Et j'ai alors trouvé x=2 , y=-49