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 :

Erreur EXCEL VBA 91.


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 9
    Par défaut Erreur EXCEL VBA 91.
    Bonjour à tous !

    Je vais faire concret, je n'y connais rien au Visual Basic ! Je sais bien utilisé EXCEL, mais quand j'ai une erreur VBA je suis perdu, mais il y a un autre problème. Je dois rendre mon dossier au travail lundi sans faute. Et le problème c'est que je ne peux pas finir mon dossier avec cette erreur !

    C'est pourquoi je m'en remet à vous. Voici la ligne de code concernée affichée par EXCEL lorsque je clique sur "débogage". Je vous met la ligne concernée en rouge.

    Le message d'erreur complet est "Variable objet ou variable de bloc with non définie".

    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
    ' Mise en couleur des cellules des feuilles de risques en aval
    Public Sub setSeverity(CodeNameFeuilleActive As String, theColor As Long)
        Dim Start As Boolean, i As Integer, CodeNameFeuilleRef As String, lastColorIndex As Long, FeuilleRef As Worksheet, Ref As Range, IntitSynthese As String, lastPattern As Long
        ' Par sécurité :
            With ActiveCell
                gRow = .Row
                gCol = .Column
            End With
        Application.ScreenUpdating = False
        Start = False
            For i = 1 To 4
                CodeNameFeuilleRef = "risk_" & i
                If CodeNameFeuilleRef = CodeNameFeuilleActive Then Start = True
                Set FeuilleRef = Conversion(ThisWorkbook, CodeNameFeuilleRef)
                Set Ref = FeuilleRef.Cells(gRow, gCol)
                If Not Start Then
                    lastColorIndex = Ref.Interior.ColorIndex
                    lastPattern = Ref.Interior.Pattern
                End If
                If Start Then
                    FeuilleRef.Unprotect
                    Ref.Interior.ColorIndex = Range(CodeNameFeuilleActive).Cells(theColor, 1).Interior.ColorIndex
                    Ref.Interior.Pattern = Range(CodeNameFeuilleActive).Cells(theColor, 1).Interior.Pattern
                        If DRisques.CBRisqueImportant Then
                            Ref.Interior.Pattern = Notice.Range("RisqueNonRenseigné").Offset(DRisques.LNiveau.ListIndex, 1).Interior.Pattern
                        End If
                    Protection FeuilleRef
                End If
            Next
    Merci beaucoup à vous ! N'hésitez pas à demander si vous avez besoin d'autres informations.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je n'ai pas Excel 2016 et ignore ce que fait cette ligne de code avec cette version :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set FeuilleRef = Conversion(ThisWorkbook, CodeNameFeuilleRef)
    Que fait-elle ?

    A moins que tu n'appelles là une procédure de ton cru. Si oui : montre son code

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Peut-on voir la procédure "conversion" également ? Ainsi que l'appel de ta procédure setSeverity (pour visualiser les paramètres que tu as fournis)

    On dirait que FeuilleRef est Nothing .... mais sans éléments complémentaires on ne peut pas être plus fiable et précis.

    Tu peux déjà tester ce que contient la variable FeuilleRef pour écarter cette hypothèse

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour,

    en mode débogage regarder la valeur de chacune des trois variables de la ligne dans la fenêtre Variables locales,
    ayant un doute sur la méthode d'affectation de FeuilleRef


    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 9
    Par défaut
    Merci de vos réponses rapides.

    Quand vous dites que vous voulez la procédure de conversion, comment puis-je vous la délivrer ?

    Quand vous dites "tester" voir ce que contient la variable, comment faire ?

    Voulez-vous que je vous donne l'entièreté du code du fichier ?

    En vous remerciant ?

  6. #6
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    tu as dans ton fichier une fonction qui s'appelle "conversion"

    on voudrait que tu la copie intégralement sur le forum
    ceci, pour vérifier si tu gères correctement tous les cas possibles, y compris le fait qu'il puisse renvoyer (ou non) un objet Nothing

    +

    la ligne de code de la procédure principale qui appelle la sous-procédure setSeverity()
    un truc du genre setSeverity(MonPremierArgument, MonSecondArgument,etc...)
    ceci afin qu'on puisse vérifier que tu fournis les paramètres adéquats à ta procédure

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 9
    Par défaut
    La fonction conversion est dans le ruban des fonctions/outils d'EXCEL ou de VBA ? Car je ne la trouve pas pour l'instant. Je continue de chercher je vous tiens au courant.

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 9
    Par défaut
    ah j'ai trouvé ! c'est dans une liste déroulante a côté du code et on choisi soit "setseverity" ou "conversion"

    pour conversion il me renvoit à cette partie du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' MG 13/3/2014 - Pour remplacer la fonction getSheetByCodeName
    Public Function Conversion(wb As Workbook, f As String) As Object
    ' Permet à partir du CodeName, de passer à la feuille de classeur correspondante (l'objet).
    End Function
    et pour setseverity :

    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
    ' Mise en couleur des cellules des feuilles de risques en aval
    Public Sub setSeverity(CodeNameFeuilleActive As String, theColor As Long)
        Dim Start As Boolean, i As Integer, CodeNameFeuilleRef As String, lastColorIndex As Long, FeuilleRef As Worksheet, Ref As Range, IntitSynthese As String, lastPattern As Long
        ' Par sécurité :
            With ActiveCell
                gRow = .Row
                gCol = .Column
            End With
        Application.ScreenUpdating = False
        Start = False
            For i = 1 To 4
                CodeNameFeuilleRef = "risk_" & i
                If CodeNameFeuilleRef = CodeNameFeuilleActive Then Start = True
                Set FeuilleRef = Conversion(ThisWorkbook, CodeNameFeuilleRef)
                Set Ref = FeuilleRef.Cells(gRow, gCol)
                If Not Start Then
                    lastColorIndex = Ref.Interior.ColorIndex
                    lastPattern = Ref.Interior.Pattern
                End If
                If Start Then
                    FeuilleRef.Unprotect
                    Ref.Interior.ColorIndex = Range(CodeNameFeuilleActive).Cells(theColor, 1).Interior.ColorIndex
                    Ref.Interior.Pattern = Range(CodeNameFeuilleActive).Cells(theColor, 1).Interior.Pattern
                        If DRisques.CBRisqueImportant Then
                            Ref.Interior.Pattern = Notice.Range("RisqueNonRenseigné").Offset(DRisques.LNiveau.ListIndex, 1).Interior.Pattern
                        End If
                    Protection FeuilleRef
                End If
            Next
        ' Report couleur dans la synthèse
        Set FeuilleRef = Conversion(ThisWorkbook, "synthese")
        Set Ref = FeuilleRef.Cells(gRow, gCol)
        FeuilleRef.Unprotect
        Ref.Interior.ColorIndex = Range(CodeNameFeuilleActive).Cells(theColor, 1).Interior.ColorIndex
        Ref.Interior.Pattern = Range(CodeNameFeuilleActive).Cells(theColor, 1).Interior.Pattern
            If DRisques.CBRisqueImportant Then
                Ref.Interior.Pattern = Notice.Range("RisqueNonRenseigné").Offset(DRisques.LNiveau.ListIndex, 1).Interior.Pattern
            End If
            If lastColorIndex <> FeuilleRef.Cells(gRow, gCol).Interior.ColorIndex Or lastPattern <> FeuilleRef.Cells(gRow, gCol).Interior.Pattern Then
                    If CodeNameFeuilleActive = "risk_2" Then
                        IntitSynthese = "CI"
                    ElseIf CodeNameFeuilleActive = "risk_3" Then
                        IntitSynthese = "EC"
                    Else
                        IntitSynthese = ""
                    End If
                FeuilleRef.Cells(gRow, gCol) = IntitSynthese
            End If
        Protection FeuilleRef
        Application.ScreenUpdating = True
    End Sub

  9. #9
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    J'espère que ce n'est pas encore un bête Copier / Coller de code …




    _________________________________________________________________________________________________________
    Copier / Coller n'est pas coder !

  10. #10
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    C'est aussi ce que j'ai pensé Marc-L

    ta fonction conversion est très concise ... puisqu'elle ne fait rien !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' MG 13/3/2014 - Pour remplacer la fonction getSheetByCodeName
     Public Function Conversion(wb As Workbook, f As String) As Object
     ' Permet à partir du CodeName, de passer à la feuille de classeur correspondante (l'objet).
     End Function
    forcément, elle retourne "rien"
    et forcément, ton objet FeuilleRef est "rien" (Nothing)

    d'où l'erreur sur l'objet "non défini"

  11. #11
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Tu dois quand-même savoir, puisque tu as écrit cette ligne de code, au moins ce qu'elle est supposée faire, non ? (voir mon message plus haut).
    Ben voilà (messages croisés) --->> Elle ne fait rigoureusement rien et retourne donc Nothing.

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 9
    Par défaut
    J'espère que ce n'est pas encore un bête Copier / Coller de code …
    C'est à dire que je ne dois pas copier/coller dans la citation du message le code donné ? Ou vous faites référence au code du fichier qui aurait pu être mal monté ? (je ne suis pas le concepteur)

  13. #13
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Le code de la procédure Conversion est vide, encore un bête Copier / Coller de code ?!




    _________________________________________________________________________________________________________
    Copier / Coller n'est pas programmer !

  14. #14
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 9
    Par défaut
    Ah ! vous avez donc trouvé d'ou venait le problème ?

    Pourriez-vous m'expliquer pourquoi ce message d'erreur et comment y remédier ? Que dois-je modifier dans le code ?

    En vous remerciant

  15. #15
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Afin de ne pas être saignant vu que tout a déjà été expliqué , j'abandonne …

  16. #16
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    cette fonction est censée utiliser le CodeName d'une feuille (son "nom caché" qu'on voit uniquement dans l'éditeur VBA) pour renvoyer un objet "Feuille Excel" basé sur son nom d'usage (le nom visible dans excel)


    le plus simple, vu ton niveau de compréhension du code .... serait de te fournir une adaptation de la fonction

    MAIS ! Il est préférable de faire simplifier tes procédures pour mieux les maitriser

    1) supprimer cette fonction
    2) travailler avec les noms des feuilles au lieu des CodeName OU travailler sur les objets Feuille via leur Codename
    3) suivant le choix retenu pour le points 2 : modifier tes appels à cette procédure ET/OU l'utilisation de l'objet feuille dans cette procédure


    Voici ce que je te propose de mettre en application :

    ta procédure est maintenant comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Sub setSeverity(LaFeuille as WorkSheet, theColor As Long)
    On va directement "appeler" l'objet feuille lors de l'appel de la procédure

    au sein de cette procédure, tu utilises la variable "LaFeuille" quand tu fais référence à la feuille


    dans toutes les procédures qui appellent la procédure setSeverity, il va falloir modifier l'appel comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Avant ça ressemblait à ça
    setSeverity("Feuil1", 25541)
     
    'Maintenant ça devient
    setSeverity(Feuil1, 25541)

  17. #17
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 9
    Par défaut
    Marc, je suis désolé mais je ne suis pas un professionnel, tout à été expliqué je suppose vu que vous le dites mais je ne suis pas du tout un proche de ce langage, quand vous parlez de "conversion" de "setseverity" et autres je ne sais pas directement à ce que cela renvois à part bien sur des lignes dans le code.

    Je vous remercie d'avoir participer à mon sujet, vraiment, mais il vous faut comprendre que je ne comprend pas la logique du VBA.

    Vous dites donc que tout a déja été expliqué, je dois donc modifier mon code dans la partie conversion ?

  18. #18
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 9
    Par défaut
    cette fonction est censée utiliser le CodeName d'une feuille (son "nom caché" qu'on voit uniquement dans l'éditeur VBA) pour renvoyer un objet "Feuille Excel" basé sur son nom d'usage (le nom visible dans excel)


    le plus simple, vu ton niveau de compréhension du code .... serait de te fournir une adaptation de la fonction

    MAIS ! Il est préférable de faire simplifier tes procédures pour mieux les maitriser

    1) supprimer cette fonction
    2) travailler avec les noms des feuilles au lieu des CodeName OU travailler sur les objets Feuille via leur Codename
    3) suivant le choix retenu pour le points 2 : modifier tes appels à cette procédure ET/OU l'utilisation de l'objet feuille dans cette procédure
    merci de votre réponse,

    je dois donc supprimer seulement cette partie du code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' MG 13/3/2014 - Pour remplacer la fonction getSheetByCodeName
    Public Function Conversion(wb As Workbook, f As String) As Object
    ' Permet à partir du CodeName, de passer à la feuille de classeur correspondante (l'objet).
    End Function
    Vous dites que je dois modifier dans l'intégralité du code toutes les mentions relatives aux feuilles EXCEL par leur nom de feuille "caché" ?

  19. #19
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    j'ai édité mon message pour te donner des exemples adaptables


    info pratique : comme dans Excel, tu peux faire des recherches (Ctrl+f) au sein de tout ton code VBA
    pratique pour rechercher tes appels de procédures etc...

  20. #20
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2016
    Messages : 9
    Par défaut
    Je vous remercie tous pour votre aide, je vais essayer de me débrouiller avec ça.

    Par contre dans ton dernier code tu mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Avant ça ressemblait à ça
    setSeverity("Feuil1", 25541)
     
    'Maintenant ça devient
    setSeverity(Feuil1, 25541)
    Il est normal que dans les 2 exemples Feuil1 ai le même nom ?

Discussions similaires

  1. Message d'erreur Excel VBA
    Par progheure dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/02/2013, 10h10
  2. Erreur sur hasTitle Excel vba
    Par celiaaa dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/06/2007, 12h55
  3. EXCEL/ VBA Erreur sur le code VBA : rediriger l’erreur
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/12/2006, 16h28
  4. erreur de conexion a une base de donneés access avec excel(vba)
    Par leo13 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 27/11/2006, 09h09
  5. [VBA-E] Message Erreur EXCEL
    Par flyfrog dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/05/2006, 14h43

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