OVH Cloud OVH Cloud

Auditer une feuille excel

21 réponses
Avatar
Bruno
Bonjour,
Est-il possible de copier sur une feuille Excel par une macro ou une formule
simple l'ensemble des formules et macros d'une feuille Excel afin d'en
comprendre le fonctionnement ?

Existe-t-il un outil d'audit qui reconstruirait de manière formelle la
logique de la feuille ?

Merci de vos réponses,
Bruno

10 réponses

1 2 3
Avatar
LSteph
..
conformément à l'illustration en Feuil1
;-)
c'est bien ce que j'ai coché, mais j'ai toujours un 430..
Pas très grave sauf pour le principe de savoir pourquoi...
celle que je me suis concoctée me convient
(je liste les modules pas tout le code)et pas de pb de ref..
pourtant curieusement hormis word c'est idem. VbComponent

Sauf que j'ai un peu de bol sur le code fourni à Bruno
car j'ai donné une version qui charge ellemême VBext
mais en utilisant AddfromFile
au lieu de AddfromGuid
c'est un hasard que ce soit bien tombé....

;o)

Merci @+

lSteph

Bonsour® jps avec ferveur ;o))) vous nous disiez :

micro climat? qui veut vérifier si, de son côté, ça baigne?
merci pour bruno




http://cjoint.com/?jcvGQ8lOq8

pour permettre l'utilisation sur un autre calsseur que celui contenant la macro,
il faut activer le classeur à analyser
j'ai aussi changé :
For Each VBC In ThisWorkbook.VBProject.VBComponents
par
For Each VBC In ActiveWorkbook.VBProject.VBComponents


@+
;o)))





Avatar
jps
donc tu confirmes que ça marche chez toi, gilbert?
pour ma part, je suis resté avec ThisWorkbook car j'ai installé cette macro
dans chaque classeur où j'en avais besoin
pour LSteph : évidemment, c'est plus qu'un recensement des modules et j'y
trouve l'avantage de travailler dans mon usine à gaz sur le papier que je
peux annoter à ma guise et pas forcément en vert!!!!
jps

"Modeste" a écrit dans le message de news:

Bonsour® jps avec ferveur ;o))) vous nous disiez :

micro climat? qui veut vérifier si, de son côté, ça baigne?
merci pour bruno




http://cjoint.com/?jcvGQ8lOq8

pour permettre l'utilisation sur un autre calsseur que celui contenant la
macro,
il faut activer le classeur à analyser
j'ai aussi changé :
For Each VBC In ThisWorkbook.VBProject.VBComponents
par
For Each VBC In ActiveWorkbook.VBProject.VBComponents


@+
;o)))





Avatar
LSteph
non, le classeur de GD me fais la même erreur,
430
c'est bizarre pourtant mon code utilise aussi VBComponents..
je ne vois donc rien de ce qui pourrait être vert ou bleu.
Il semble que cela ne marche pas mieux sur un autre ordinateur
Philippe semble lui, parvenir au moins à l'ouverture de Word...
J'ai beau chercher, je ne vois pas où ça cloche, cela me dépasse...???

@+

lSteph

donc tu confirmes que ça marche chez toi, gilbert?
pour ma part, je suis resté avec ThisWorkbook car j'ai installé cette macro
dans chaque classeur où j'en avais besoin
pour LSteph : évidemment, c'est plus qu'un recensement des modules et j'y
trouve l'avantage de travailler dans mon usine à gaz sur le papier que je
peux annoter à ma guise et pas forcément en vert!!!!
jps

"Modeste" a écrit dans le message de news:

Bonsour® jps avec ferveur ;o))) vous nous disiez :

micro climat? qui veut vérifier si, de son côté, ça baigne?
merci pour bruno



http://cjoint.com/?jcvGQ8lOq8

pour permettre l'utilisation sur un autre calsseur que celui contenant la
macro,
il faut activer le classeur à analyser
j'ai aussi changé :
For Each VBC In ThisWorkbook.VBProject.VBComponents
par
For Each VBC In ActiveWorkbook.VBProject.VBComponents


@+
;o)))









Avatar
Francois L

Bonjour jps,

Ici, Office 2000, sous crachin breton, ça marche nickel !

--
François L


micro climat? qui veut vérifier si, de son côté, ça baigne?
merci pour bruno
jps

"LSteph" a écrit dans le message de news:
%
"Ne gère pas la Classe Automation..."
pourtant les ref sont cochées.

:?

@...

bonjour bruno
regarde aussi cela :
HTH
jps

Sub CopieDansWord()
'Cette macro de LL installe dans Word le détails de tous
'les modules ouverts du VBE
'Cette procédure suppose que tu ajoutes au projet VBA une référence à la
'bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applications
'Extensibility "."
Dim VBC As VBComponent, W As Word.Application
Dim s As Word.Selection
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If
W.ScreenUpdating = False
On Error GoTo fin
W.Activate
If W.Documents.Count = 0 Then W.Documents.Add
Set s = W.ActiveWindow.Selection
For Each VBC In ThisWorkbook.VBProject.VBComponents
With VBC.CodeModule
If .CountOfLines And .Name <> "CopieCodeVersWord" Then
s.InsertAfter vbCrLf _
& "==================================" & vbCrLf$ & _
"Nom du module : " & VBC.Name & vbCrLf$ _
& "==================================" & vbCrLf$ & _
vbCrLf$ & .Lines(1, .CountOfLines) & vbCrLf$
End If
End With
Next VBC
fin:
W.ScreenUpdating = True
End Sub
"Bruno" a écrit dans le message de
news:
Bonjour,
Est-il possible de copier sur une feuille Excel par une macro ou une
formule
simple l'ensemble des formules et macros d'une feuille Excel afin d'en
comprendre le fonctionnement ?

Existe-t-il un outil d'audit qui reconstruirait de manière formelle la
logique de la feuille ?

Merci de vos réponses,
Bruno









Avatar
LSteph
Bonjour François,

;o)) Super!
Avec la tendance vent d'ouest F2 à 3 modérée
plus qu'à attendre l'arrivée de ce crachin
qui d'ici là sera peut-être passé à 2003.

Merci encore.

lSteph



Bonjour jps,

Ici, Office 2000, sous crachin breton, ça marche nickel !



Avatar
LSteph
Bonjour,

..sinon sur le fond:
en lisant le code, il semble que finalement cela splite intégralement
vers Word tout le texte des modules , si j'ai bien compris, ce n'est
plus à proprement parler une liste des procédures.
Dans cette hypothèse autant lire les modules ou imprimer le projet
(voire vers un fichier le cas échéant) ce n'est plus le même objectif.

Merci tout de même.

Cordialement.

lSteph

donc tu confirmes que ça marche chez toi, gilbert?
pour ma part, je suis resté avec ThisWorkbook car j'ai installé cette macro
dans chaque classeur où j'en avais besoin
pour LSteph : évidemment, c'est plus qu'un recensement des modules et j'y
trouve l'avantage de travailler dans mon usine à gaz sur le papier que je
peux annoter à ma guise et pas forcément en vert!!!!
jps

"Modeste" a écrit dans le message de news:

Bonsour® jps avec ferveur ;o))) vous nous disiez :

micro climat? qui veut vérifier si, de son côté, ça baigne?
merci pour bruno



http://cjoint.com/?jcvGQ8lOq8

pour permettre l'utilisation sur un autre calsseur que celui contenant la
macro,
il faut activer le classeur à analyser
j'ai aussi changé :
For Each VBC In ThisWorkbook.VBProject.VBComponents
par
For Each VBC In ActiveWorkbook.VBProject.VBComponents


@+
;o)))









Avatar
jps
...et c'est LSteph qui, pourtant, vit un...calvaire
merci, françois, pour ton soutien face à toute cette adversité
il leur aura probablement échappé, à tous ces médisants, que la proc en
question est l'oeuvre de LL, lequel, s'il devait passer dans le quartier, ne
manquerait pas de leur distiller quelques sarcasmes vitriolés
c'est trop facile de crachiner dans la soupe
jps

"Francois L" a écrit dans le message
de news:

Bonjour jps,

Ici, Office 2000, sous crachin breton, ça marche nickel !

--
François L


micro climat? qui veut vérifier si, de son côté, ça baigne?
merci pour bruno
jps

"LSteph" a écrit dans le message de news:
%
"Ne gère pas la Classe Automation..."
pourtant les ref sont cochées.

:?

@...

bonjour bruno
regarde aussi cela :
HTH
jps

Sub CopieDansWord()
'Cette macro de LL installe dans Word le détails de tous
'les modules ouverts du VBE
'Cette procédure suppose que tu ajoutes au projet VBA une référence à
la
'bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applications
'Extensibility "."
Dim VBC As VBComponent, W As Word.Application
Dim s As Word.Selection
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If
W.ScreenUpdating = False
On Error GoTo fin
W.Activate
If W.Documents.Count = 0 Then W.Documents.Add
Set s = W.ActiveWindow.Selection
For Each VBC In ThisWorkbook.VBProject.VBComponents
With VBC.CodeModule
If .CountOfLines And .Name <> "CopieCodeVersWord" Then
s.InsertAfter vbCrLf _
& "==================================" & vbCrLf$ & _
"Nom du module : " & VBC.Name & vbCrLf$ _
& "==================================" & vbCrLf$ & _
vbCrLf$ & .Lines(1, .CountOfLines) & vbCrLf$
End If
End With
Next VBC
fin:
W.ScreenUpdating = True
End Sub
"Bruno" a écrit dans le message de
news:
Bonjour,
Est-il possible de copier sur une feuille Excel par une macro ou une
formule
simple l'ensemble des formules et macros d'une feuille Excel afin
d'en
comprendre le fonctionnement ?

Existe-t-il un outil d'audit qui reconstruirait de manière formelle la
logique de la feuille ?

Merci de vos réponses,
Bruno











Avatar
LSteph
;o)) Alors un Grand Pardon ...et jusqu'à Ste-Anne la P.
Loin de moi toute idée de crash inné, surtout pas envers LL.
Il n'y a que notre maître chanteur qui vit triolet là dedans!
( ... qu'a le vert, qu'a le vers ou qu'a le verre)

- -
lSteph


...et c'est LSteph qui, pourtant, vit un...calvaire
merci, françois, pour ton soutien face à toute cette adversité
il leur aura probablement échappé, à tous ces médisants, que la proc en
question est l'oeuvre de LL, lequel, s'il devait passer dans le quartier, ne
manquerait pas de leur distiller quelques sarcasmes vitriolés
c'est trop facile de crachiner dans la soupe
jps

"Francois L" a écrit dans le message
de news:

Bonjour jps,

Ici, Office 2000, sous crachin breton, ça marche nickel !

--
François L


micro climat? qui veut vérifier si, de son côté, ça baigne?
merci pour bruno
jps

"LSteph" a écrit dans le message de news:
%
"Ne gère pas la Classe Automation..."
pourtant les ref sont cochées.

:?

@...

bonjour bruno
regarde aussi cela :
HTH
jps

Sub CopieDansWord()
'Cette macro de LL installe dans Word le détails de tous
'les modules ouverts du VBE
'Cette procédure suppose que tu ajoutes au projet VBA une référence à
la
'bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applications
'Extensibility "."
Dim VBC As VBComponent, W As Word.Application
Dim s As Word.Selection
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If
W.ScreenUpdating = False
On Error GoTo fin
W.Activate
If W.Documents.Count = 0 Then W.Documents.Add
Set s = W.ActiveWindow.Selection
For Each VBC In ThisWorkbook.VBProject.VBComponents
With VBC.CodeModule
If .CountOfLines And .Name <> "CopieCodeVersWord" Then
s.InsertAfter vbCrLf _
& "==================================" & vbCrLf$ & _
"Nom du module : " & VBC.Name & vbCrLf$ _
& "==================================" & vbCrLf$ & _
vbCrLf$ & .Lines(1, .CountOfLines) & vbCrLf$
End If
End With
Next VBC
fin:
W.ScreenUpdating = True
End Sub
"Bruno" a écrit dans le message de
news:
Bonjour,
Est-il possible de copier sur une feuille Excel par une macro ou une
formule
simple l'ensemble des formules et macros d'une feuille Excel afin
d'en
comprendre le fonctionnement ?

Existe-t-il un outil d'audit qui reconstruirait de manière formelle la
logique de la feuille ?

Merci de vos réponses,
Bruno














Avatar
lSteph
Re,

At Work, XP+Officepro97 , la macro de LL fonctionne sans pb!
Ce serait donc bien soit un pb lié à 2003, soit
comme tu dis un micro climat, chez moi!

Bonne journée

lSteph






On 2 sep, 20:58, "jps" wrote:
micro climat? qui veut vérifier si, de son côté, ça baigne?
merci pour bruno
jps

"LSteph" a écrit dans le message de news:
%

"Ne gère pas la Classe Automation..."
pourtant les ref sont cochées.

:?

@...

bonjour bruno
regarde aussi cela :
HTH
jps

Sub CopieDansWord()
'Cette macro de LL installe dans Word le détails de tous
'les modules ouverts du VBE
'Cette procédure suppose que tu ajoutes au projet VBA une référe nce à la
'bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applicatio ns
'Extensibility "."
Dim VBC As VBComponent, W As Word.Application
Dim s As Word.Selection
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If
W.ScreenUpdating = False
On Error GoTo fin
W.Activate
If W.Documents.Count = 0 Then W.Documents.Add
Set s = W.ActiveWindow.Selection
For Each VBC In ThisWorkbook.VBProject.VBComponents
With VBC.CodeModule
If .CountOfLines And .Name <> "CopieCodeVersWord" Then
s.InsertAfter vbCrLf _
& "=================== ===============" & vbCrLf$ & _
"Nom du module : " & VBC.Name & vbCrLf$ _
& "=================== ===============" & vbCrLf$ & _
vbCrLf$ & .Lines(1, .CountOfLines) & vbCrLf$
End If
End With
Next VBC
fin:
W.ScreenUpdating = True
End Sub
"Bruno" a écrit dans le message de
news: A7FE4B9B-612A-4222-9FD4-3B6FC7281__BEGIN_MASK_n#9g02mG7!__...__EN D_MASK_i?a63jfAD$
Bonjour,
Est-il possible de copier sur une feuille Excel par une macro ou une
formule
simple l'ensemble des formules et macros d'une feuille Excel afin d' en
comprendre le fonctionnement ?

Existe-t-il un outil d'audit qui reconstruirait de manière formelle la
logique de la feuille ?

Merci de vos réponses,
Bruno








Avatar
jps
:-)))))
jps (avec une petite pensée pour Benead, un des grands hommes du bagad
"mpfe")

"LSteph" a écrit dans le message de news:

;o)) Alors un Grand Pardon ...et jusqu'à Ste-Anne la P.
Loin de moi toute idée de crash inné, surtout pas envers LL.
Il n'y a que notre maître chanteur qui vit triolet là dedans!
( ... qu'a le vert, qu'a le vers ou qu'a le verre)

- -
lSteph


...et c'est LSteph qui, pourtant, vit un...calvaire
merci, françois, pour ton soutien face à toute cette adversité
il leur aura probablement échappé, à tous ces médisants, que la proc en
question est l'oeuvre de LL, lequel, s'il devait passer dans le quartier,
ne manquerait pas de leur distiller quelques sarcasmes vitriolés
c'est trop facile de crachiner dans la soupe
jps

"Francois L" a écrit dans le
message de news:

Bonjour jps,

Ici, Office 2000, sous crachin breton, ça marche nickel !

--
François L


micro climat? qui veut vérifier si, de son côté, ça baigne?
merci pour bruno
jps

"LSteph" a écrit dans le message de news:
%
"Ne gère pas la Classe Automation..."
pourtant les ref sont cochées.

:?

@...

bonjour bruno
regarde aussi cela :
HTH
jps

Sub CopieDansWord()
'Cette macro de LL installe dans Word le détails de tous
'les modules ouverts du VBE
'Cette procédure suppose que tu ajoutes au projet VBA une référence à
la
'bibliothèque d'objets de Word ("Microsoft Word X.0 Object Library")
'ainsi qu'à la bibliothèque "Microsoft Visual Basic For Applications
'Extensibility "."
Dim VBC As VBComponent, W As Word.Application
Dim s As Word.Selection
On Error Resume Next
Set W = GetObject(Class:="Word.Application")
On Error GoTo 0
If W Is Nothing Then
Set W = New Word.Application
W.Visible = True
End If
W.ScreenUpdating = False
On Error GoTo fin
W.Activate
If W.Documents.Count = 0 Then W.Documents.Add
Set s = W.ActiveWindow.Selection
For Each VBC In ThisWorkbook.VBProject.VBComponents
With VBC.CodeModule
If .CountOfLines And .Name <> "CopieCodeVersWord" Then
s.InsertAfter vbCrLf _
& "==================================" & vbCrLf$ & _
"Nom du module : " & VBC.Name & vbCrLf$ _
& "==================================" & vbCrLf$ & _
vbCrLf$ & .Lines(1, .CountOfLines) & vbCrLf$
End If
End With
Next VBC
fin:
W.ScreenUpdating = True
End Sub
"Bruno" a écrit dans le message de
news:
Bonjour,
Est-il possible de copier sur une feuille Excel par une macro ou une
formule
simple l'ensemble des formules et macros d'une feuille Excel afin
d'en
comprendre le fonctionnement ?

Existe-t-il un outil d'audit qui reconstruirait de manière formelle
la
logique de la feuille ?

Merci de vos réponses,
Bruno















1 2 3