Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

save plage de cellule vers fichier.txt(RESOLU par MJ13)

  • Initiateur de la discussion Initiateur de la discussion charente
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

charente

Guest
bonjour a tous.

je viens vers vous pour un probleme d'enregistrement d'une plage de données dans un format txt (kml pour etre plus precis)

mon probleme
nomsave et une variable qui reprend le nom du fichier


Dim maplage As Range
Set maplage = Range("G1:G579")

Open nomsave & ".kml" For Output As #1
'Print #1, Range("g1:g579")
'Print #1, Worksheets("feuil1").maplage

Print #1, maplage

Close #1

je bute sur PRINT #1 qui se souligne en jaune erreur excution 13
j'ai testé les 3 formules toujours pareil
je tourne en rond, merci de votre aide
 
Dernière modification par un modérateur:
Re : save plage de cellule vers fichier.txt

Bonjour charente

A tester (et adapter)

Code:
Sub test()
nomsave = "NomSave"
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(ThisWorkbook.Path & "\" & nomsave & ".txt", True)
maplage = Range("G1:G29")
For n = LBound(maplage, 1) To UBound(maplage, 1)
  a.WriteLine (maplage(n, 1))
Next
a.Close
End Sub
 
Re : save plage de cellule vers fichier.txt

merci pierre-jean

j'ai testé ta solution mais LBound(maplage, erreur (tableau attendu)

encore merci
A+
 
Re : save plage de cellule vers fichier.txt

pierrejean

effectivement j'ai adapter ta macro
nomsave est deja defini
changer txt par KML
range("G1:G" & fin) ' fin est la derniere cellule du fichier

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(ThisWorkbook.Path & "\" & nomsave & ".kml", True)
maplage = Range("G1:G" & fin)
For n = LBound(maplage, 1) To UBound(maplage, 1)
a.WriteLine (maplage(n, 1))
Next
a.Close

si tu as une explication ?
merci
 
Re : save plage de cellule vers fichier.txt

effectivement fin contient la derniere ligne (579)

si j'insere ta macro sans le sub et end sub j'ai le meme probleme
??
 
Re : save plage de cellule vers fichier.txt

Bonjour à tous

En reprenant le code du début, ce type de code devrait fonctionner.


Code:
Sub a()
Close
nomsave = "C:\Temp\Test_09_05_2015"
 Open nomsave & ".kml" For Output As #1
    For i = 1 To 579
        Print #1, Range("G" & i).Value
    Next
 Close '#1
End Sub
 
Re : save plage de cellule vers fichier.txt

bonjour a tous

désolé de ne pas vous avoir tenu au courant de la suite , mais j'etais de mariage tout le week-end
je regarde tout ca et vous tient au courant
merci
a bientot
 
Re : save plage de cellule vers fichier.txt

bonsoir
je vient de tester la solution de MJ13 qui me convient très bien , simple, efficace

dans mon programme j'ai inserer:
' fin = variable de la derniere cellule vide de ma colonne
'nomsave = chemin de destination

Close
Open nomsave & ".kml" For Output As #1
For i = 1 To fin
Print #1, Range("G" & i).Value
Next
Close '#1

merci beaucoup.
 
Re : save plage de cellule vers fichier.txt(RESOLU par MJ13)

bonsoir Staple1600
je ne comprend pas ta démarche, tu aurais préferé que je dise
je regarde tout cela , a la place de tout ca

dans ma démarche il n'y a pas de mèpris pour les réponse que j'ai recus
désolé d'avoir, a tes yeux ècorche la langue Francaise
bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

V
Réponses
3
Affichages
4 K
valyno
V
M
Réponses
4
Affichages
1 K
m.alhalli
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…