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 :

détection de tabulation lors de la recopie d'un .txt


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2012
    Messages : 23
    Par défaut détection de tabulation lors de la recopie d'un .txt
    Bonjour,
    Tout d'abord je tiens à m'excuser si,malgrès les quelques heures passées à chercher l'information,ma question a déja été posée.


    Je souhaite recopier les données d'un fichier texte dans une feuille de mon classeur excel.

    Le code dont je me sert est le suivant

    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
    Private Const chemin As String = "D:\Documents and Settings\ccruz\Bureau\stephane_stagiaire\"
     
    Public Sub LireFichierTexte()
     
    Dim NumFichier As Integer, TabLigne() As String, tabCol() As String, recup As String
    Dim cmpt1 As Long, cmpt2 As Long
    NumFichier = FreeFile
    Open chemin & "La Colle_Dcentrale_02_05_12.txt" For Binary Access Read As #NumFichier
    recup = String(LOF(NumFichier), "   ")
    Get #NumFichier, , recup
    Close #NumFichier
    With Worksheets("feuil1").Range("A1")
    TabLigne = Split(recup, vbCrLf)
    For cmpt1 = 0 To UBound(TabLigne)
    tabCol = Split(TabLigne(cmpt1), "    ")
    For cmpt2 = 0 To UBound(tabCol)
        .Offset(cmpt1, cmpt2).Value = tabCol(cmpt2)
        Next cmpt2
        Next cmpt1
        End With
     
     
    End Sub
    et le fichier "La Colle_Dcentrale_02_05_12.txt" est au format suivant
    La colle
    La Colle_Dcentrale
    29/04/2012 00:22:00 39.74975204
    29/04/2012 00:24:00 46.54001678
    29/04/2012 00:26:00 39.74975204
    ...(chaque colonne est séparée par une tabulation)

    Le problème rencontré est un non changement de colonne (dans excel lors d'une tabulation)
    Un caractère inconnu s'affiche à la place des tabulations.
    et lorsque je copie la valeur d'une des cellules dans un fichier txt
    je retrouve:
    29/04/2012 00:22:00 39.74975204

    Si ce problème est déja arrivé à quelqu'un merci de me faire part de vos idées .

    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 85
    Par défaut
    Bonjour !

    Juste un petit test avant de regarder plus en profondeur : remplace tes " " par des chr(9) pour voir ?

    Cordialement

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2012
    Messages : 23
    Par défaut
    Je ne connaissait pas cette methode elle fonctionne pour une partie de mon programme merci

    si je continue dans cette logique un espace correspondrait à un chr(2)?

    En vous remerciant pour la réponse apportée
    cordialement.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 85
    Par défaut
    Rebonjour,

    Chr(2) pour espace, je ne sais pas, peut être si tu as trouvé que oui.

    Mais en fait pour t'expliquer grossièrement pourquoi ça ne marchait pas, le compilateur analysait tes " " comme une suite d'espace et pas comme des tabulations (j'ai eu le même soucis en traitant des fichiers textes).

    Donc autant utiliser Chr(9) pour tabulation

    Bonne continuation

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, à lire ici et

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/11/2009, 17h03
  2. Détection des tabulations dans un String
    Par supra3000 dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/01/2009, 08h32
  3. Réponses: 3
    Dernier message: 20/07/2006, 09h59
  4. [C#] Capter la tabulation lors de la frappe dans un DataGrid
    Par fabrice1596 dans le forum Windows Forms
    Réponses: 20
    Dernier message: 13/12/2004, 17h53

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