Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/02/2011, 12h46   #1
Membre habitué
 
Inscription : mars 2006
Messages : 398
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mars 2006
Messages : 398
Points : 109
Points : 109
Par défaut Supression de code VBA par du code VBA

Bonjour,

La question du jour est la suivante : est-il possible de supprimer du code VBA par du code VBA ?

Ma problématique est liée au fait que j'essaye d'importer le code VBA contenu dans des feuilles et le ThisWorkbook et qu'il me fait apparaître une morceau de code qui normalement est caché...

ce sont les lignes suivantes :

Code :
1
2
3
4
5
6
 
 
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
End
Et en plus il m'ajouet l'option "Option Explicit" avant.


Voici ce que j'ai fais :

Code :
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
27
28
29
 
 
 
 
 
Private Sub SubImportModuleCode( _
        ByVal Wb As Workbook, _
        ByVal ModuleName As String, _
        ByVal ImportFromFile As String)
 
' imports code to ModuleName in wb from a textfile named ImportFromFile
    Dim VBCM        As CodeModule
 
On Error Resume Next
 
    'TODO : désactiver le "Option Explicit"
 
    If Dir(ImportFromFile) = "" Then Exit Sub
    Set VBCM = Wb.VBProject.VBComponents(ModuleName).CodeModule
    If Not VBCM Is Nothing Then
        VBCM.AddFromFile ImportFromFile
        Set VBCM = Nothing
    End If
 
    'TODO : résactiver le "Option Explicit"
 
On Error GoTo 0
 
End Sub
Comment puis-je m'en sortir s'il vous plait ?

Par avance merci.

Marco.
cotmar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 17h43   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Salut,

la piste de la pour la suppression de lignes est une bonne base a mon avis :

http://vb.developpez.com/faqvba/?page=3.6#deletemacro


Code :
.DeleteLines Debut, Lignes
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 14h30   #3
Membre habitué
 
Inscription : mars 2006
Messages : 398
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : mars 2006
Messages : 398
Points : 109
Points : 109
Bonjour,

Désolé pour cette réponse tardive et merci pour tes conseils.

Le code final en intégrant ta remarque est donc le suivant :

Code :
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
27
28
29
30
31
32
 
 
 
 
Private Sub SubImportClasseurCode( _
        ByVal Wb As Workbook, _
        ByVal ModuleName As String, _
        ByVal ImportFromFile As String, _
        ByVal BoolImportPartiel As Boolean)
 
' imports code to ModuleName in wb from a textfile named ImportFromFile
    Dim VBCM        As CodeModule
 
    Dim IntDeb      As Integer
    Dim IntFin      As Integer
 
On Error Resume Next
 
    If Dir(ImportFromFile) = "" Then Exit Sub
    Set VBCM = Wb.VBProject.VBComponents(ModuleName).CodeModule
    If Not VBCM Is Nothing Then
        VBCM.AddFromFile ImportFromFile
 
        VBCM.DeleteLines 1, 6  'Je prends les 7 premières lignes
    End If
    Set VBCM = Nothing
 
On Error GoTo 0
 
Sortie:
 
End Sub
De cette manière il n'y a plus besoin de désactiver l'option explicit comme le pensais initialement.

Par ailleur ça va pouvoir m'aider pour autre chose.

Cordialement.

Marco.
cotmar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 14h33   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Ok,
super, si tu estimes cette question resolue, pense au tag
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h20.


 
 
 
 
Partenaires

Hébergement Web