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 ,

    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
  2. Bonjour cs_Le Pivert.

    Ma réponse tardive. Merci j'ai pu ainsi avancer.
    Cordialement
    Patrice
    0