Code VBA simple...

Résolu
Bonjour,

Quelqu'un peut me dire pourquoi cette formule ne marche pas ?
Dim i As Byte
Dim j As Byte
Dim k As Byte
Dim l As Byte

For i = 12 To 16
        For k = 14 To 18
            Cells(3, i).Value = Worksheets(k).Name
Next
Next

For l = 5 To 9
        For j = 9 To 13
            Cells(3, l).Value = Worksheets(j).Name
Next
Next
    
End Sub


J'obtiens le même nom d'onglet pour toutes les cellules soit le dernier onglet et l'onglet 9. Alors qu'en réalité j'aimerais avoir le nom des onglets dans les cellules (3, i) et (3, l)...

Merci beaucoup,

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,
    C'est parce que la cellule ne change pas alors que tu boucles sur les 4 onglets, du coup tu écrases à chaque fois la précédente valeur.

    Ce code fonctionne :
    Sub onglet()
    Dim i As Integer
          
    For i = 1 To 4
        Cells(3, i + 11).Value = Worksheets(i + 12).Name
        Cells(3, i + 4).Value = Worksheets(i + 8).Name
    Next
          
    End Sub 
    A+

    -------------------
    Cordialement,
    Clément
    1. Exactement, merci beaucoup!!

      :)