Avec un ami, nous sommes en train de travailler sur une nouvelle application à destination des chantiers de construction. D'ailleurs, si vous êtes dans ce domaine, n'hésitez pas à demander une démonstration.
L'outil prenant de l'ampleur, j'ai eu le besoin de documenter les macros qui sont attachées à des objets. Cette macro ne prend cependant pas en compte le code qui est automatiquement attaché à des contrôles ActiveX. Ce type de code est généralement comme ceci : NomDuControle_click.
Voici donc un petit code rapide qui permet de le faire :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Sub retourneMacroAffecteesAObject() Dim shp As Shape Dim wks As Worksheet Dim wksResult As Worksheet Dim lLigne As Long : lLigne = 1 Set wksResult = ThisWorkbook.Worksheets.Add For Each wks In ThisWorkbook.Worksheets For Each shp In wks.Shapes If shp.OnAction <> "" Then wksResult.Range( "A" & lLigne).Value = wks.name wksResult.Range( "B" & lLigne).Value = shp.name wksResult.Range( "C" & lLigne).Value = shp.OnAction wksResult.Range( "D" & lLigne). Select wksResult.Hyperlinks.Add Anchor:=Selection, Address:= "" , SubAddress:= _ "'" & wks.name & "'!A1" , TextToDisplay:= "'" & wks.name & "'!A1" lLigne = lLigne + 1 End If Next shp Next wks wksResult.Columns( "A:D" ).EntireColumn.AutoFit wksResult.Range( "A1" ). Select End Sub |

A bientôt
Bonjour.
Cela fait plusieurs années que je vous suis à partir du Québec et vos macros me fascines toujours.
Merci
Merci beaucoup !