XL 2010 onglet reconnu ou non

Scorpio

XLDnaute Impliqué
Bonjour à vous tous,
Le formulaire (code VBA) se trouvant dans ce classeur, détecte tous les onglets et j'aimerais bien savoir comment faire pour qu'il reconnaissent certains onglets, que j'utiliserais et d'autres ou je pourrais travailler sans être reconnu par le code VBA.
Voilà, alors j'aimerais bien avoir un petit coup de main s'il vous plaît pour trouver une solutions.
merci et à +++++
 

Pièces jointes

  • USF_ListeDeroulanteCombinee2.xlsm
    34.9 KB · Affichages: 30

STephane

XLDnaute Occasionnel
Bonsoir

Si je comprends bien, tu voudrais pouvoir créer et utiliser certaines feuilles sans qu'elles n'apparaissent dans la boîte de dilaogue.

Une possibilité ci-joint avec la mise à jour de tes macros UserForm_Activate & Onglets_Change.

Code:
'# https://www.excel-downloads.com/threads/onglet-reconnu-ou-non.20018903/
Dim vRet As Variant
Dim J As Long

Dim FeuillesExclues()
FeuillesExclues = Array("Accueil", "Feuil1", "Feuil2")
NbSheets = Worksheets.Count
ReDim Arr(1 To NbSheets)
J = 1
For I = 1 To NbSheets

    vRet = Application.Match(Worksheets(I).Name, FeuillesExclues, 0)
    If IsError(vRet) Then
        Arr(J) = Worksheets(I).Name
        ListeDeroulanteCombinee.Onglets.AddItem Arr(J): J = J + 1
    End If
Next I
 

Pièces jointes

  • USF_ListeDeroulanteCombinee2 - solution1.xlsm
    39.2 KB · Affichages: 25

Scorpio

XLDnaute Impliqué
Bonjour STephane,
Je te répond avec un peux de retard, je m'en excuse.
Alors merci de bien vouloir s'intéressé à mon classeur, merci STephane.
C'est presque ça STephane, sauf que la liste "Choisir dans la liste" ne correspond pas à la liste des marques
Voiture à vélo
Moto à voiture
Avion à moto
Vélo à avion
A bientôt et merci de ton aide
 

STephane

XLDnaute Occasionnel
Scorpio

Avec un peu de déboguage de la procédure Onglets_Change, on peut trouver et corriger.

Voilà la correction

Code:
Private Sub Onglets_Change() 'ListBox
Dim OngletSelect As Integer
Dim NomOngletSelect As String

'Désactiver le rafraîchissement de l'écran
Application.ScreenUpdating = False

' Déterminer la ligne sélectionnée dans la liste déroulante
' OngletSelect = ListeDeroulanteCombinee.Onglets.ListIndex + 2

' Determination on worksheet name
NomOngletSelect = ListeDeroulanteCombinee.Onglets.Value

With Sheets(NomOngletSelect)
    ' Activation de la feuille liée à la liste choisie
   .Activate
   
    ' Mise à jour TextBox Modele
    ListeDeroulanteCombinee.Categorie = .Range("C1").Value
   
    ' Mise à jour ComboBox Modele
    Dim DerniereMarque As String
    DerniereMarque = .Range("A1").End(xlDown).Address
    Marque.RowSource = ActiveSheet.Range("A1:" & DerniereMarque).Address(RowAbsolute:=False, ColumnAbsolute:=False, External:=True)
    Marque.ListIndex = 0
End With

'Réactiver le rafraîchissement de l'écran
Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 069
Messages
2 085 040
Membres
102 763
dernier inscrit
NICO26