Documentation technique ( suite )

Le
Pounet95
Bonjour à toutes et tous,
XL2007 sous Vista et Windows7

Toujours dans le cadre de mes "cogitations" pour constituer une doc
technique, je suis preneur d'une aide
sur la façon d'obtenir en VBA la liste des objets utilisés dans chacun des
userform utilisés dans l'appli
pour laquelle je veux constituer la dite doc.

Grace ( c'est le bon mot ! ) à Mgr T. Abile ( à moins que ce soit Mgr T.
Banni ), j'ai commencé à développer quelques lignes de code
me permettant de lister pour chaque module ( feuille, document, userform )
le code procédure par procédure ( ou fonction ),
d'en fabriquer quelques stats de volumétrie ainsi qu'un tableau donnant les
procédures appelées et appelantes.
Maintenant je voudrais obtenir la liste des contrôles utilisés pour les
associer éventuellement avec leur code.

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type (
listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( . pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

Merci d'avance

Pounet95

PS : Bonne préparation au passage à 2010
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #20853741
Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type (
listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

*****
For each C in userform1.Control
x = typename(c)
Msgbox C.Name & ", " & "son type : " & x
Next

La variable x va contenir ce que tu désires !
Pounet95
Le #20853801
Bonsoir,
Pour ma culture, 'typename', ça se trouve dans quelle rubrique de l'aide STP
?
Je ne me souviens pas avoir vu ce mot jusqu'à ce jour à moins qu'Alz..

Merci encore
Pounet95


"michdenis" discussion :

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type (
listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

*****
For each C in userform1.Control
x = typename(c)
Msgbox C.Name & ", " & "son type : " & x
Next

La variable x va contenir ce que tu désires !



michdenis
Le #20853851
TypeName appartient à la bibliothèque VBA
Comme cette bibliothèque est chargé d'office
dans Excel, on peut taire son appel lorsque l'on
utilise la Méthode.

La ligne complète serait comme ceci :

x = VBA.TypeName(c)

VBA -> bibliothèque
TypeName -> la méthode appartenant à cette biblothèque

Library VBA
Fichier responsable de cette bibliothèque :
C:Program Files (x86)Common FilesMicrosoft SharedVBAVBA6VBE6.DLL





"Pounet95"
Bonsoir,
Pour ma culture, 'typename', ça se trouve dans quelle rubrique de l'aide STP
?
Je ne me souviens pas avoir vu ce mot jusqu'à ce jour à moins qu'Alz..

Merci encore
Pounet95


"michdenis" discussion :

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type (
listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

*****
For each C in userform1.Control
x = typename(c)
Msgbox C.Name & ", " & "son type : " & x
Next

La variable x va contenir ce que tu désires !



Pounet95
Le #20854091
Une fois de plus merci !
Pounet95


"michdenis" discussion :
TypeName appartient à la bibliothèque VBA
Comme cette bibliothèque est chargé d'office
dans Excel, on peut taire son appel lorsque l'on
utilise la Méthode.

La ligne complète serait comme ceci :

x = VBA.TypeName(c)

VBA -> bibliothèque
TypeName -> la méthode appartenant à cette biblothèque

Library VBA
Fichier responsable de cette bibliothèque :
C:Program Files (x86)Common FilesMicrosoft SharedVBAVBA6VBE6.DLL





"Pounet95" discussion :

Bonsoir,
Pour ma culture, 'typename', ça se trouve dans quelle rubrique de l'aide
STP
?
Je ne me souviens pas avoir vu ce mot jusqu'à ce jour à moins qu'Alz..

Merci encore
Pounet95


"michdenis" discussion :

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type (
listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

*****
For each C in userform1.Control
x = typename(c)
Msgbox C.Name & ", " & "son type : " & x
Next

La variable x va contenir ce que tu désires !





Pounet95
Le #20854361
Bon, encore une pour la route !
J'ai constitué une liste avec les noms de chacune des feuilles "userform".

Je tente, pour lister les contrôles, de parcourir cette liste et pour chaque
cellule d'en prendre la valeur
afin de l'affecter à l'objet Userform

Dim Ctrl as Control
Dim Usf as Userform ' Est-ce le bon objet ????
Dim cel as Range

For Each cel in Range(MaListe)
set Usf = Userform(cel.value) ' à ce niveau erreur
Incompatibilité de type
For Each Ctrl in Usf.Controls
debug.print Typename(Ctrl), Ctrl.name
Next Ctrl
Next cel

Comment dois-je déclarer Usf pour arriver à mes fins ?
Merci d'avance
Pounet95


"michdenis" discussion :
TypeName appartient à la bibliothèque VBA
Comme cette bibliothèque est chargé d'office
dans Excel, on peut taire son appel lorsque l'on
utilise la Méthode.

La ligne complète serait comme ceci :

x = VBA.TypeName(c)

VBA -> bibliothèque
TypeName -> la méthode appartenant à cette biblothèque

Library VBA
Fichier responsable de cette bibliothèque :
C:Program Files (x86)Common FilesMicrosoft SharedVBAVBA6VBE6.DLL





"Pounet95" discussion :

Bonsoir,
Pour ma culture, 'typename', ça se trouve dans quelle rubrique de l'aide
STP
?
Je ne me souviens pas avoir vu ce mot jusqu'à ce jour à moins qu'Alz..

Merci encore
Pounet95


"michdenis" discussion :

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type (
listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

*****
For each C in userform1.Control
x = typename(c)
Msgbox C.Name & ", " & "son type : " & x
Next

La variable x va contenir ce que tu désires !





michdenis
Le #20854801
En supposant que la valeur de chaque cellule de la
plage A1:A10 représente le nom d'un formulaire
dans ton projetvba, tu peux utiliser ce type de code :

Je n'ai pas inclus une gestion d'erreur.

Tu devras adapter le nom de la feuille et la plage dans
la procédure !
'------------------------------------
Sub test()
Dim C As Range
Dim Uform As UserForm
Dim Obj As Object
With ThisWorkbook
For Each C In .Worksheets("Feuil1").Range("A1:A10")
Set Uform = VBA.UserForms.Add(C.Value)
For Each Obj In Uform.Controls
X = TypeName(Obj)
'le reste du code
Next
Next
End With
End Sub
'------------------------------------



"Pounet95"
Bon, encore une pour la route !
J'ai constitué une liste avec les noms de chacune des feuilles "userform".

Je tente, pour lister les contrôles, de parcourir cette liste et pour chaque
cellule d'en prendre la valeur
afin de l'affecter à l'objet Userform

Dim Ctrl as Control
Dim Usf as Userform ' Est-ce le bon objet ????
Dim cel as Range

For Each cel in Range(MaListe)
set Usf = Userform(cel.value) ' à ce niveau erreur
Incompatibilité de type
For Each Ctrl in Usf.Controls
debug.print Typename(Ctrl), Ctrl.name
Next Ctrl
Next cel

Comment dois-je déclarer Usf pour arriver à mes fins ?
Merci d'avance
Pounet95


"michdenis" discussion :
TypeName appartient à la bibliothèque VBA
Comme cette bibliothèque est chargé d'office
dans Excel, on peut taire son appel lorsque l'on
utilise la Méthode.

La ligne complète serait comme ceci :

x = VBA.TypeName(c)

VBA -> bibliothèque
TypeName -> la méthode appartenant à cette biblothèque

Library VBA
Fichier responsable de cette bibliothèque :
C:Program Files (x86)Common FilesMicrosoft SharedVBAVBA6VBE6.DLL





"Pounet95" discussion :

Bonsoir,
Pour ma culture, 'typename', ça se trouve dans quelle rubrique de l'aide
STP
?
Je ne me souviens pas avoir vu ce mot jusqu'à ce jour à moins qu'Alz..

Merci encore
Pounet95


"michdenis" discussion :

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type (
listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

*****
For each C in userform1.Control
x = typename(c)
Msgbox C.Name & ", " & "son type : " & x
Next

La variable x va contenir ce que tu désires !





Pounet95
Le #20855091
OK, Super ! C'est bien à ça que je voulais arriver.

A la lecture du code, j'avais interprété le Add comme étant une création
d'un usf supplémentaire.
Grave erreur donc.

Je te remercie vivement
Pounet95


"michdenis" discussion :
En supposant que la valeur de chaque cellule de la
plage A1:A10 représente le nom d'un formulaire
dans ton projetvba, tu peux utiliser ce type de code :

Je n'ai pas inclus une gestion d'erreur.

Tu devras adapter le nom de la feuille et la plage dans
la procédure !
'------------------------------------
Sub test()
Dim C As Range
Dim Uform As UserForm
Dim Obj As Object
With ThisWorkbook
For Each C In .Worksheets("Feuil1").Range("A1:A10")
Set Uform = VBA.UserForms.Add(C.Value)
For Each Obj In Uform.Controls
X = TypeName(Obj)
'le reste du code
Next
Next
End With
End Sub
'------------------------------------



"Pounet95" discussion :

Bon, encore une pour la route !
J'ai constitué une liste avec les noms de chacune des feuilles "userform".

Je tente, pour lister les contrôles, de parcourir cette liste et pour
chaque
cellule d'en prendre la valeur
afin de l'affecter à l'objet Userform

Dim Ctrl as Control
Dim Usf as Userform ' Est-ce le bon objet ????
Dim cel as Range

For Each cel in Range(MaListe)
set Usf = Userform(cel.value) ' à ce niveau erreur
Incompatibilité de type
For Each Ctrl in Usf.Controls
debug.print Typename(Ctrl), Ctrl.name
Next Ctrl
Next cel

Comment dois-je déclarer Usf pour arriver à mes fins ?
Merci d'avance
Pounet95


"michdenis" discussion :
TypeName appartient à la bibliothèque VBA
Comme cette bibliothèque est chargé d'office
dans Excel, on peut taire son appel lorsque l'on
utilise la Méthode.

La ligne complète serait comme ceci :

x = VBA.TypeName(c)

VBA -> bibliothèque
TypeName -> la méthode appartenant à cette biblothèque

Library VBA
Fichier responsable de cette bibliothèque :
C:Program Files (x86)Common FilesMicrosoft SharedVBAVBA6VBE6.DLL





"Pounet95" discussion :

Bonsoir,
Pour ma culture, 'typename', ça se trouve dans quelle rubrique de l'aide
STP
?
Je ne me souviens pas avoir vu ce mot jusqu'à ce jour à moins qu'Alz..

Merci encore
Pounet95


"michdenis" discussion :

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type
(
listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2
Mgr,
elle est impénétrable parait-il ! )

*****
For each C in userform1.Control
x = typename(c)
Msgbox C.Name & ", " & "son type : " & x
Next

La variable x va contenir ce que tu désires !







Pounet95
Le #20860721
Bonjour,

Me revoilà : en fait ça fonctionne quand le code est dans le classeur à
scanner.
Je ne trouve pas la syntaxe pour faire en sorte que le code étant dans un
classeur A
je puisse extraire la liste des contrôles des USF qui sont dans un classeur
B et dont la liste
est actuellement dans un classeur C ( qui pourrait très bien être le B
contenant le code d'extraction )
De plus le code étant présent dans le classeur à scanner, les USF s'ouvrent
sans que je sache trop comment
l'en empêcher.

Je me noie dans les VBA, VBProject, Useforms, etc

Si des fois que, sous le coude tu as une piste ????,
Bonne soirée et à l'An prochain. Bon réveillon

Pounet95

"Pounet95" discussion :
Bonjour à toutes et tous,
XL2007 sous Vista et Windows7

Toujours dans le cadre de mes "cogitations" pour constituer une doc
technique, je suis preneur d'une aide
sur la façon d'obtenir en VBA la liste des objets utilisés dans chacun des
userform utilisés dans l'appli
pour laquelle je veux constituer la dite doc.

Grace ( c'est le bon mot ! ) à Mgr T. Abile ( à moins que ce soit Mgr T.
Banni ), j'ai commencé à développer quelques lignes de code
me permettant de lister pour chaque module ( feuille, document, userform )
le code procédure par procédure ( ou fonction ),
d'en fabriquer quelques stats de volumétrie ainsi qu'un tableau donnant
les procédures appelées et appelantes.
Maintenant je voudrais obtenir la liste des contrôles utilisés pour les
associer éventuellement avec leur code.

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type
( listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

Merci d'avance

Pounet95

PS : Bonne préparation au passage à 2010


michdenis
Le #20861001
Dans la procédure,

Tu remplaces "ThisWorkbook" par
workbooks("NomDuClasseur.xls")

Sub test()
Dim C As Range
Dim Uform As UserForm
Dim Obj As Object
With ThisWorkbook
For Each C In .Worksheets("Feuil1").Range("A1:A10")
Set Uform = VBA.UserForms.Add(C.Value)
For Each Obj In Uform.Controls
X = TypeName(Obj)
'le reste du code
Next
Next
End With
End Sub




"Pounet95"
Bonjour,

Me revoilà : en fait ça fonctionne quand le code est dans le classeur à
scanner.
Je ne trouve pas la syntaxe pour faire en sorte que le code étant dans un
classeur A
je puisse extraire la liste des contrôles des USF qui sont dans un classeur
B et dont la liste
est actuellement dans un classeur C ( qui pourrait très bien être le B
contenant le code d'extraction )
De plus le code étant présent dans le classeur à scanner, les USF s'ouvrent
sans que je sache trop comment
l'en empêcher.

Je me noie dans les VBA, VBProject, Useforms, etc

Si des fois que, sous le coude tu as une piste ????,
Bonne soirée et à l'An prochain. Bon réveillon

Pounet95

"Pounet95" discussion :
Bonjour à toutes et tous,
XL2007 sous Vista et Windows7

Toujours dans le cadre de mes "cogitations" pour constituer une doc
technique, je suis preneur d'une aide
sur la façon d'obtenir en VBA la liste des objets utilisés dans chacun des
userform utilisés dans l'appli
pour laquelle je veux constituer la dite doc.

Grace ( c'est le bon mot ! ) à Mgr T. Abile ( à moins que ce soit Mgr T.
Banni ), j'ai commencé à développer quelques lignes de code
me permettant de lister pour chaque module ( feuille, document, userform )
le code procédure par procédure ( ou fonction ),
d'en fabriquer quelques stats de volumétrie ainsi qu'un tableau donnant
les procédures appelées et appelantes.
Maintenant je voudrais obtenir la liste des contrôles utilisés pour les
associer éventuellement avec leur code.

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type
( listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

Merci d'avance

Pounet95

PS : Bonne préparation au passage à 2010


Pounet95
Le #20867701
Bonsoir,

Ca ne le fait toujours pas. On verra ça l'année prochaine !
Pour le moment on va plutôt s'occuper à faire un "Excel An" 2010 en forçant
le passage avec quelques amis en partageant
quelques plaisirs de table inhérents à cette période.

Bon passage à 2010 à toutes et tous
Pounet95

"michdenis" discussion :
Dans la procédure,

Tu remplaces "ThisWorkbook" par
workbooks("NomDuClasseur.xls")

Sub test()
Dim C As Range
Dim Uform As UserForm
Dim Obj As Object
With ThisWorkbook
For Each C In .Worksheets("Feuil1").Range("A1:A10")
Set Uform = VBA.UserForms.Add(C.Value)
For Each Obj In Uform.Controls
X = TypeName(Obj)
'le reste du code
Next
Next
End With
End Sub




"Pounet95" discussion :

Bonjour,

Me revoilà : en fait ça fonctionne quand le code est dans le classeur à
scanner.
Je ne trouve pas la syntaxe pour faire en sorte que le code étant dans un
classeur A
je puisse extraire la liste des contrôles des USF qui sont dans un
classeur
B et dont la liste
est actuellement dans un classeur C ( qui pourrait très bien être le B
contenant le code d'extraction )
De plus le code étant présent dans le classeur à scanner, les USF
s'ouvrent
sans que je sache trop comment
l'en empêcher.

Je me noie dans les VBA, VBProject, Useforms, etc

Si des fois que, sous le coude tu as une piste ????,
Bonne soirée et à l'An prochain. Bon réveillon

Pounet95

"Pounet95" discussion :
Bonjour à toutes et tous,
XL2007 sous Vista et Windows7

Toujours dans le cadre de mes "cogitations" pour constituer une doc
technique, je suis preneur d'une aide
sur la façon d'obtenir en VBA la liste des objets utilisés dans chacun
des
userform utilisés dans l'appli
pour laquelle je veux constituer la dite doc.

Grace ( c'est le bon mot ! ) à Mgr T. Abile ( à moins que ce soit Mgr T.
Banni ), j'ai commencé à développer quelques lignes de code
me permettant de lister pour chaque module ( feuille, document,
userform )
le code procédure par procédure ( ou fonction ),
d'en fabriquer quelques stats de volumétrie ainsi qu'un tableau donnant
les procédures appelées et appelantes.
Maintenant je voudrais obtenir la liste des contrôles utilisés pour les
associer éventuellement avec leur code.

Mon souci est que je n'arrive pas à avoir pour chaque contrôle son type
( listbox, label, zone de texte, etc )
Pouvez-vous m'indiquer la voie ? ( .... pas celle du Supérieur aux 2 Mgr,
elle est impénétrable parait-il ! )

Merci d'avance

Pounet95

PS : Bonne préparation au passage à 2010





Publicité
Poster une réponse
Anonyme