bonjour à tous, c'est encore moi,
comme je n'en ai pas réellement fini avec le sujet, je post un nouveau topic vu que l'ancien a la mention résolu.
Le codene fonctionne (apparemment ?) que pour les fichiers ouverts ou en cours. Quelqu'un pourrait-il me dire comment faire la manip pour accéder au code d'une autre base access par exemple...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.VBE.VBProjects
Voici le code ou j'en suis (attention ca fait peur):
le code fonctionne pour le projet en cours, mais pas moyen de faire appel aux modules de fichiers autres...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Function MajCodeVBA(PathBase As String) As Boolean Dim db As DAO.Database Dim RS As DAO.Recordset Dim strSQL As String Dim vbproj Dim i As Integer Dim j As Integer 'On Error GoTo fin strSQL = "SELECT ancienne_valeur, nouvelle_valeur from T_CONVERSION_Queries;" Set RS = CurrentDb.OpenRecordset(strSQL) Set db = Application.DBEngine.OpenDatabase(PathBase) For i = 1 To Application.VBE.vbprojects(1).VBComponents.Count For j = 1 To Application.VBE.vbprojects(1).VBComponents.Item(i).CodeModule.CountOfLines Application.VBE.vbprojects(1).VBComponents.Item(i).CodeModule.ReplaceLine j, Replace(Application.VBE.vbprojects(1).VBComponents.Item(i).CodeModule.Lines(j, 1), RS!ancienne_valeur, RS!nouvelle_valeur) Next j Next i MajCodeVBA = True Exit Function 'fin: ' MajCodeVBA = False End Function
Des idées svp ?
Partager