Comment copier l'ensemble du code d'un classeur Excel dans un fichier texte?

frichti

XLDnaute Nouveau
Bonjour à tous
Tout est presque dit dans l'intitulé.
voilà, récupérer tout le code (feuilles, thisworkbook, modules, userform, etc)
de manière à l'avoir dans un seul document texte, si possible en un minimum de manipulation.
Merci de votre aide
Cordialement.
 
G

Guest

Guest
Re : Comment copier l'ensemble du code d'un classeur Excel dans un fichier texte?

bonjour frichti,

Avec cette macro, toutes les lignes des modules sont ecrites dans un fichier texte du même nom que le fichier excel

Code:
'- le projet à exporter ne doit pas être protégé
'- la librairie Microsoft Visual Basic Extensibility 5.x doit être cochée
Sub ExportModules()
 Dim fichier As String
 Dim f As Integer
 Dim i As Integer
 Dim oComposant As VBComponent
 Dim sNomModule As String, LigneTitre As String
 fichier = Replace(ThisWorkbook.FullName, "xls", "txt")
 f = FreeFile()
 Open fichier For Output As #f
 
 For Each oComposant In ThisWorkbook.VBProject.VBComponents
    sNomModule = oComposant.Name
    If oComposant.Type = vbext_ct_ClassModule Or vbext_ct_StdModule  or vbext_ct_MSForm Then
        ' 1 ligne vide +3 lignes de titre de module
        Print #f, ""
        LigneTitre = "'" & String(40, "*")
        Print #f, LigneTitre
        LigneTitre = String(20, " ") & sNomModule
        Print #f, LigneTitre
        LigneTitre = "'" & String(40, "*")
        Print #f, LigneTitre
 
        ' Ecrire les lignes du modules
        For i = 1 To oComposant.CodeModule.CountOfLines
            Print #f, oComposant.CodeModule.Lines(i, 1)
        Next i
 
    End If
 Next oComposant
 Close #f
End Sub

A bientôt
 
Dernière modification par un modérateur:

frichti

XLDnaute Nouveau
Re : Comment copier l'ensemble du code d'un classeur Excel dans un fichier texte?

Merci Hasco, ça me crée bien un fichier texte avec tout le code dedans ... seulement ça vire tout le code du classeur Excel ... et Je préfèrerai qu'il y reste.
Alors si tu vois d'ou cela peut venir ... merci de m'aider car là, je cale.
Cordialement
 
G

Guest

Guest
Re : Comment copier l'ensemble du code d'un classeur Excel dans un fichier texte?

Bonjour Frichti, le forum,

Je t'avoue que je ne vois pas du tout d'où cela peut bien provenir, sur ma machine avec XP et office XP cela fonctionne normalement.

Edition:

Me vient une idée.Passer par une variable avant d'écrire la ligne de code:
Code:
' Ecrire les lignes du modules
        Dim [COLOR=blue]Ligne[/COLOR] as string
        For i = 1 To oComposant.CodeModule.CountOfLines
            [COLOR=blue]Ligne[/COLOR]=oComposant.CodeModule.Lines(i, 1)
            Print #f, [COLOR=blue]Ligne[/COLOR]
       Next i

A tester.
 
Dernière modification par un modérateur:

bylka213

XLDnaute Occasionnel
Re : Comment copier l'ensemble du code d'un classeur Excel dans un fichier texte?

Salut Hasco, j'ai un problème similaire.
Je voudrais copier le contenu de toutes les cellules d'une ligne dans un fichier texte.

Je joints un fichier avec ce que je veux faire
 

Pièces jointes

  • extraction données.zip
    35.6 KB · Affichages: 51
  • extraction données.zip
    35.6 KB · Affichages: 40
  • extraction données.zip
    35.6 KB · Affichages: 42

Staple1600

XLDnaute Barbatruc
Re : Comment copier l'ensemble du code d'un classeur Excel dans un fichier texte?

Bonjour frichti, Hasco,bylka123, le fil, le forum.


Pour info:

Le code initial d'Hasco testé sous Excel 2000 en ayant coché la référence citée exporte bien tout le code VBA tout en laissant celui-ci dans le classeur.

(Condition du test: le classeur est déjà enregistré et le code d'export se touve dans ce classeur)
 

bylka213

XLDnaute Occasionnel
Re : Comment copier l'ensemble du code d'un classeur Excel dans un fichier texte?

Hasco,

Il est vrai que le problème n'est pas si similaire que ça...est ce que qulqu'un aurait une idée de comment proceder pour résoudre mon pb?

Merci
:)
 

Pièces jointes

  • extraction données.zip
    35.6 KB · Affichages: 37
  • extraction données.zip
    35.6 KB · Affichages: 40
  • extraction données.zip
    35.6 KB · Affichages: 40
G

Guest

Guest
Re : Comment copier l'ensemble du code d'un classeur Excel dans un fichier texte?

re Bylka,

Puisque ton problème n'est pas si 'similaire que ça', ouvre un autre fil.

Et peut-être qu'un petit tour du côté de la charte du forum (lien en bas de ce message) serait le bienvenu.

Bon après-midi
 

bylka213

XLDnaute Occasionnel
Re : Comment copier l'ensemble du code d'un classeur Excel dans un fichier texte?

Bonjour tout le monde,

Hasco, c'est ce que j'ai fais j'ai créé un nouveau fil...
J'ai lu la charte et je suis désolé si mon comportement n'était pas respectueux je m'excuse notamment auprès du créateur du fil, je ne voulais pas polluer son fil.

Merci
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 677
Messages
2 090 824
Membres
104 677
dernier inscrit
soufiane12