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

Débutez Discussion :

Importer plusieurs fichiers txt de structures differentes dans une même table SAS


Sujet :

Débutez

  1. #1
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut Importer plusieurs fichiers txt de structures differentes dans une même table SAS
    Bonjour à tous,

    Je vais essayer de simplifier les choses en donnant de petits exemples.

    fichier1
    ident1 nom prénom adr1 adr2 adr3 email telephone

    fichier2
    ident2 prenom adr2 adr3 adr4


    fichier3
    ident3 nom adr4 telephone


    je veux importer ces trois fichiers dans une même table ?
    sachant que chanque fichier a un ident unique!!!
    mes fichiers se trouvent dans z:\taf\fichier1...........etc

    Avant j'importait chaque fichier dans une table puis à la fin je fais un data set pour fusionner mais ça me prend au moins trois jours car j'ai entre 60 et 70 fichiers!!!

    Je vous remercie vraiment pour votre réponse.

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Est-ce qu'il y a un moyen de les différencier à la 1e ligne ou par leur nom ?

  3. #3
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    Oui ils ont des noms de fichiers differents, chaque fichier commence par FXX,
    ils ont tous un ident distinct, mais ils ont certains champs identiques comme nom, prenom, adr1, adr2, mais d'autres champs ne le sont pas, comme téléphone, il y est dans un fiichier mais pas l'autre, c'est pour cela que j'arrive pas à écrire ma proc, à cause de ces champs qui sont différents!!!!

  4. #4
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Oui, j'avais bien compris.
    Ce que je voulais dire, c'est : est-ce qu'il y a un moyen de savoir, avec le nom du fichier ou avec sa 1e ligne, quels sont les champs à l'intérieur ? (Genre les fichiers avec le n° de téléphone ont un nom qui commence par TFXX, ou les fichiers ont tous une ligne d'en-tête.)

  5. #5
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    au fait les fichiers ont tous une entête, par contre, pas forcément dans le même ordre, c'est à dire si le nom est dans la colonne 2 du fichier 1 , elle se trouve dans la colonne 6 par exemple dans le fichier2.

  6. #6
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Une solution serait de faire avec la proc IMPORT (qui détectera automatiquement les noms des variables) à l'intérieur d'une boucle macro, et ensuite un empilement (une étape DATA avec un SET ou des proc APPEND dans chaque passage de la boucle macro) des tables obtenues.
    Pour savoir combien de fichiers sont à importer et quels sont leurs noms, tu fais une étape DATA avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INFILE "c:\mon rép\FXX*.txt" FILENAME=fic ;
    Attention à déclarer la variable FIC avec un LENGTH assez long et à la dupliquer (elle est temporaire) dans une vraie variable !
    En gros ça donne
    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
    DATA work.fichiers ;
      INFILE "c:\mon rép\FXX*.txt" FILENAME=fic ;
      INPUT ;
      LENGTH fic fichier $ 30000 ;
    RUN ;
    PROC SORT DATA=work.fichiers NODUPKEY ;
      BY fichier ;
    RUN ;
    DATA _NULL_ ;
      SET work.fichiers ;
      CALL SYMPUTX(CATS("fic",_N_), fichier) ;
      CALL SYMPUTX("nbFic", _N_) ;
    RUN ;
    %DO i=1 %TO &nbFic ;
      PROC IMPORT DATAFILE="&&fic&i" OUT=work.sortie&i ;
        GETNAMES=YES ;
      RUN ;
    %END ;
    Je n'ai rien testé de ce code, j'espère qu'il fonctionne ou au moins te montre quelle est mon idée. Peut-être qu'il y a plus simple.
    Bon courage.

  7. #7
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    merci beaucoup,

    Je vais essayer de comprendre puis je le teste!!!!

    Bon courage à vous aussi!

  8. #8
    Membre expérimenté
    Avatar de MEGAMIND2
    Homme Profil pro
    Paris
    Inscrit en
    Janvier 2011
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 029
    Points : 1 489
    Points
    1 489
    Par défaut
    Je ne sais pas comment tu feras pour compiler tous les fichiers si les champs ne sont pas ordonnés de la même manière dans toutes les tables.

  9. #9
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Citation Envoyé par MEGAMIND2 Voir le message
    Je ne sais pas comment tu feras pour compiler tous les fichiers si les champs ne sont pas ordonnés de la même manière dans toutes les tables.
    La proc APPEND ou l'étape DATA avec un SET à plusieurs tables s'occupent normalement des raccords... en espérant que les variables qui se correspondent s'appellent toujours pareil !

    Dis-moi Brice, j'ai rêvé ou tu avais proposé quelque chose de similaire il y a une dizaine de jours environ ?

  10. #10
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    J'ai pas trop compris le code mais je l'ai tester tout de même pour essayer de comprendre au fil des résultats mais il ne marche pas!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DATA work.fichiers ;
      INFILE "Q:\ASSIA\test\f01.txt" FILENAME=fic ;
      INPUT ;
      LENGTH 
      fic   fichier  $ 30000 ;
      RUN ;
     
    /* les deux variable fic et fichier correspondent à quoi quand j'éxecute ce petit programme la table fichier est vide , pourtant j'ai bien mais le chemin et le nom de mon premier fichier f01.txt  */
    le reste aussi j'ai du mal à comprendre!!!!

  11. #11
    Membre expérimenté
    Avatar de MEGAMIND2
    Homme Profil pro
    Paris
    Inscrit en
    Janvier 2011
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 029
    Points : 1 489
    Points
    1 489
    Par défaut
    C'est le programme dont parle Olivier:

    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
    44
    45
     
    %let dir=C:\Users\Beare\Desktop\FIC;                        /* faut renseigner ici le repertoire ou se trouve tes fichiers*/
    /*1 - récupérer l'ensemble des fichiers d'un dossier*/
    DATA list_fich (keep=fichiers);
    length fichiers $1200056;
    	fich=filename('fich','&dir.');
    	did=dopen('fich');
    	nb_fich=dnum(did);
    	do i=1 TO nb_fich;
    		fichiers=dread(did,i);
    		output;
    	end;
    	rc=dclose(did);
    run;
     
    /*2 - Mettre dans des macros-variables (fic_1 à fic_n) les noms de fichiers*/
    DATA _null_; SET list_fich;
    call symput('fic_'||LEFT(trim(_n_)),fichiers);
    call symput('nb',_n_);
    run;
    %put _user_;
     
    /* Cette macro te permet juste de comprendre ce qui est stocké dans fic_&i et nb*/
    %macro test;
    %do i=1 %TO &nb.;
    %put &&fic_&i.;
     
    %end;
    %put nombre de fichiers=&nb.;
    %mend;
    %test;
     
     
     
    %MACRO IMPORT;
    %do i=1 %TO &nb.;
     
    PROC IMPORT DATAFILE="%BQUOTE(&dir.\&&fic_&i.)" OUT=sortie&i ;
        GETNAMES=YES ;
      RUN ;
     %END;
    /*COmpilation de tous les fichiers*/
    DATA fichier_resultat ; SET %DO i=1 %TO &nb.; sortie&i %END;; RUN;
    %MEND;
    %IMPORT;

  12. #12
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    J'avais commis deux petites bêtises dans mon code : 1) j'ai oublié de copier FIC dans FICHIER (la 1ere est temporaire à l'étape DATA, il faut donc la sauvegarder) et 2) le LENGTH doit se trouver avant l'INFILE.
    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
    %MACRO import ;
    DATA work.fichiers ;
      LENGTH fic fichier $ 30000 ;
      INFILE "c:\temp\F*.txt" FILENAME=fic ;
      INPUT ;
      fichier = fic ;
    RUN ;
    PROC SORT DATA=work.fichiers NODUPKEY ;
      BY fichier ;
    RUN ;
    DATA _NULL_ ;
      SET work.fichiers ;
      CALL SYMPUTX(CATS("fic",_N_), fichier) ;
      CALL SYMPUTX("nbFic", _N_) ;
    RUN ;
    %DO i=1 %TO &nbFic ;
      PROC IMPORT DATAFILE="&&fic&i" OUT=work.import&i REPLACE ;
        GETNAMES=YES ;
      RUN ;
    %END ;
    DATA work.resultat ;
      SET %DO i=1 %TO &nbFic ;
                work.import&i
    	  %END ;
      ;
    RUN ;
    %MEND import ;
    %import ;
    L'idée du code c'est : 1) on lit tous les fichiers sans importer les données, juste pour avoir leurs noms. Brice fait ça autrement, avec des fonctions DOPEN et DREAD ; 2) on dédoublonne éventuellement (avec ma méthode) pour ne garder qu'une fois chaque nom de fichier à importer ; 3) on met ces noms dans des macro-variables ; 4) on boucle sur la proc Import ; 5) on empile les tables obtenues au fil des imports avec une étape DATA.

  13. #13
    Membre expérimenté
    Avatar de MEGAMIND2
    Homme Profil pro
    Paris
    Inscrit en
    Janvier 2011
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 029
    Points : 1 489
    Points
    1 489
    Par défaut
    Ne dis pas qu'avec tout ça, tu n'as rien compris ou ça ne marche pas Tassia

  14. #14
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    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
    /*1) on lit tous les fichiers sans importer les données, juste pour avoir leurs noms*/
     
    %MACRO import ;
    DATA work.fichiers ;
      LENGTH fic fichier $ 30000 ;
      INFILE "Q:\ASSIA\test\f01.txt" FILENAME=fic ;  /* Fic reçoit le nom du fichier*/
      INPUT ;
      fichier = fic ;/*fichier reçoit le nom du fichier qui est déja dans fic*/
    RUN ;
     
     
    /*2) on dédoublonne éventuellement pour ne garder qu'une fois chaque nom de fichier à importer */
    PROC SORT DATA=work.fichiers NODUPKEY ;
      BY fichier ;
    RUN ;
     
     
    /*3) on met ces noms dans des macro-variables ; */
    DATA _NULL_ ;
      SET work.fichiers ;
      CALL SYMPUTX(CATS("fic",_N_), fichier) ;
      CALL SYMPUTX("nbFic", _N_) ;
    RUN ;
     
     
    /*4) on boucle sur la proc Import ;*/
    %DO i=1 %TO &nbFic ;
      PROC IMPORT DATAFILE="&&fic&i" OUT=work.import&i REPLACE ;
        GETNAMES=YES ;
      RUN ;
    %END ;
     
     
    /*5) on empile les tables obtenues au fil des imports avec une étape DATA. */
    DATA work.resultat ;
      SET %DO i=1 %TO &nbFic ;
                work.import&i
    	  %END ;
      ;
    RUN ;
    %MEND import ;
    %import ;


    Merci beaucoup, avec vos explications j'ai pu comprendre ce que fais cette macro, par contre je l'ai éxécutée et je n'ai pas de table resultat dans la work, en plus, dans le journal je n'ai pas d'erreur, du coup je ne sais ce qui se passe!!!!


    j'ai créée deux fichiers juste pour tester f01 et f02

    /f01
    ident2;nom;prenom;adr2;cp;ville;tel
    02;mehdi;teffah;16 avenue du bon ;95300;athis;0669521737
    09;nicole;petit;20 rue albert thomas;75010;paris;0169521425


    /*f02
    ident2;nom;prenom;adr2;cp;ville;email
    11;pierre;cambon;16 avenue du quebec;91400;courtaboeuf;cambon@laposte.net
    12;sophie;sergeon;20 rue des abeilles;75010;paris;sophie.sergeon@yahoo.fr


    en tout cas la macro import est bien créée!

  15. #15
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Dans la 1e étape DATA il faut utiliser un joker (*) pour lui dire de lire TOUS les fichiers et ainsi collecter TOUS leurs noms.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      INFILE "Q:\ASSIA\test\f*.txt"

  16. #16
    Membre expérimenté
    Avatar de MEGAMIND2
    Homme Profil pro
    Paris
    Inscrit en
    Janvier 2011
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 029
    Points : 1 489
    Points
    1 489
    Par défaut
    Mais pourquoi elle a modifié la macro

  17. #17
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    MEGAMIND2 Je n'ai pas changé la procédure

    Merci Olivier pour le joker, waou je suis vraiment débutante en SAS!!!!

    Je vous souhaite un excellent long week end et reposez vous bien!!!!

    j'aurais d'autres questions à la rentrée!

  18. #18
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    bon week end à vous aussi MEGAMIND2 et merci pour tout!

  19. #19
    Membre expérimenté
    Avatar de MEGAMIND2
    Homme Profil pro
    Paris
    Inscrit en
    Janvier 2011
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 029
    Points : 1 489
    Points
    1 489
    Par défaut
    ça marche finalement ou pas??
    Merci à toi aussi bon wk!!

  20. #20
    Membre régulier
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 198
    Points : 94
    Points
    94
    Par défaut
    NAN NAN ça ne marche pas, j'étais un peu trop rapide,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /*4) on boucle sur la proc Import ;*/
    %DO i=1 %TO &nbFic ;
      PROC IMPORT DATAFILE="&&fic&i" OUT=work.import&i REPLACE ;
        GETNAMES=YES ;
      RUN ;
    %END ;

    cette petite procédure importe toutes les données de mon fichier dans la même colonne, en plus il manque des champs d'entête!!!!

    car mon fichier est un fichier TXT il faut je pense rajouter le dbms , moi si je le fais en dehors de la macro ça marche, mais dés que je l'insere dans la macro ça ne marche pas :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    PROC IMPORT OUT= work.import1
    DATAFILE= "Q:\ASSIA\test\f01.txt" 
    DBMS=DLM 
    REPLACE; 
    DELIMITER='3B'x; /* Délimiteur point-virgule */ 
    GETNAMES=YES; /* Prendre la première ligne pour les titres */ 
    DATAROW=2; /* Prendre les données à partir de la 2e ligne */ 
    RUN;

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

Discussions similaires

  1. [AC-2010] Import plusieurs fichiers txt depuis ftp
    Par chris_firenze dans le forum VBA Access
    Réponses: 5
    Dernier message: 03/06/2013, 19h04
  2. [XL-2010] Macro importer des fichiers txt d'un dossier dans des fichiers excel
    Par ccadic dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/04/2013, 10h21
  3. [OpenOffice][Base de données] Récupérer les données d'un fichier .txt et les insérer dans une base de données
    Par frack dans le forum OpenOffice & LibreOffice
    Réponses: 9
    Dernier message: 05/08/2009, 10h52
  4. Réponses: 2
    Dernier message: 20/07/2008, 11h29
  5. Importer fichiers txt d'un dossier dans une table
    Par avantoux dans le forum Access
    Réponses: 16
    Dernier message: 28/12/2005, 12h13

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