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 :

connexion ADO fichier texte, problème de séparateur


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut connexion ADO fichier texte, problème de séparateur
    Bonjour,

    Après de multiples recherches infructeuses, je viens à vous pour le cas où on aurait une réponse à ma question (ce que je ne doute point )

    le lien suivant fait ce qu eje veux (ce que j'avais déja fait) sauf à une exception, il ne gère pas les fichiers textes avec comme séparateur une tabulation... :

    http://excel.developpez.com/sources/...XT#CompilerTxt

    Le problème que j'ai est que je n'ai qu'un champ fields alors que je devrais en avoir 15 (quand j'affiche la valeur de mon fields, j'ai tout à la suite)

    Quelqu'un aurait-il une idée ?

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Laville,

    Je pense que le problème pourrait se trouver ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     '--- recuperation de la première ligne
                    For i = 0 To Rc.Fields.Count - 1
                    x = x & Rc.Fields(i).Name & ";"
                    Next i
                    Print #1, Left(x, Len(x) - 1) & vbCrLf;
    essayez :

    remplacer le ";" par "!"
    Dernière modification par AlainTech ; 31/08/2007 à 05h38. Motif: Balises [code], pas [quote]!

  3. #3
    Expert éminent sénior
    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
    Points : 11 272
    Points
    11 272
    Par défaut
    Remplacer plutôt ";" par chr(9) dans

    Print #1, "Champ1;Champ2" & vbCrLf;
    Print #1, Rc.GetString(, , ";", vbCrLf, "");

    Soit au final qqch comme
    Print #1, "Champ1" & Chr(9) & "Champ2" & Chr(9) &....& "ChampX" & vbCrLf;
    Print #1, Rc.GetString(, , Chr(9), vbCrLf, "");

    et en modifiant le code
    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
     
            .....
            cn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & Chemin & ";" & _
                   "Extended Properties=""text;HDR=No;FMT=Delimited"""
     
            Set Rc = New ADODB.Recordset
            Rc.Open Source:="SELECT * FROM [" & Fichier & "]", ActiveConnection:=cn
            If Not Rc.EOF Then
                Print #1, Rc.GetString(, , Chr(9), vbCrLf, "");
            End If
     
            Rc.Close
            x = ""
            .....
    qui remplacera
    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
     
            .....
            cn = "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
            "Dbq=" & Chemin & ";Extensions=asc,csv,tab,txt"
     
            Set Rc = New ADODB.Recordset
            Rc.Open Source:="SELECT * FROM [" & Fichier & "]", ActiveConnection:=cn
     
            If Not Rc.EOF Then
     
                    '--- recuperation de la première ligne
                    For i = 0 To Rc.Fields.Count - 1
                    x = x & Rc.Fields(i).Name & ";"
                    Next i
                    Print #1, Left(x, Len(x) - 1) & vbCrLf;
                    '---
     
                Print #1, Rc.GetString(, , ";", vbCrLf, "");
            End If
     
            Rc.Close
            x = ""
            .....

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    Bonjour et merci à vous de vous pencher sur mon problème.

    Tout d'abord, le lien que j'avais donné était un exemple (la connexion est la même, le reste moins). Je vais donc mettre un bout de code pour que vous comprenniez mieux ce que je veux faire :

    - je fais la connexion comme marqué ci-dessus, jusque là pas de soucis, mon Ocnn contient 550 rows (la première n'est pas prise en compte et sont les noms de mes colonnes), mais oCnn.fields.count est égal à 1 alors que je voudrais qu'il soit égal à mon nombre de colonnes.
    - quand le fichier a pour séparateur un ; impec ca fonctionne (fichier .csv), mais quand c'est une tabulation, c'est le drame il me le prend comme une seule colonne et quand je fais un msgbox ocnn.fields(0) (il y a qu'une colonne donc....) et bien j'ai toutes mes valeurs à la suite, avec les tabulations qui les séparent.
    - Maintenant, soit effectivement je découpe chaque ligne (laborieux), soit il éxiste un paramètre me permettant de définir automatiquement le type de séparateur. Une troisième solution serait que je formatte le fichier en entrée (selon le type de séparateur, je met ce qui va bien mais bon, lourd aussi....)


    Voila un bout de mon code :

    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
    32
    33
    34
    35
    36
        'Se connecte au fichier texte sélectionné
        oCnn.Driver = "{Microsoft Text Driver (*.txt; *.csv)};Extensions=asc,csv,tab,txt"
        oCnn.Connexion ("DefaultDir=" & dirname(csvFileName) & ";Extended Properties=""Excel 8.0;MaxScanRows=0;HDR=YES;IMEX=1""")
        'Récupère les données
        Set oRec = oCnn.OpenRecordSet("SELECT * FROM [" & ExtractFileName(csvFileName) & "]")
            Application.ScreenUpdating = False 'Optimise le traitement de la Macro
     
            Do While Not oRec.EOF
     
                iCurRow = iCurRow + 1
                iCurCol = 0
                'liste des colonnes de FrmFB avec la correspondance pour le fichier texte
                cSourceCols.moveFirst
                Do
                    iCurCol = iCurCol + 1
                    If (cSourceCols.Current.SourceName <> "") Then
                        If (cSourceCols.Current.name = cstKeyBonusCible) Then
                            iColBonus = iCurCol
                        End If
                        On Error Resume Next
                        If (cSourceCols.Current.datatype = "date") Then
                            wsFB.Cells(iCurRow, iCurCol) = IIf(IsNull(oRec.Fields(cSourceCols.Current.SourceName).Value), "", CDate(oRec.Fields(cSourceCols.Current.SourceName).Value))
                        ElseIf (cSourceCols.Current.datatype = "numeric") Then
                            wsFB.Cells(iCurRow, iCurCol) = CDbl(IIf(IsNull(oRec.Fields(cSourceCols.Current.SourceName).Value), "0", oRec.Fields(cSourceCols.Current.SourceName).Value))
                        Else
                            wsFB.Cells(iCurRow, iCurCol) = IIf(IsNull(oRec.Fields(cSourceCols.Current.SourceName).Value), "", oRec.Fields(cSourceCols.Current.SourceName).Value)
                        End If
                        If (cSourceCols.Current.datatype = "mixed") And (wsFB.Cells(iCurRow, iCurCol) <> "") Then
                            wsFB.Cells(iCurRow, iCurCol) = "'" & wsFB.Cells(iCurRow, iCurCol)
                        End If
                        On Error GoTo 0
                    End If
                    If (cSourceCols.Current.name = cstKeySalaire) Then
                        iColTotal = iCurCol
                    End If
                Loop Until Not cSourceCols.moveNext
    cSourceCols est un objet retournant la liste des colonnes du formulaire recevant les données avec le nom de chaque colonne ainsi que son équivalent par rapport aux colonnes du fichier texte ou csv.

    Mon problème étant qu'ils peuvent très bien importer un fichier csv, texte, etc (les séparateurs changent donc...)

    Merci encore

  5. #5
    Expert éminent sénior
    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
    Points : 11 272
    Points
    11 272
    Par défaut
    Une solution, à toi de l'adapter à ton contexte
    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
    32
    33
    Sub ConcatenationFichiers_CSVTAB_ADO()
    Dim Rc As ADODB.Recordset
    Dim cn As String, Chemin As String, Fichier As String
    Dim i As Long
    Dim Ar() As String
    Dim sTab As String
    Dim sCsv As String
     
        sTab = Chr(9)
        sCsv = Chr(59)
        Close
        Chemin = ThisWorkbook.Path & Application.PathSeparator & "TestCsvTab"
     
        Open ThisWorkbook.Path & Application.PathSeparator & "Compilation_CsvTab.txt" For Output As #1
            Fichier = Dir(Chemin & "\*.txt")
                Do While Fichier <> ""
                    cn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                         "Data Source=" & Chemin & ";" & _
                         "Extended Properties=""text;HDR=No;FMT=Delimited"""
     
                    Set Rc = New ADODB.Recordset
                    Rc.Open Source:="SELECT * FROM [" & Fichier & "]", ActiveConnection:=cn
                    If Not Rc.EOF Then
                        Ar = Split(Rc.GetString(, , sTab, vbCrLf, ""), sTab)
                        Print #1, Join(Ar, sTab);
                       ' Ou Print #1, Join(Ar, sCsv);
                    End If
                    Rc.Close
     
                    Fichier = Dir
                Loop
        Close #1
    End Sub

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    Merci de ta solution kiki, je la testerais en dernier recours (car j'avoue toujours avoir une préférence pour la gestion automatique des séparateurs, ce qui serait tout de même logique )

  7. #7
    Expert éminent sénior
    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
    Points : 11 272
    Points
    11 272
    Par défaut
    et alors elle est automatique cette sélection, mais il faudrait pour cela la tester

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    Oui, on peut dire qu'elle est automatique dans le sens ou on a préformater le fichier pour que ca aille bien, mais quand il y a des milliers d'enregistrements, ca va me faire perdre un peu plus de temps, voila ce qui me gêne légèrement (car sinon très bonne méthode)

    Après j'ai testé rapidement, mais faudrait que je l'adapte justement, et vu que je suis aux spécifications de l'application (réunion ce soir) je ne peux pas réellement y passre une heure ou deux pour l'adapter.
    Donc je pense le faire ce soir (tard) ou demain, donc pour le cas où si une autre personne, ou toi, aviez une méthode ne demandant qu'une ligne ou deux pour indiquer à ADO que c'est une tabulation et non un ";" le séparateur, je résoudrais bien plus rapidement (sans adaptation, sans perte de temps de traitement, etc) le problème.

    EDIT : j'ai quand même testé car bon tu me trouves une solution et j'y rechigne un peu... c'est quand mêem pas cool de ma part :!
    J'ai donc créé le repertoire (et le fichier) qui vont bien selon ton code (pour tester, après pas grand chose à modifier), mais il me sort une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rc.Open source:="SELECT * FROM [" & Fichier & "]", ActiveConnection:=cn
    La requête doit avoir au moins un champ de destination.

    Si t'avais une idée
    De plus, il n'y a pas de boucle pour parcourir le fichier et le print écrit sur le ligne active c ca ? (en gros on prend la ligne, on remplace les tab par des ;, et on reécrit par dessus)

  9. #9
    Expert éminent sénior
    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
    Points : 11 272
    Points
    11 272
    Par défaut
    Ici tout tourne sans aucun probleme, il me faudrait qqs fichiers de test ( sans données confidentielles ) à xx sans espace xx sans espace xx at xx point xx pour voir ces problemes

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    Vu que tu m'as dis que cela fonctionnait chez toi je suis allé voir le fichier texte... il était vide

    J'y ai donc mis des données, plus d'erreur (un début) mais il ne split pas le fichier (en gros il remplace rien :s)

    Je vais tester avec un fichier tout petit (une ligne), si ca marche pas je te l'envoi

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour Laville,

    A toutes fins utiles :

    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
    32
    33
    34
    35
    36
    37
    38
    Sub Separe()
     Dim text, Tableau() As String
     Dim i, pc, pcc As Integer
     Dim pl, dl, n As Long
     Dim sep
     
    'votre fichier .txt est ouvert en Feuil1
     Sheets("Feuil1").Activate
     '1ère ligne contenant vos données (vous pouvez modifier)
    pl = 1
    'dernière contenant vos données
    txt = Cells(pl, 1)
    If txt <> "" Then
    call "votre procédure suivante"
    'si la 2ème colonne n'est pas vide on considère que le fichier est en bonne et dûe forme, mais on peut faire le test sur plusieurs colonnes
    'sinon le séparateur est "Tabulation"
    Exit Sub
     
    sep = Chr(9)
    dl = Range("A65536").End(xlUp).Row
    'colonne de données (vous pouvez modifier)
    pc = 1
    'colonne à partir de laquelle les données séparées vont être copiées (vou pouvez modifier)
     
    For n = pl To dl
    'colonne à partir de laquelle les données séparées vont être copiées (vous pouvez modifier)
    'elle peut être la même que la colonne de données (celle-ce seront écrasées par la nouvelle valeur)
    pcc = pc
        text = Cells(n, pc)
        Tableau = Split(text, sep)
     
        For i = 0 To UBound(Tableau)
        Cells(n, pcc) = Tableau(i)
        pcc = pcc + 1
        Next i
    Next n
     
    End Sub

  12. #12
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    Seconde solution avec récupération en premier lieu du fichier, puis décomposition de chaque ligne en colonnes.

    Je te remercie jacques_jean pour ce bout de code, mais je pense que il est moins fiable de faire la séparation après qu'avant. Il est tout de même préférable de spliter avant le fichier car moins de contrôles, une seule fonction portable, pas de gestion des cellules, colonnes etc (donc plus robuste à mon avis, si je me trompe un coup de regle en bois sur les doigts ^^).

    Ou le mieux, c'est d'imposer un format au client (csv, c'est bien ) si c'est faisable .

    En tout cas qu'ADO ne gère pas le type de séparateurs.... moi ca me fait peur (au final il faut tout faire soit-même... vive le vba )

  13. #13
    Invité
    Invité(e)
    Par défaut
    Re Laville,

    Vous avez sans doute raison dans votre cas.

    J'ai bien écrit "à toutes fins utiles" car je ne savais pas ce que vous faisiez ensuite de ce fichier.

    Bon courage pour la suite.
    Amicalement.

  14. #14
    Expert éminent sénior
    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
    Points : 11 272
    Points
    11 272
    Par défaut
    Pas de réponse,ça marche ?
    Sinon juste pour info, qqs modifs et des perfs en hausse
    Mettre dans un Module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Declare Function GetTickCount Lib "kernel32" () As Long
    Dans ThisWorkbook
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    Sub ConcatenationFichiers_CsvTab_TAB_ADO()
    Dim Rs As ADODB.Recordset
    Dim cn As String, Chemin As String, Fichier As String
    Dim Ar() As String
    Dim sTab As String
    Dim sCsv As String
    Dim Debut As Long, Fin As Long
     
        Application.StatusBar = ""
        Debut = GetTickCount
     
        sTab = Chr(9)
        sCsv = Chr(59)
     
        Close
        Chemin = ThisWorkbook.Path & Application.PathSeparator & "TestCsvTab"
     
        Open ThisWorkbook.Path & Application.PathSeparator & "ConcatCsvTab_TAB.txt" For Output As #1
            Fichier = Dir(Chemin & "\*.txt")
                Do While Fichier <> ""
                    cn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                         "Data Source=" & Chemin & ";" & _
                         "Extended Properties=""text;HDR=No;FMT=Delimited"""
     
                    Set Rs = New ADODB.Recordset
                    Rs.Open Source:="SELECT * FROM [" & Fichier & "]", ActiveConnection:=cn
     
                    Do Until Rs.EOF
                        '   On tronçonne en 100 lignes pour éviter de créer des chaines énormes
                        '   pour de gros fichiers.Cela améliore les perfs de façon TRES notable
                        '   4.5 s au lieu de 108 s sur des fichiers bidons qui au total représentent
                        '   plus de 22000 lignes avec un gros fichier de 20000 lignes
                        Ar = Split(Rs.GetString(, 100, sTab, vbCrLf, ""), sTab)
                        Print #1, Join(Ar, sTab);
                    Loop
                    Rs.Close
                    Fichier = Dir
                Loop
        Close #1
        Fin = GetTickCount
        Application.StatusBar = Format((Fin - Debut) / 1000, "0.00")
    End Sub

  15. #15
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    jacques_jean ne t'excuse pas ou autre, j'apprécie que tu me proposes d'autres alternative, ta solution n'est effectivement pas la plus appropriée pour moi mais pourrait servir à d'autres.

    Sinon kiki, je t'ai envoyé mon fichier par mail normalement....

    J'ai mis ta nouvelle version (j'ai des progrès à faire niveau connaissance d'excel moi ) mais toujours le même soucis qui est que rien ne se passe.

    Mon fichier contient ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DPRH	RRH	ENTITE	UNITE	SERVICE	SERVICE UNITE	MATRICULE	CIVILITE	NOM	PRENOM	POSITION CADRE	SALAIREANNUEL	TAUX BONUS CIBLE ANNEE N-1

    Avec les tabulations qui vont bien ^^
    Il n'y a aucune erreur de la part d'excel, je vais espionner tout ca moi pour voir ce qu'il trafiquote et te tiens au courent

    EDIT : j'ai mis des msgbox avant le split, je n'ai qu'une colonne et mon fields contient bien ma première colonne. j'ai mis un espion sur la variable Ar, j'ai bien un tableau, pas de soucis, donc est-ce que cela planterais au niveau du print ? (que je connais pas trop j'avoue)

    Merci encore

    EDIT2 :

    Trouvé ^^, je suis allé voir ce que faisait le print et.... c'est pas lui qui causait soucis, mais.... si on joind les données avec le même séparateur, ca risque pas d'aller

    j'ai mis ca avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                        MsgBox Join(Ar, sCsv)
                        Print #1, Join(Ar, sCsv);
    Et j'obtiens bien désormais ce que je veux au niveau du msgbox, mais petit soucis... ca ne le met pas dans le fichier (ca veut pas écrire :s)
    Le problème est donc au niveau du print...

    On avance ^^

  16. #16
    Expert éminent sénior
    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
    Points : 11 272
    Points
    11 272
    Par défaut
    Rien reçu, ce qui serait intéressant ceux sont des fichiers qui posent problemes pas des fichiers nickels,dernierement j'ai eu à faire à des fichiers Csv pourris et via split ,replace et join fait un nettoyage qui rendait un fichier final exploitable

  17. #17
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    J'ai édité mon message précédent ^^' petit soucis au niveau de l'insertion dans le fichier au final....

    Je m'étais trop avancé :s

    Y a t'il une référence à activer pour utiliser print ?

    Merci encore

  18. #18
    Expert éminent sénior
    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
    Points : 11 272
    Points
    11 272
    Par défaut
    Visiblement tu ne veux pas coopérer.Pour moi c'est terminé

  19. #19
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    Si tu parles de ta dernière phrase, y avait-il une réponse à donner ?
    Pour moi, tu donnais en gros la réponse en proposant de faire un split etc pour nettoyer le fichier.
    Sois plus clair si je peux t'aider (t'es plus callé que moi mais bon, je suis développeur php à la base...)

    Sinon, pas grave tu m'as déja beaucoup aidé, je tenterais de résoudre le dernier problème cette nuit.

    Dès que je trouve je posterais la réponse ici (dans mon cas le fichier sera bien formatté, c'est une condition que nous avons donné, mais ca ne coute rien de gérer ce cas)

  20. #20
    Expert éminent sénior
    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
    Points : 11 272
    Points
    11 272
    Par défaut
    J'attendais des échantillons de fichiers, pour faire avancer le smilblick

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP & fichier texte] Probléme de retour chariot
    Par hunteshiva dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/10/2011, 11h36
  2. [XL-2003] Import fichier texte - problème avec séparateur milliers
    Par nmicoud dans le forum Excel
    Réponses: 4
    Dernier message: 15/04/2009, 13h48
  3. [VBA E07] Importation d'un fichier texte : problème FieldInfo
    Par Amanck dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/02/2009, 16h47
  4. Réponses: 4
    Dernier message: 28/11/2008, 12h23
  5. Réponses: 11
    Dernier message: 25/01/2007, 18h20

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