[VBA] Excel - "Actions groupées" ?!

Résolu/Fermé
saian-sugus Messages postés 34 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 20 avril 2010 - 12 sept. 2008 à 14:21
saian-sugus Messages postés 34 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 20 avril 2010 - 12 sept. 2008 à 16:07
Bonjour,

j'aimerais savoir s'il est possible d'effectuer la même action sur un nombre de feuille inconnu (à calculer, d'ailleurs si quelqu'un connait la formule je n'ai pas encore commencé à la chercher..) en nommant le numéro de la feuille

Exemple connu:

TB = Array("C9:C11", "C17:C19")
    For i = 0 To UBound(TB)
        For Each cel In Range(TB(i))
            If cel = "" Then
                MsgBox ("Veuillez remplir les chiffres définitifs de l'année en cours avant de continuer !")
                Exit Sub
            End If
        Next cel
    Next i


Je souhaiterais que mon code fasse pareil, mais qu'après le "Array" il y ait des chiffres de 1 au nombre de feuilles du classeur.

1. Calcule le nombre de feuille du classeur
2. Former un groupe du type TB ci-dessous avec 1,2,3, ..., jusqu'à mon nombre total de feuille.. une action sur toutes les pages affichées enfait !
3. Et que je puisse dire ensuite ce que je souhaite faire sur chaque feuille...


Tout cela à la place de faire un code par feuille..

j'ai essayé cela, mais ça ne marche visiblement pas... :

Dim TB
Dim i As Integer
Dim number As Variant

TB = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
    For i = 0 To UBound(TB)
        For Each number In Range(TB(i))
          Sheets(number).Activate
          Cells(1, 1) = "1"
        Next number
    Next
End Sub


Merci d'avance pour votre aide qui me sera si précieuse
A voir également:

1 réponse

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
12 sept. 2008 à 15:28
Bonjour,

Pour compter le nombre de feuille dans un classeur Excel je crois qu'il existe la propriété Count (Sheets.Count)

Peut être qu'en incluant le premier code dans une boucle tu auras le résultat escompté:
For i = 0 to Sheets.Count
....
Next i

;o)
0
saian-sugus Messages postés 34 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 20 avril 2010
12 sept. 2008 à 16:07
Parfait, merci polux :)
0