Comment instancier un Userform

Bonjour,

En VBA sous Excel, je souhaite parcourir les composants d'un Project VBA. J'arrive à faire cette étape avec :
Dim userf as Userform

For Each userf In ThisWorkbook.VBProject.VBComponents

set userf = Userforms(userf.name) ' Cette étape ne fonctionne pas.

Next

Je souhaiterais instancier les Userform trouvés dans cette boucle afin d'obtenir leurs propriétés(Top, Left, Height, Width) comme je le fais dans le cas des Contrôles dans les Userforms
Merci d'avance pour votre aide.

3 réponses

  1. Bonjour cs_Le Pivert.

    Ma réponse tardive. Merci j'ai pu ainsi avancer.
    Cordialement
    Patrice
    0
    1. Bonjour cs_Le Pivert ,

      Merci pour ces liens que j'avais préalablement consultés. Sans une réelle réponse à ma question.

      Cdt
      Patrice
      0
      1. Contributeur
        Sans une réelle réponse à ma question.

        c'est étonnant car moi je trouve réponse à ta question dans le second lien

        a mettre dans un module:

        Option Explicit
        Sub listeUserFormClasseur()
            'nécéssite d'activer la référence
            'Microsoft Visual Basic For Applications Extensibility 5.3
            Dim VBCmp As VBComponent
            For Each VBCmp In ThisWorkbook.VBProject.VBComponents
                If VBCmp.Type = 3 Then
                MsgBox "nom de l'UserForm: " & VBCmp.Name
                MsgBox "largeur de " & VBCmp.Name & " " & VBCmp.Properties("Width")
                MsgBox "hauteur de " & VBCmp.Name & " " & VBCmp.Properties("Height")
                MsgBox "top de " & VBCmp.Name & " " & VBCmp.Properties("Top")
                MsgBox "left de " & VBCmp.Name & " " & VBCmp.Properties("Left")
                End If
            Next VBCmp
        End Sub
        


        Voilà,

        @+
        0