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.
A voir également:
- Macro Excel 2007 : générer un fichier txt
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
1 réponse
Bonjour,
Exemple type :
Cdt
Lupin
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