IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Enregistreur fichier texte : Incompatibilité type


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 84
    Par défaut Enregistreur fichier texte : Incompatibilité type
    Bonsoir j'ai un problème d'incompatibilité type sur cette macro je ne comprend pas d'ou elle viens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub Generer_Fichier_Texte_PRINT1a()
       Dim i As Long, j As Long, ar
       Dim sRepertoire As String, sNomFichier As String
       Dim iFile As Integer
       Dim str As String
     
       sRepertoire = "C:\Users\thoms\Desktop\TEST PROJET TEXT\ '// doit terminer avec un " \ ""
       sNomFichier = "OutputPrint1a.txt"    '// nom du fichier
     
       On Error Resume Next
       Kill sRepertoire & sNomFichier  '// effacer le fichier existant
       iFile = FreeFile
       Open sRepertoire & sNomFichier For Output As #iFile   '// crée le fichier texte
       ar = Sheets(1).Cells(1).CurrentRegion.Value     '// valeurs dans un array (plus rapide)
       For i = 1 To UBound(ar, 1)       '// boucle sur les lignes
          str = ""
          For j = 1 To UBound(ar, 2)    '// boucle sur les colonnes
             str = str & ar(i, j) & vbTab  '// valeurs séparées par tabulations
          Next j
          Print #iFile, str             '// écrire dans le fichier
       Next i
       Close #iFile                     '// Fermer le fichier
       On Error GoTo 0
    End Sub
    Merci d'avance pour votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    quelle ligne est impactée par l'erreur ?

    dans un premier temps, remonte le "on error goto 0" juste après a ligne où tu Kill le fichier afin de ne pas ignorer les erreurs de toute la procédure

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 84
    Par défaut
    Le problème c'est que j'ai aucune ligne qui ce met en gras quand j'ai l'erreur :/

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    ah j'avais pas les yeux en face des trous !

    ta ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sRepertoire = "C:\Users\thoms\Desktop\TEST PROJET TEXT\ '// doit terminer avec un " \ ""
    est mal écrite, tu n'as pas fermé ta chaine de caractère

    remplace par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sRepertoire = "C:\Users\thoms\Desktop\TEST PROJET TEXT\" '// doit terminer avec un \

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 84
    Par défaut
    Toujours la meme erreur je ne comprend pas :/

    C'est bon je n'ai rien dit, le problème maintenant c'est que il n'y a rien d'écris dans mon TXT :/

    J'ai encore le message d'erreur mais le fichier ce créer bien dans le dossier, malheureusement celui-ci est vide

    De base le code était comme sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Kill sRepertoire & sNomFichier   '// effacer le fichier existant
       iFile = FreeFile
        Open sRepertoire & sNomFichier For Output As #iFile   '// crée le fichier texte
    j'ai changer en sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Kill sRepertoire & sNomFichier  '// effacer le fichier existant
       On Error GoTo 0
       iFile = FreeFile
       Open sRepertoire & sNomFichier For Output As #iFile   '// crée le fichier texte
       ar = Sheets(1).Cells(1).CurrentRegion.Value     '// valeurs dans un array (plus rapide)
    Mais rien ne fait la commande Kill et Open n'ai pas prit en compte

  6. #6
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    Chez moi, le fichier se crée normalement ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub Generer_Fichier_Texte_PRINT1a()
       Dim i As Long, j As Long, ar
       Dim sRepertoire As String, sNomFichier As String
       Dim iFile As Integer
       Dim str As String
     
       sRepertoire = "C:\Users\thoms\Desktop\TEST PROJET TEXT"   
       On Error Resume Next
       MkDir sRepertoire
       On Error GoTo 0
     
       sNomFichier = "\OutputPrint1a.txt"    '// nom du fichier
     
     iFile = FreeFile
       Open sRepertoire & sNomFichier For Output As #iFile
       Close #iFile
     
       Kill sRepertoire & sNomFichier  '// effacer le fichier existant
       iFile = FreeFile
       Open sRepertoire & sNomFichier For Output As #iFile   '// crée le fichier texte
       ar = Sheets(1).Cells(1).CurrentRegion.Value     '// valeurs dans un array (plus rapide)
       For i = 1 To UBound(ar, 1)       '// boucle sur les lignes
          str = ""
          For j = 1 To UBound(ar, 2)    '// boucle sur les colonnes
             str = str & ar(i, j) & vbTab  '// valeurs séparées par tabulations
          Next j
          Print #iFile, str             '// écrire dans le fichier
       Next i
       Close #iFile                     '// Fermer le fichier
     
    End Sub

Discussions similaires

  1. Réponses: 25
    Dernier message: 13/09/2007, 14h43
  2. Type d'encodage de fichiers texte
    Par bit_o dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 28/02/2007, 10h28
  3. Réponses: 6
    Dernier message: 14/02/2007, 21h08
  4. Déterminer le Type fichier texte unicode, utf8?
    Par soazig dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 08/02/2007, 22h12
  5. Réponses: 2
    Dernier message: 17/01/2007, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo