Macro Excel 2007 : générer un fichier txt
koma_666
Messages postés
473
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous,
Je sollicite votre expertise pour la création d'une macro.
J'utilise excel pour générer des fichiers sql (milliers de requêtes, une ligne=une requête).
J'aurais besoin de votre aide pour 2 macro, assez similaires :
La 1ère qui copierait la valeur de toutes les cellules à partir de C3 (C3, C4, C5, ..., C65536) et les renseignerait dans un fichier .txt (ou .sql peu importe), en tenant compte de "une cellule excel = une ligne dans le fichier .txt).
exemple du contenu du fichier .txt :
valeur de la cellule C3
valeur de la cellule C4
valeur de la cellule C5
...etc
La 2nde est assez identique, mais plus complexe (pour moi en tout cas, peut être pas pour vous ^^).
Je veux faire la même chose, une cellule excel=une ligne dans le fichier .txt sauf que cette fois, je veux lire dans cet ordre : C3, D3, E3, C4, D4, E4, C5, D5, E5, etc.
exemple du contenu du fichier .txt :
valeur de la cellule C3
valeur de la cellule D3
valeur de la cellule E3
valeur de la cellule C4
valeur de la cellule D4
valeur de la cellule E4
...etc
Auriez-vous une idée pour faire ces macros ?
Je vous remercie par avance.
Je sollicite votre expertise pour la création d'une macro.
J'utilise excel pour générer des fichiers sql (milliers de requêtes, une ligne=une requête).
J'aurais besoin de votre aide pour 2 macro, assez similaires :
La 1ère qui copierait la valeur de toutes les cellules à partir de C3 (C3, C4, C5, ..., C65536) et les renseignerait dans un fichier .txt (ou .sql peu importe), en tenant compte de "une cellule excel = une ligne dans le fichier .txt).
exemple du contenu du fichier .txt :
valeur de la cellule C3
valeur de la cellule C4
valeur de la cellule C5
...etc
La 2nde est assez identique, mais plus complexe (pour moi en tout cas, peut être pas pour vous ^^).
Je veux faire la même chose, une cellule excel=une ligne dans le fichier .txt sauf que cette fois, je veux lire dans cet ordre : C3, D3, E3, C4, D4, E4, C5, D5, E5, etc.
exemple du contenu du fichier .txt :
valeur de la cellule C3
valeur de la cellule D3
valeur de la cellule E3
valeur de la cellule C4
valeur de la cellule D4
valeur de la cellule E4
...etc
Auriez-vous une idée pour faire ces macros ?
Je vous remercie par avance.
1 réponse
-
Bonjour,
Exemple type :
Option Explicit ' Const ctePourLecture = 1 Const ctePourEcrire = 2 Const ctePourAjouter = 8 Const cteRapport1 = "Rapport1.txt" Const cteRapport2 = "Rapport2.txt" ' Sub EcrireTexteMethode1() Dim objFSO As Object, objFichier As Object, varNomFic As String Dim Limite As Long, Boucle As Long Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du fichier à écrire varNomFic = ThisWorkbook.FullName varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport1 ' Valide si fichier existe If (objFSO.FileExists(varNomFic)) Then Set objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire) End If With Sheets("Feuil1") .Range("C3").Select Limite = .Range("C65536").End(xlUp).Row For Boucle = 0 To Limite objFichier.WriteLine ActiveCell.Offset(Boucle, 0).Value Next End With objFichier.Close Set objFichier = Nothing Set objFSO = Nothing End Sub ' Sub EcrireTexteMethode2() Dim objFSO As Object, objFichier As Object, varNomFic As String Dim Limite As Long, Boucle As Long, Compteur As Long Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du fichier à écrire varNomFic = ThisWorkbook.FullName varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport2 ' Valide si fichier existe If (objFSO.FileExists(varNomFic)) Then Set objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire) End If With Sheets("Feuil1") .Range("C3").Select Limite = 2 For Compteur = 0 To 2 For Boucle = 0 To Limite objFichier.WriteLine ActiveCell.Offset(Boucle, Compteur).Value Next Next End With objFichier.Close Set objFichier = Nothing Set objFSO = Nothing End Sub '
Cdt
Lupin