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

VBA Access Discussion :

Importer 60 000 fichiers .txt dans une table [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut Importer 60 000 fichiers .txt dans une table
    Bonjour à tous,

    Je souhaiterai connaître le moyen le plus fiable et et le plus rapide pour importer environ 60 000 fichiers au format .txt dans une table Access.

    Ces 60 000 fichiers sont issus d'une requête BO, qui tourne en boucle via VBA Excel (une variable change à chaque actualisation à partir d'une liste dans Excel), présents dans un dossier unique.

    Ces fichiers font 1 seule ligne (+1 ligne d'en-tête) et pèsent 1 Ko.

    Actuellement, j'importe ces fichiers avec du VBA Excel à partir d'une boucle qui balaye tous les fichiers du dossier puis utilise "docmd.transferspreadsheet". Chaque fichier est importé un à un dans ma table.

    Procédure assez longue (plusieurs heures) et plutôt instable.

    Il y a t il un autre moyen plus simple auquel je n'aurais pas pensé ? Compiler d'abord ces .txt en 1 fichier Excel puis importer ensuite ?

    Merci pour votre aide !

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    As-tu regardé comment travailler sur des fichiers textes en VBA : ici ? Cela va plus vite qu'avec un fichier Excel...

    @+.

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 597
    Points
    19 597
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Peux-tu nous donner une idée du code VBA qui importe ces données sous Excel ?

    Oui, tu peux compiler ces fichiers txt dans une seule feuille Excel, à condition que les données soient de même nature. Puis importer directement la feuille dans une table Access.

    Ou alors tout faire sous Access, en important directement les fichiers txt dans la table à partir de code VBA exécuté depuis Access en suivant le lien donné par Zoom61 ?

    A+

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Voici comment j'importe mes fichiers .txt :
    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
    Sub ImportationAccess()
     
    Const acImport = 0
    Const acSpreadsheetTypeExcel9 = 8
    Dim objaccess
     
    CheminBDDAccess = ThisWorkbook.Worksheets(1).Cells(6, 6)
    TableAccess = ThisWorkbook.Worksheets(1).Cells(7, 6)
    DossierExtractsBO = ThisWorkbook.Worksheets(1).Cells(2, 6)
    Fichier = Dir(DossierExtractsBO)
     
    Do While Fichier <> ""
     
    Set Wb = Workbooks.Open(DossierExtractsBO & Fichier)
    Set objaccess = CreateObject("Access.Application")
     
            objaccess.Visible = True
            objaccess.OpenCurrentDatabase CheminBDDAccess ' mon fichier de base de données
            'si ma table existe, alors supprimer les données : à faire
            objaccess.DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, TableAccess, DossierExtractsBO & Fichier, True ' fichier à importer
     
    Wb.Close False
     
    Fichier = Dir
     
    Loop
     
    End Sub
    Comment puis-je faire en faisant du tout Access ?

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 597
    Points
    19 597
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Quel est le délimiteur contenu dans tes fichiers txt, pour les champs de la table Access ?

    Sinon, depuis Access, tu peux peut-être essayer ceci :

    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
    Function ImportationAccess(TableAccess As String, DossierExtractsBO As String)
    Const acImport = 0
    Const acSpreadsheetTypeExcel9 = 8
     
    Fichier = Dir(DossierExtractsBO)
     
    Do While Fichier <> ""
     
        'si ma table existe, alors supprimer les données : à faire
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, TableAccess, DossierExtractsBO & Fichier, True ' fichier à importer
     
    Fichier = Dir
     
    Loop
     
    End Function
    A+

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Mon séparateur est une tabulation.

    Pour ton code, j'ai juste à le coller dans un module ? Si c'est une fonction comment je l'utilise ?

    Dsl, le VBA Access n'est pas vraiment mon truc

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 597
    Points
    19 597
    Billets dans le blog
    65
    Par défaut
    Salut,

    Oui tu le colles dans un module indépendant et après tu l'exécutes sur un évènement (par exemple le clic d'un bouton de commande dans un formulaire).

    Autre possibilité, dans la fenêtre d'exécution accessible depuis l'éditeur VBA (depuis un module) et tu tapes ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ? ImportationAccess("NomTable", "c:\Dossier\")
    Où "NomTable" désigne le nom de ta table,
    et "c:\Dossier\" désigne ton dossier contenant tes fichiers excel.

    A+

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Attention mes fichiers sont des .txt !

    Vous avez raison, j'ai essayé de passer par du tout Access avec le code suivant (dans un module Access) :
    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
    Sub ImportationAccess()
     
    Dim DossierExtractsBO As String, fichier As String
    DossierExtractsBO = "P:\Contrôle groupe\02 - TBE Tableaux de bord Entreprise\09 - Taux de maintien\Méthode 2013\Outils\extracts\"
     
     
    Const acImport = 0
    Const acSpreadsheetTypeExcel9 = 8
     
    fichier = Dir(DossierExtractsBO)
     
    Do While fichier <> ""
     
     
        DoCmd.TransferText acImportDelim, "modele", "compil2", DossierExtractsBO & fichier, True ' fichier à importer
     
    fichier = Dir
     
    Loop
     
    End Sub
    La macro plante au bout de 10 057 importation (plantage 2 fois), pourquoi ?
    J'ai pas gardé le msg d'erreur mais ça parlait de Microsoft Jet...

  9. #9
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Est-que c'est toujours sur le même fichier ? Il est peut-être différent des autres ?

    @+.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Non exactement le même fichier. Même nombre de colonne (avec le même type de données) et le même nombre de lignes (1 pour l'entête et 1 pour les données)

  11. #11
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    N'aurait-il pas un caractère spécial ?

    @+.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Non, pas de caractère spécial...

    je l'ai relancé, elle a planté exactement au même endroit avec le message suivant :

    "Erreur d’exécution 3310
    Cette propriété n'est pas prise en charge par les sources de données externes ou pour les bases de données générées avec une version antérieur de Microsoft jet"

    késako ?

    J'arrive pourtant à importer à la main dans ma table le fichier qui semble bloquer...

  13. #13
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Rapheb,

    Je me permets de m'immiscer...

    Ne serait-il pas judicieux d'intervenir en amont du traitement en regroupant tous les fichier .txt en un seul, via un script .bat ?

    Sachant que, sous DOS :
    Citation Envoyé par Aide DOS : copy /?
    Pour concaténer des fichiers, spécifiez un seul fichier cible et plusieurs
    fichiers source (avec caractères génériques ou fichier1+fichier2+fichier3).
    ==> donc :
    • copy source*.txt cible.txt ==> génère un seul fichier cible.txt contenant l'ensemble des fichiers .txt dont le nom commence par "source" ;
    • copy source1.txt + source2.txt + toto1.txt + toto2.txt cible.txt ==> génère un seul fichier cible.txt contenant l'ensemble des fichiers .txt spécifiés.


    Ensuite, seul le fichier cible.txt reste à traiter directement dans Access sans passer par la case Excel.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Plus on s’immisce mieux c'est !

    C'est un travail pour le boulot, la commande cmd n'ai pas autorisé....
    Par contre je pense aussi qu'il vaut mieux compiler avant d'importer. j'ai trouvé un bout de code sur le forum :

    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
    46
    47
    48
    Sub compiltxt()
     
     
    'Nécessite d'activer la référence
    '"Microsoft ActiveX Data Objects 2.x Library"
    '
    Dim Rc As ADODB.Recordset
    Dim cn As String, Chemin As String, Fichier As String, x As String
    Dim i As Long
     
    'répertoire contenant les fichiers texte
    Chemin = "P:\Contrôle groupe\02 - TBE Tableaux de bord Entreprise\09 - Taux de maintien\Méthode 2013\Outils\extracts\"
     
    'Ouvre un nouveau fichier Texte pour compiler les données
    '! attention à ne pas le placer dans le meme repertoire que les autres fichiers...
    Open "P:\Contrôle groupe\02 - TBE Tableaux de bord Entreprise\09 - Taux de maintien\Méthode 2013\Outils\compilation.txt" For Output As #1
     
        'boucle sur l'ensemble des fichiers txt
        Fichier = Dir(Chemin & "\*.txt")
        Do While Fichier <> ""
     
            '----- requète pour récupérer le contenu du fichier txt
            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
     
            '--- 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(adClipString, -1, ";", vbCrLf, "")
            Rc.Close
            x = ""
            '-------------------------
     
        Fichier = Dir
        Loop
     
    'Fermeture du fichier Compilation
    Close #1
     
    MsgBox "Opération terminée"
    End Sub
    2 Problèmes :
    - le code importe aussi à chaque fois la ligne d'en-tête
    - le code saute une ligne entre chaque importation

    J'ai un peu du mal avec le code posté.. peut-on le modifier pour palier à mes 2 problèmes ?

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par zoom61 Voir le message
    N'aurait-il pas un caractère spécial ?

    @+.
    Par contre j'ai des fichiers textes vide (j'ai que ma ligne d'entête), ça bloque p-e là, comment contourner le problème ?

  16. #16
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 597
    Points
    19 597
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Beaucoup d'avis différents, donc je préfère reprendre ce que tu as fait.

    Il existe dans access différentes méthodes pour mettre à jour une table à partir de fichiers txt : Tu peux le faire par exemple avec les bibliothèques DAO ou ADO et donc inutile de compiler d'abord tes fichiers texte:

    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
    46
    47
    48
    49
    50
    51
    52
    53
    Function transfert(TableAccess As String)
     
    'Nécessite d'activer la référence
    '"Microsoft ActiveX Data Objects 2.x Library"
    '
    Dim Rc As ADODB.Recordset, RcTb As ADODB.Recordset, oCNX As ADODB.Connection
    Dim cn As String, Chemin As String, Fichier As String, x As String, t As Variant
    Dim i As Long
     
    'répertoire contenant les fichiers texte
    Chemin = "P:\Contrôle groupe\02 - TBE Tableaux de bord Entreprise\09 - Taux de maintien\Méthode 2013\Outils\extracts\"
     
    'Ouvre un nouveau fichier Texte pour compiler les données
    '! attention à ne pas le placer dans le meme repertoire que les autres fichiers...
    'Open "P:\Contrôle groupe\02 - TBE Tableaux de bord Entreprise\09 - Taux de maintien\Méthode 2013\Outils\compilation.txt" For Output As #1
     
        'boucle sur l'ensemble des fichiers txt
        Fichier = Dir(Chemin & "\*.txt")
     
        Set oCNX = CurrentProject.Connection
        Set RcTb = New ADODB.Recordset
        RcTb.Open "SELECT * FROM [" & TableAccess & "]", oCNX, adOpenStatic, adLockOptimistic
     
        Do While Fichier <> ""
     
            '----- requète pour récupérer le contenu du fichier txt
            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
     
            RcTb.AddNew
               For i = 0 To Rc.Fields.Count - 1
                  RcTb.Fields(i) = Rc.Fields(i)
               Next i
            RcTb.Update
     
            Rc.Close
            'x = ""
            '-------------------------
     
        Fichier = Dir
        Loop
     
    RcTb.Close
    Set RcTb = Nothing
     
    Set oCNX = Nothing
     
    MsgBox "Opération terminée"
     
    End Function
    D'autre part es-tu sûr que le recordSet Rc contient bien autant de champs que de colonnes dans le fichier txt ?
    Autrement dit, as tu bien autant de champs dans ton Rc que de colonnes dans ton fichier Txt ? j'ai l'impression qu'en réalité tu n'as qu'1 seul champ qui contient à chaque fois la ligne entière du fichier texte

    C'est pour cela que j'avais essayé de spliter la chaîne en utilisant comme délimiteur le caractère de tabulation (chr(9)).

    Pour finir j'ai décidé de te faire confiance...

  17. #17
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Je pense qu'il est plus rapide de fusionner les fichiers textes en un seul, puis d'importer le nouveau fichier.

    Voici un petit exemple à adapter à ton contexte.
    C'est de la pure manipulation de fichier texte en VBA.
    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
    46
    47
    48
    49
    50
    51
    52
    Sub MergeRPTFiles()
    Dim iFich As Integer          ' numéro de fichier
    Dim iFichSortie As Integer    ' numéro de fichier
    Dim sDossier As String, sFichierSortie As String
    Dim sFichier As String, lgLoopCount As Long
    Dim sLigne As String
     
    sDossier = "C:\Mes Documents\FichiersTxt"
    sFichierSortie = "RPTall.txt"
     
    ' Détruire le fichier de sortie si existe
    If Len(Dir(sDossier & "\" & sFichierSortie)) > 0 Then Kill sDossier & "\" & sFichierSortie
     
    ' Ouvrir le fichier de sortie
    iFichSortie = FreeFile()
    Open sDossier & "\" & sFichierSortie For Output As #iFichSortie
     
    sFichier = Dir(sDossier & "\RPT*.txt")
    Do While Len(sFichier) > 0
       ' Ne pas ouvrir le fichier que l'on est en train d'écrire
       If sFichier = sFichierSortie Then GoTo FichierSuivant
     
       lgLoopCount = lgLoopCount + 1
     
       ' Ouvrir le fichier
       iFich = FreeFile()
       Open sDossier & "\" & sFichier For Input As #iFich
     
       ' Ligne 1
       Line Input #iFich, sLigne
       ' Ecrire ligne 1 seulement pour le 1er fichier
       If lgLoopCount = 1 Then
          Print #iFichSortie, sLigne
       End If
     
       ' Ligne 2
       Line Input #iFich, sLigne
       ' Ecrire ligne 2
       Print #iFichSortie, sLigne
     
       ' Fermer le fichier
       Close #iFich
     
    FichierSuivant:
       ' Fichier suivant
       sFichier = Dir()
    Loop
     
    ' Fermer le fichier
    Close iFichSortie
     
    End Sub
    Le code fusionne tous les fichier RPT*.txt du dossier 'C:\Mes Documents\FichiersTxt' dans le fichier RPTall.txt.
    Pour le premier fichier traité, il recopie les lignes 1 et 2.
    Pour les autres il ne recopie que la deuxième ligne.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Import d'un fichier txt dans une table
    Par Tybaal dans le forum Toad
    Réponses: 0
    Dernier message: 21/06/2013, 10h20
  2. [AC-2000] Problème Import fichier .txt dans une table Access
    Par sylviobarca dans le forum VBA Access
    Réponses: 3
    Dernier message: 30/12/2010, 17h17
  3. importer un fichier .txt dans une table
    Par caracas dans le forum Administration
    Réponses: 2
    Dernier message: 31/07/2007, 21h19
  4. Réponses: 8
    Dernier message: 28/12/2006, 14h18
  5. importation d'un fichier txt dans une table
    Par pierre.egaud dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/09/2006, 16h26

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