Ecrire dans un fichier texte les valeur des cellules

mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011 - 17 mai 2007 à 14:32
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011 - 18 mai 2007 à 10:38
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

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
17 mai 2007 à 14:34
Salut,

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

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
17 mai 2007 à 14:45
jai une erreur sur
  Print #1, t

apres
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
17 mai 2007 à 14:48
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

 
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
17 mai 2007 à 14:49
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
17 mai 2007 à 14:49
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
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
17 mai 2007 à 14:49
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
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
17 mai 2007 à 14:50
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
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
17 mai 2007 à 14:55
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"
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
17 mai 2007 à 14:58
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

 
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
17 mai 2007 à 15:07
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
17 mai 2007 à 15:21
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


 
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
17 mai 2007 à 15:26
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
17 mai 2007 à 15:32
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

 
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
17 mai 2007 à 15:35
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
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
17 mai 2007 à 23:30
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
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
18 mai 2007 à 10:38
merci cest parfait
0
Rejoignez-nous