Imbriquer deux boucles For

Résolu
loicen73 Messages postés 33 Statut Membre -  
loicen73 Messages postés 33 Statut Membre -
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

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

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

    Cdlmnt
    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      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
      0
    2. loicen73 Messages postés 33 Statut Membre
       
      Parfait, merci beaucoup !!!

      Cdlt
      0
    3. loicen73 Messages postés 33 Statut Membre
       
      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
      0
    4. loicen73 Messages postés 33 Statut Membre
       
      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
      0