J'utilise des formulaires avec des Frames , des boutons , des listes .
Pour utiliser ces éléments , je voudrais pouvoir des différencier via la collection OLEObjects.
Mon objectif est de créer dynamiquement des formulaires génériques

ex pour la création :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 ActiveSheet.OLEObjects.Add ClassType:="Forms.Frame.1", Link:=False, _
        DisplayAsIcon:=False, Left:=271.5, Top:=123.75, Width:=274.5, Height _
        :=98.25
 
    ActiveSheet.OLEObjects.Add ClassType:="Forms.ListBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=291.75, Top:=150.75, Width:=116.25, Height _
        :=34.5
    ActiveSheet.OLEObjects.Add ClassType:="Forms.ComboBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=447.75, Top:=144.75, Width:=87.75, Height _
        :=39
    ActiveSheet.OLEObjects.Add ClassType:="Forms.TextBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=333, Top:=136.5, Width:=72.75, Height:= _
        8.25
    ActiveSheet.OLEObjects.Add ClassType:="Forms.CheckBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=486, Top:=136.5, Width:=33, Height:=6
 
    ActiveSheet.OLEObjects.Add ClassType:="Forms.CommandButton.1", _
    Link:=False, DisplayAsIcon:=False, Left:=40, Top:=40, _
    Width:=150, Height:=10
A ce stade , je n'ai pas touvé de solution pour déterminer le type du control ActiveSheet.OLEObjects ( X) si je ne mémorise pas au moment de la création . Avec excel les noms style "Frame1" peuvent être modifié. Comment à la création forcer le nom à "Titre fenetre" à part ActiveSheet.OLEObjects ( X) .caption = "Titre fenetre" qui nécessite de mémoriser l'index X au moment de la création .
Comment en manipulant OLEObjects ( Z ) savoir si c'est une liste , une frame , un bouton ?