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

David -  
 Dav999 -
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

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. Dav999
     
    Ben oui comme ca ca fonctionne mieux :)

    Merci
    0