Code VBA simple...

Résolu/Fermé
Mart - 7 déc. 2012 à 15:57
 Mart - 7 déc. 2012 à 16:12
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,
A voir également:

1 réponse

Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
Modifié par Morgothal le 7/12/2012 à 16:10
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
0
Exactement, merci beaucoup!!

:)
0