Ecrire dans un fichier texte les valeur des cellules

Signaler
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011
-
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011
-
bonjour voila je souhaite ecrire dans un fichier texte les valeurs de A1 jusqua la derniere ligne pleine
mais je rame un peu voici mon code

Private Sub CommandButton1_Click()
Dim I As Integer, nbLignes As Long
    nbLignes = PremiereLigneVide(1)
   
    For I = 2 To nbLignes - 1
  

t = Range("A1&I").Select
Next

 Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile("film.txt")
Dim LogFile As String

      LogFile = "film.txt"
      ChDir ThisWorkbook.path
 
      Open LogFile For Append Shared As #1
      Print #1, "Vos films: "
      Print #1, "----------------------------------"
      Print #1, t
      Close #1
     
End Sub

mes modules sont:
public Function PremiereLigneVide(Colonne As Integer) As Integer

    PremiereLigneVide = Columns(Colonne).Find("", , , , xlByRows, xlNext).Row
   
End Function

Public Function DerniereLignePleine(Colonne As Integer) As Long
   
    DerniereLignePleine = Columns(Colonne).Find("*", Range("A1"), , , xlByRows, xlPrevious).Row

End Function

'Fonction pour vérifier si le mot qu'on veut ajouter à un Combobox ou ListBox est déjà là
'Il faut lui passer le nom du contrôle et l'item dont on veut vérifier l'existence
Function IsInList(Ctl As Control, Mot As String) As Boolean
    Dim I As Integer
   
    For I = 0 To Ctl.ListCount - 1
        If Ctl.List(I) = Mot Then
            IsInList = True
            Exit For
        End If
    Next
End Function

voila ce que jobtient dans mon fichier si je met en exemple pour voir dou vient le probleme
t = Range("A1:A23").Select

Vos films:
----------------------------------
Vrai

merci

16 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

A la place de Select, je pencherai plutôt pour : Value ou Text...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

jai une erreur sur
  Print #1, t

apres
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Oui, mais c'est quoi ton erreur ?
As-tu essayé comme cela défois : t = Range("A1&I").Value ' ou Text

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

mince je mexplique
si je met .value jai rien dans le fichier et lerreur
avec .text jai "null" a la place de "vrai" et pas derreur
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

mince je mexplique
si je met .value jai rien dans le fichier et lerreur
avec .text jai "null" a la place de "vrai" et pas derreur
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

mince je mexplique
si je met .value jai rien dans le fichier et lerreur
avec .text jai "null" a la place de "vrai" et pas derreur
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

mince je mexplique
si je met .value jai rien dans le fichier et lerreur
avec .text jai "null" a la place de "vrai" et pas derreur
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

desole pour le bug
je repond a ton message car lautre cetait en complement davant

avec ta derniere methode jobtient
"la methode'range' de lobjet "_global' a echoué"

et pour lerreur que jai avant quand je met .value cest "incompatibilite de type"
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Ah...Bon...Il me semble, je dit bien il me semble que déjà tu fais ta boucle, mais une fois ta boucle faite, tu ne va écrire qu'un seule fois dans ton fichier, car ton code d'écriture dans le fichier text et en fin de boucle(Next I << En rouge car tu l'oublis)...
Don ta boucle devrait se structuré comme cela :

Tu lis tes cellules, si elles sont vide tu n'écris pas dans ton fichier, si c'est le contraire aolrs tu écris....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

jai une liste :
<col style=\"width: 398pt;\" width=\"531\" />----
Dubosc - Pour toi
public II.avi, ----
Florence Foresti Fait Des Sketches A La
Cigale.avi, ----
muta fr divx fullrzes.avi, ----
Raise Your Voice.avi
comme ca par exemple

et je veux que cette liste ce retrouve dans le fichier texte
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Je ne suis pas du tout sous VBA, mais essaye cela si défois, sinon je suis désolé et ne peut t'aider :

  ' Variable
   Dim Nol As Integer
   Dim Résultat As String
   Dim LogFile As String
   Set FSys = CreateObject("Scripting.FileSystemObject")
   Set MonFic = FSys.CreateTextFile("film.txt")
 
  ' Init
   LogFile = "film.txt"
   ChDir ThisWorkbook.Path


  
  ' Parcoure la colonne A
   For Nol = 1 To 65535
     Résultat = Range("A" & Nol).Select
     If Not IsNull(Résultat) Then
        Open LogFile For Append Shared As #1
        Print #1, "Vos films: "
        Print #1, "----------------------------------"
        Print #1, t
     End if
   Next


  ' Ferme le fichier
   Close #1


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

alors jai juste modifie deja le 1 to 65535 (trop important pour excel)
ensuite je ne vois pas a quoi correspond "t" la dedans?
et jai une erreur de type "permission refusée" sur  Open LogFile For Append Shared As #1

merci
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

  ' Init
   LogFile = "film.txt"
   ChDir ThisWorkbook.Path
   Open LogFile For Append Shared As #1
   
  ' Parcoure la colonne A
   For Nol = 1 To 100
     Résultat = Range("A" & Nol).Select
     If Not IsNull(Résultat) Then
        Print #1, "Vos films: "
        Print #1, "----------------------------------"
        Print #1, Résultat
     End if
   Next
  ' Ferme le fichier
   Close #1

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

merci
mais jobtient ca dans le fichier texte
ce qui est bizarre cest que tout me parait bon
je pense que le probleme vient de   : "Print #1, Résultat"
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Vos films:
----------------------------------
Vrai
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Salut,

Premièrement, oublie le FileSystemObject qui n'est vraiment pas nécessaire.
De plus, je pense que tu mélanges 2 méthodes différentes d'écrire dans un fichier.

Tu dois en premier ouvrir le fichier en mode Append comme tu fais déjà
Tu t'assures qu'il est correct auparavant, sinon tu le supprimes. Autrement tu vas ajouter des données à la suite de bizzareries. Si le fichier n'existe pas le mode Append va le créer.

Donc, après ouverture du fichier, tu commences ta boucle et tu inscris les valeurs des cellules et tu termines en fermant ton fichier

Ce qui devrait donner quelque chose comme ceci

Private Sub CommandButton1_Click()
Dim I As Long, nbLignes As Long  ' les 2 doivent être LONG
Dim LogFile As String

LogFile = "C:\film.txt"  'ici tu dois déterminer le chemin exact
nbLignes = PremiereLigneVide(1)

Open LogFile For Append As #1

    'Écrire le début du fichier
    Print #1, "Vos films: "

    Print #1, "----------------------------------"

    'Écrire les données à la suite en boucle
    For I = 2 To nbLignes - 1
        If Range("A" & I) <> "" then Print #1, Range("A" & I)
    Next

   
Close #1

    
End Sub

MPi
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

merci cest parfait