Création liste déroulante macro avec worksheet.count marche pas

Fermé
David - 22 nov. 2017 à 00:07
 Dav999 - 23 nov. 2017 à 00:26
Bonsoir,

pourquoi cette macro ne fonctionne pas ?

Sub ListerOnglets()
' Liste uniquement les onglets de type "Feuille"
' Les onglets de type "Graphique" ne sont pas inclus
'
    Dim i As Integer
    
    For i = 3 To Worksheets.Count
        Cells(3 + i, 4) = Worksheets(i).Name
        Cells(3 + i, 3) = i
    Next i
    
    ActiveSheet.Range("H6").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=$C$6:$C$" + (Worksheets.Count - 3)
    
End Sub


Tout du moins, je ne vois pas comment "entourlouper" Excel, pour ne pas avoir cette erreur, en fait j'ai une liste d'onglet qui peut être amenée à grossir et je souhaiterais créer à la volée le nombre exact d'item qui correspondraient à mon nombre actuel d'onglets.

Merci d'avance
David
A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 nov. 2017 à 07:37
Bonjour,

Sub ListerOnglets()
' Liste uniquement les onglets de type "Feuille"
' Les onglets de type "Graphique" ne sont pas inclus
'
    Dim i As Integer
    
    For i = 3 To Worksheets.Count
        Cells(3 + i, 4) = Worksheets(i).Name
        Cells(3 + i, 3) = i
    Next i
    
    With ActiveSheet.Range("H6").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
                Operator:=xlBetween, Formula1:="=$C$6:$C$" & (6 + Worksheets.Count - 3)
    End With
    
End Sub
1
Ben oui comme ca ca fonctionne mieux :)

Merci
0