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 :

Numéro de facture qui s'incrémente sans être numéroAuto


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Par défaut Numéro de facture qui s'incrémente sans être numéroAuto
    Bonjour,

    Dans ma base de donnée de facturation je ne veux pas utiliser pour le numéro de facture le type de donnée numéroAuto parceque je veux avoir des numéros de facture qui se suivent sans trous dans la séquence. Pour avoir un numéro de facture qui s'incrémente j'ai fait une fonction qui va voir le numéro de facture au dernier enregistrement de la table facture et j'incrémente de 1 le numéro et je retourne cette valeur par cette fonction. Est-ce une bonne façon. Est-ce sécuritaire ..... MERCI

  2. #2
    Membre émérite Avatar de stigma
    Homme Profil pro
    Créateur jeux vidéo
    Inscrit en
    Octobre 2003
    Messages
    1 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Créateur jeux vidéo
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 130
    Par défaut
    C'est ainsi que je procède et je n'ai jamais eu de problème.

  3. #3
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Avril 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 160
    Par défaut N° de Facture incrémenté (Pas NuméroAuto)
    Bonjour Joseedaccess,

    Je comprends parfaitement ton souhait.
    J'ai récemment ouvert une discussion sous le titre:
    Récupérer la valeur d'un champ.

    Va peut-être voir la discussion, LedZepp m'avait donné un code et des explications très intéressantes avec la fonction Dmax.
    J'utilise ça et c'est impeccable.

    Pour mon information, j'aimerais aussi voir la fonction que toi tu as écrite.

    Merci

    Marcel

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Par défaut Voici la fonction qui incrémente de 1
    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
    Private Sub CtrlListeClient_AfterUpdate()
    Dim rep As integer
     
    ,,,,,,,,
     
    rep = ChercherLeNumFactureIncrementer
     
    Me.[#FACTURE] = rep
     
    End Sub
     
     
     
     
    Public Function ChercherLeNumFactureIncrementer() As Integer
     
    Dim dbsDardo As DAO.Database
    Dim rstFacture As DAO.Recordset
     
     
    Dim rep As Integer
     
     
     Set dbsDardo = CurrentDb
     Set rstFacture = dbsDardo.OpenRecordset("TFACTURE", dbOpenDynaset)
     
     
    If (rstFacture.EOF = True And rstFacture.BOF = True) Then
        rstFacture.AddNew
        rep = rstFacture![#FACTURE]
        ChercherLeNumFactureIncrementer = rep + 1
     Else
     rstFacture.MoveLast
     rep = rstFacture![#FACTURE]
     ChercherLeNumFactureIncrementer = rep + 1
     
       End If
       rstFacture.Close
       dbsDardo.Close
     
     
        Set rstFacture = Nothing
       Set dbsDardo = Nothing
     
     
    End Function

  5. #5
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Avril 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 160
    Par défaut Incrémenter sans N° Auto
    Merci pour la fonction Josee,

    Bien à toi,

    Marcel

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 127
    Par défaut
    Bonjour,

    En environnement multi-utilisateur il faut très rapidement "bloquer" le n° sinon il peut y avoir des doublons

    Pour cela j'ai une petite fonction GetNext(table,champ) que j'appelle directement dans mon INSERT

  7. #7
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Avril 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 160
    Par défaut Incrémenter un numéro
    Bonsoir Nico,

    Même si on a réglé la propriété indexée sur "oui sans doublons" ?
    Et cette petite fonction GetNext, on aimerait la connaître aussi.

    Merci

    Marcel

  8. #8
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 127
    Par défaut
    La fonction est juste un Dmax+1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    '18/3/09 incrément de 1 sur le champ de la table spécifiée
    Public Function Get_next(f As String, c As String, Optional n As Integer = 1) As Long
    If Not Mode_debug Then On Error GoTo err:
    100 Get_next = Nz(DMax(c, f), 0) + 1
    102 If Get_next < n Then Get_next = n
        Exit Function
    err: Call message("Erreur " & err.Number & "/" & Erl & " dans fonctions.get_next : " & err.DESCRIPTION)
    End Function
    Si 2 users demandent un n° en même temps un seul pourra sauver son en-tête, l'autre aura un bug plus ou moins propre et selon comme c'est codé il risque d'avoir déjà marqué le(s) BL correspondant(s) et/ou créé des lignes de facture (qui donc se retrouveront sur la facture du collègue )

    Si par exemple le programme prend son n° et ensuite demande une confirmation, le gus va justement faire sa pause
    Pendant ce temps un autre gars fait une facture (avec le même n° puisque le 1er n'a encore rien écrit !) et au retour de sa pause le 1er se fait jeter

    Inversement si le logiciel bloque le n° et le gus en pause ne finit jamais sa facture à la fin ça laisse un trou

    Une solution propre consiste à créer la facture en zone tampon et à la fin si tout ok faire une transaction globale d'écriture mais c'est lourd...

  9. #9
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    En fait, la solution "propre" à cette problématique, consiste à mettre en place une clé primaire ET une clé secondaire.
    La clé primaire de la facture est un numéro séquentiel de type n° automatique.
    Ainsi, aucun souci pour la création de la facture, et idem pour ses lignes.
    La clé secondaire, c'est un autre champ, indexé sans doublons, avec NULL (et Chaine Vide) interdits, que vous générez avec vos différentes fonctions, par exemple, sur un évènement ou sur une demande explicite [générer la facture]

    Ainsi, vous avez toujours un n° de facture propre [NumAuto], qui peut être masqué à l'utilisateur, et un Numéro de Facture sans risque de se marcher l'un sur l'autre en situation multi-utilisateur

    Attention à ne pas confondre
    - clé primaire => identifiant (système, pour le fonctionnement de la base)
    - clé étrangère => rappel de l'identifiant dans une autre table pur permettre la relation
    - clé secondaire => champ indexé sans doublons servant de deuxième identifiant (utilisateur, pour la visualisation, quand porteuse d'information ou de règles particulières, ou pour génération à des moments ne correspondant pas aux clés primaires)

  10. #10
    Membre émérite Avatar de stigma
    Homme Profil pro
    Créateur jeux vidéo
    Inscrit en
    Octobre 2003
    Messages
    1 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Créateur jeux vidéo
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 130
    Par défaut
    Je précise que je garde systématiquement un numéro auto dans mes tables de saisies en plus de mon ID créé par code. Celà me sert lorsque je dois basculer certaines tables sur un serveur SQL. J'utilise donc le NumAuto pour parfaire l'intégrité des données.

  11. #11
    Membre Expert
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Par défaut
    hello
    Voilà le VBA que mon client utilise depuis plusieurs années en multi utilisateurs sans problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub N°_de_proposition_Enter()
    If [N° de proposition] > 0 Then 'on ne fait rien il y a déja un numéro
    Else
        [N° de proposition] = DMax("[N° de proposition]", "Devis")+1
    End If
    End Sub
    J'ai depuis longtemps abandonné les numéros auto qui font une clef, c'est sûr, mais ne servent à rien.

    de plus, moi qui ai mélangé les clients et les fournisseurs, les factures/client et les factures/fournisseur, je peux attribuer mes numéros intelligement:
    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
    Private Sub payer_encaisser_Click()
    Dim limite As Long
    Dim sens As String
    limite = DLookup("valeur", "parametres", "variable = 'N°facture'")
    sens = DLookup("texte", "parametres", "variable = 'N°facture'")
    If N°facture > 0 Then 'on fait rien: il y a déja une valeur
    Else
        If Payer_encaisser = 0 Then
            N°facture = DMax("N°facture", "Factures", "Not N°facture" & sens & limite) + 1
            Fournisseur_Étiquette.Caption = "Client"
        Else
            N°facture = DMax("N°facture", "Factures", "N°facture" & sens & limite) + 1
            Fournisseur_Étiquette.Caption = "Fournisseur"
        End If
    End If
    End Sub
    Sécuritaire? de toute façon, c'est pas mon PC qui va subir le contrôle fiscal ! ! !
    moi, je veux pouvoir saisir la facture N°3 avant la factue N°, en échange, je dois faire attention!!

  12. #12
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Avril 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 160
    Par défaut Incrémenter un numéro de facture
    Bonjour à tous

    Citation Envoyé par nico84 Voir le message
    Si 2 users demandent un n° en même temps un seul pourra sauver son en-tête, l'autre aura un bug plus ou moins propre et selon comme c'est codé il risque d'avoir déjà marqué le(s) BL correspondant(s) et/ou créé des lignes de facture (qui donc se retrouveront sur la facture du collègue)
    Pas habitué de travailler en multi-utilisateurs, je ne vois pas bien comment un utilisateur pourrait écrire des lignes sur la facture du collègue dès lors que celui-ci a sauvé son entête. Si je me trompe, merci de m'éclairer.

    Pour obtenir une réponse objective, il est probablement utile de détailler la structures des tables liées.

    Il faut d'abord savoir que la législation sur les pièces comptables exige qu'elles soient datées et numérotées, et que la numérotation soit séquentielle. Elle ne peut donc comporter aucun trou.

    On a besoin d'une table "Facture" avec la dateFact, le N° de facture, les données du client, en principal.

    Une autre table "FactureLignes" avec entre autre: le montant de la ligne,
    le montant de la TVA sur la ligne, le code TVA, et bien sûr une clé étrangère (N° de facture) qui servira de lien avec la table "Facture"

    Un formulaire "FormFacture" source = Facture
    Un sous-formulaire "FormFactureLignes" source = FactureLignes
    Champs père et fils "N°de facture".
    Ce sont de requêtes et non des tables que j'utilise comme source

    Dès que mon entête est sauvegardée, il n'est pas possible que quelqu'un obtienne le numéro de ma facture et y écrive donc des lignes.
    Si je n'écris rien dans les lignes, j'aurai une facture numérotée, attribuée à un clients avec des totaux HTVA, TVA et TVAcomprise à 0.

    Si je supprime la facture, bien sûr que j'aurai un trou dans ma numérotation.
    Pourtant, avec une numérotation basée sur une fonction Dmax, ou autre, je pourrai récupérer ce numéro pour une facture suivante. La numérotation basée sur numéroauto, ne permet pas celà.

    Et enfin quelques habitudes que j'ai prises et leurs raisons.
    Je me débrouille très bien ainsi, mais si quelqu'un voit mieux, je n'hésiterai pas à considérer.

    Je crée mon identifiant qui sera le n° de facture de type Texte.
    Dans la fenêtre des relations, on ne peut pas appliquer l'intégrité référencielle, entre un champ numéroauto et numérique.

    Un numéro de facture de vente est créé par une concaténation:
    FV Année/N° , sur l'événement dateFact, puisque c'est la premier champ obligatoire à la création d'une facture.
    Année, récupéré avec DatePart,
    N°: premier numéro de l'année à 1000, considérant que je ne ferai jamais plus de 9999 facture dans la même année.

    Numéro de facture entrée: FE Année/N°
    Numéro d'extrait de compte (Financier) Fin N° du financier/N° de l'extrait.
    FV 2011/1612,
    FE 2011/1056,
    FIN 07/031,
    me semblent plus explicite que les 1 , 165 et 1623, lorsque je lis par exemple les lignes de ma déclaration TVA.


    J'utilise même cette méthode pour les lignes, mais là je laisse faire le numéroauto.

    FVLg/125 , FELg/65, ........

    Merci à tous pour cette discussion passionnante et l'utilité de tous les avis.

    Marcel.

  13. #13
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 127
    Par défaut
    Il faut d'abord savoir que la législation sur les pièces comptables exige qu'elles soient datées et numérotées, et que la numérotation soit séquentielle. Elle ne peut donc comporter aucun trou.
    J'essaie de respecter cette règle aussi mais je doute que des entreprises comme EDF, SFR ou Ebay la respecte car leurs n° semblent préfixés de mon n° de client et le reste ne se suit pas... Je me demande donc si elle est vraiment "exigée" ?

    Si je supprime la facture, bien sûr que j'aurai un trou dans ma numérotation.
    Pourtant, avec une numérotation basée sur une fonction Dmax, ou autre, je pourrai récupérer ce numéro pour une facture suivante.
    Sauf si dans cet intervalle un autre utilisateur a créé une facture

    je ne vois pas bien comment un utilisateur pourrait écrire des lignes sur la facture du collègue dès lors que celui-ci a sauvé son entête.
    Cela peut se produire si les lignes sont écrites avant l'entete ou si le n° est réservé en mémoire mais l'écriture globale seulement en fin de création...

    J'ai depuis longtemps abandonné les numéros auto qui font une clef, c'est sûr, mais ne servent à rien.
    +1

    J'utilise la méthode suivante qui ne m'a jamais créé ni trou ni doublon :
    - la fenêtre de création de facture ne peut être ouverte que par un utilisateur à la fois
    - la création des lignes de facture se fait dans une table intermédiaire liée à la frontale
    - quand tout est terminé et ok je crée l'entête puis les lignes

  14. #14
    Membre confirmé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Avril 2011
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 160
    Par défaut
    Sauf si dans cet intervalle un autre utilisateur a créé une facture
    Mais si, je pourrai récupérer le numéro annulé, même si un autre utilisateur a crée une facture dans cet intervalle.

    Voilà comment je procède:
    L'identifiant de ma facture est constitué par la concaténation
    FV Année/N°Simple

    C'est ce numéro simple qui doit être séquentiel
    De plus, chaque année, je veux commencer la numérotation à 1000
    et FV 2012/1000, sera bien différent de FV 2011/1000, et classé après.

    Je demande le N°Simple ainsi:
    (Comme je ne suis pas fort en code, c'est LedZepp qui me l'a donné)

    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
    Private Sub DateFact_Enter()
        Dim lgNumMax As Long
        Dim lgNumEnCours As Long
     
            ' Si l'enregistrement en cours est un nouvel enregistrement
            If Me.NewRecord = True Then
            ' Lit la valeur du champ N°Simple de l'enregistrement en cours
            ' et remplace Null par zéro
                lgNumEnCours = Nz(Me.[N°Simplel], 0)
                ' Si la valeur est zéro
                If lgNumEnCours = 0 Then
                ' Lire la valeur max du champ N°Simple
                    lgNumMax = Nz(DMax("[N°Simple]", "Facture", "[NumFact] Like 'FV " & Year(Date) & "/*'"), 1000)
                ' Affecter cette valeur + 1 au champ N°Simple
                Me.[N°Simple] = lgNumMax + 1
                End If
            End If
    J'écris aussi (Celle-là, je l'avais trouvée moi-même )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub DateFact_BeforeUpdate(Cancel As Integer)
        Année = DatePart("yyyy", DateFact)
        NumFact = "FV" & " " & Année & "/" & N°Simple
    end sub
    Le champ suivant c'est justement N°Simple, et c'est voulu.

    J'écris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub NumSimple_BeforeUpdate(Cancel As Integer)
        NumFact = "FV" & " " & Année & "/" & N°Simple
        NumFact.Enabled = False
    End Sub
    Qu'est-ce qui m'empêche quand j'arrive sur N°Simple de taper 1255 qui a été supprimé, même si le dernier Numéro de facture est FV 2011/1260
    Le NumFact sera concaténé FV 2011/1255, et la prochaine facture continuera à FV 2011/1261, grâce à la fonction Dmax.
    Rien ne m'empêche non plus de forcer le N°simple pour commencer l'année à 2000 par exemple

    LedZepp m'avait aussi suggéré le code pour obtenir le N°Simple sur l'événement Form_Dirty. Cela marche aussi bien et tellement bien que j'utilise cet événement pour les factures entrées et DateDoc_Enter pour les factures de vente.

    Bonne journée à tous

    Marcel

  15. #15
    Invité de passage
    Femme Profil pro
    Secrétaire
    Inscrit en
    Juillet 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Secrétaire

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1
    Par défaut
    Bonjour,

    Comment faire pour afficher le dernier numéro de facture encodé dans une table Access?

    Quelqu'un peut-il m'aider ?
    Merci

  16. #16
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 132
    Par défaut
    Bonjour,

    Via une requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Max(numerofacture) FROM tfacture;
    ou par une fonction qui fera le même appel dans la base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dmax("numerofacture","tfacture")
    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. [AC-2003] Créer numéro de facture qui se suivent
    Par yieiyiei dans le forum VBA Access
    Réponses: 5
    Dernier message: 29/03/2015, 18h11
  2. Réponses: 6
    Dernier message: 18/06/2013, 09h42
  3. un numéro qui s'incrémente dans une requette
    Par consuling dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/03/2009, 15h04
  4. numéro qui s'incrémente sur un état
    Par marcuscircus dans le forum IHM
    Réponses: 24
    Dernier message: 22/07/2008, 13h26
  5. Incrémentation du numéro de facture
    Par Toison dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/05/2008, 15h09

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