Bonjour,
Est-il possible de détecter toutes modifications apportées à du code VBA dans un fichier xls ou xla, sans pour autant avoir sourcesafe ou un logiciel de ce type payant ?
Merci d'avance !
Bonjour,
Est-il possible de détecter toutes modifications apportées à du code VBA dans un fichier xls ou xla, sans pour autant avoir sourcesafe ou un logiciel de ce type payant ?
Merci d'avance !
salut,
pour avoir la détection d'une modification d'un code, il faut avoir son original, non ?
es-tu en mesure d'avoir cet original à la base ?
dans quel cadre souhaites-tu effectuer ce contrôle ?
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Migrer les applications VBA Access et VBA Excel vers la Power Platform
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel (3e édition)
Prise en main de Dynamics 365 Business Central
Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Salut,
Ouais nous avons le xla original avec ses modules et références.
Le truc c'est que nous sommes plusieurs personnes succeptibles de modifier le code de ces modules...On veut donc mettre en place un suivi léger pour savoir "qui, quand et quoi" a été modifié dans le code...une sorte de "versioning"...
Je sais qu'avec SourceSafe on peut suivre ça facilement si on crée de nouvelles versions à chaque changement et donc voir ensuite ce qui a changé entre chaque version du fichier.
Seulement nous n'avons pas SourceSafe et ce n'est pas dans les achats immédiats loin de là...Donc s'il existe une solution (code ou logiciel mais freeware) permettant de suivre les modifications historiques apportées à du code VBA (fichier xla) je suis preneur !
tu peux bricoler une appli tout seul en principe.
Un bout de code qui te permet de lire les lignes VBA de ton code
tu peux comparer alors en ligne à ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 'avec oAccess dans l'exemple étant une Access.Application Dim i As Integer Dim j As Integer Dim k As Integer Dim Cible As String For i = 1 To oAccess.VBE.VBProjects(1).VBComponents.Count With oAccess.VBE.VBProjects(1).VBComponents.item(i).CodeModule For k = 1 To .CountOfLines Cible = .Lines(k, 1)
* attention toute fois aux lignes vide et lignes commentées (premier caractère : ' )
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Migrer les applications VBA Access et VBA Excel vers la Power Platform
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel (3e édition)
Prise en main de Dynamics 365 Business Central
Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Merci pour la solution je ne connaissais pas cet acces possible aux modules et lignes de code.
Par contre il me génère cette erreur sur cette ligne
Erreur d'exécution 1004:
Code : Sélectionner tout - Visualiser dans une fenêtre à part For i = 1 To Application.VBE.ActiveVBProject.VBComponents.Count
Erreur définie par l'application ou par l'objet.
La méthode VBE de l'objet _Application a échoué
Il peut également m'afficher l'erreur suivante :
Erreur d'exécution 1004:
L'acces par programme au projet Visual Basic n'est pas fiable
J'ai placé ce code dans le fichier xla
Partager