Bonjours,
j'aimerais imprimer ce que j'ai fais en VBA mais:
je n'arrive pas à imprimer les propriétés d'un userform
merci d'avance
Version imprimable
Bonjours,
j'aimerais imprimer ce que j'ai fais en VBA mais:
je n'arrive pas à imprimer les propriétés d'un userform
merci d'avance
Il y a "longtemps" j'ai vu passer le code permettant de récupérer quelque chose comme ça. Enfin, je crois :aie: ... Je cherche et si je trouve, je te le mets.
A+
Bon... C'est pas bon... :( En fait c'était pour lister les propriétés... du fichier, pas d'un objet.
Je crois que tu vas devoir te palucher ça à la main (je ne connais pas de méthode pour les passer en revue, ce qui ne veut pas dire qu'il n'y en ait pas)
LaPropriété(1) = Usertform.Height
LaPropriété(2) = Usertform.Font
tsétérats...
Si tu fais ça, peut-être serait-il bien que tu mettes ça sur le forum...
Bonne chance
ok je m'y mets la semaine prochaine et si je trouve je mets sur forum
merci
Tu exportes ton Form et tu ouvres le fichier .frm généré avec un éditeur de texte.
Non testé.
Je ne sais pas si toutes les propriétés y sont.
bonsoir
tu peux tester
Code:
1
2
3
4
5
6
7
8
9
10 Dim i As Integer Dim VBcomp As Object On Error Resume Next Set VBcomp = ThisWorkbook.VBProject.VBComponents("UserForm1") For i = 2 To VBcomp.Properties.Count Debug.Print VBcomp.Properties(i).Name & ": " & _ VBcomp.Properties(i).Value Next i
et tu peux aussi utiliser la librairie TLBINF32.dll pour recuperer les proprietes des controles
michel
Salut
J'espère que tout le monde a passé un bon week-end, merci pour les réponses.
Alain, j'ai exporté sous frm mais seule la propriété caption est imprimée et 2 ou 3 autres qui ne correspondent pas à ma fenêtre propriété.
Silkyroad, j'ai testé ton code mais il y a erreur 1004: methode VBproject de objet workbook a échoué.
J'ai essayé:
ou d'après ton codeCode:For Each userform In ThisWorkbook
mais rien ne marche.Code:For Each vbcomponents In ThisWorkbook
Je n'arrive pas à dire en code: pour chaque userform de mon project je veux.
Silkyroad, je ne trouve pas la librairie TLBINF32.dll.
merci
bonjour
je doute que tu ais réellement testé la procedure proposée, surtout pour obtenir un message d'erreur 1004 alors que la macro commence par On Error Resume Next ...
voici un exemple qui boucle sur tous les UserForm d'un classeur nommé "leClasseur" pour en récupérer les propriétés
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 'Nécéssite d'activer la référence '"Visual basic For Application Extensibility 5.3" ' Dim Wb As Workbook Dim VBComp As VBComponent Dim i As Integer Set Wb = Workbooks("leClasseur.xls") On Error Resume Next 'Recherche les UserForm du classeur For Each VBComp In Wb.VBProject.VBComponents If VBComp.Type = 3 Then Debug.Print VBComp.Name 'Recupere les propriétés du UserForm For i = 2 To VBComp.Properties.Count Debug.Print VBComp.Properties(i).Name & ": " & _ VBComp.Properties(i).Value Next i Debug.Print "---" End If Next VBComp
fait une recherche sur le site Microsoft pour vérifier si TLBINF32.DLL est librement téléchargeable.
michel
je vais tester ton code et regarder sur internet.
J'avais mis une apostrophe devant On Error Resume Next car rien ne se passait, c'est pour ça que j'ai vu erreur 1004.
a toute à l'heure
claire
J'ai activé "Visual basic For Application Extensibility 5.3"
mais j'ai encore une erreure 1004 sur:
et si j'active toutes les références?Code:For Each VBComp In Wb.VBProject.VBComponents
J'ai réussi à télécharger TLBINF32.exe et j'essaie de comprendre.
désolée pour ces questions mais mes connaissances dans ce domaine (références, librairie...)sont nulles:cry:
claire