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

VB.NET Discussion :

Valeur d'une variable devient une variable


Sujet :

VB.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut Valeur d'une variable devient une variable
    Bonjour,

    Grace à mon programme, j'importe une variable dans une BDD, le résultat de cette variable, je veux qu'il devient une variable.

    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Connexion As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\tfh\Documents\BDDbis.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
        Connexion.Open()
            Dim RequeteI0 As String = "SELECT I0 FROM TableNbAlarm"
            Dim CommandeI0 As New SqlCommand(RequeteI0, Connexion)
            Dim MonReaderI0 As SqlDataReader = CommandeI0.ExecuteReader()
            i0 = MonReaderI0("I0").ToString()
    i0 est un string que je déclare dans un module.
    J'obtiens par exemple i0 = "tutu"
    Je voudrai par la suite que "tutu" deviens une variable sachant qu'il est le résultat d'une variable qui sera utiliser pour déclarer des Objets de ma class Alarm.

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    J'ai réaliser une fonction qui me renvoi un string et le résultat de la fonction je l'utilise pour déclarer un objet mais je sais pas si c'est juste et mon programme est encore trop explosé pour que je puisse faire un teste :

    Fonction qui renvoi un string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Function VariableResultat(ByVal x As Integer) As Object
            Dim y As Object
            Connexion.Open()
            Dim Requete As String = "SELECT ModuleParam FROM TableAlarm WHERE IdAlarm='" & x & "'"
            Dim Commande As New SqlCommand(Requete, Connexion)
            Dim MonReader As SqlDataReader = Commande.ExecuteReader()
            y = MonReader("ModuleParam").ToString()
            Return y
        End Function
    Utilisation du String pour déclarer une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim VariableResultat(z) As Alarm
    Sachant que z est la ligne sur la quel je souhaite récupéré mon element dans la BDD.

    Merci de me dire si sa peut marcher ou pas ?

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    Gros Plantage

    Il faut vraiment que j'arrive à réaliser un générateur de variable public !!

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    Il faut pas utiliser un pointeur genre "*" qui permet de pointer le résultat d'une variable ??? J'ai déjà fait sa en langage C mais il y a une différence entre du langage C et de la programmation orienté Objet surtout au niveau de la gestion de mémoire.

  5. #5
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonjour,

    Pas besoin de générateur de variabler publique, mais regarde du coté des dictionnary, c'est une liste de clé/valeur.

    La clé pourrait être le nom de ta variable, et la valeur et bien sa valeur

    PS : réaliser un générateur de variables publiques, le jeu n'en vaudrait pas la chandelle.

    Bon dév.

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Utilise un dictionnaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Dim dicoAlarmes As Dictionary(Of String, Alarmes) = New Dictionary(Of String, Alarmes)
    Info déjà dispo dans ce post

    A+, Hervé.

  7. #7
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    Je peut pas utiliser un dictionnaire pour un objet si j'ai pas déclarer un objet avant !!

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Voir ton autre sujet
    Post 2
    et
    Post 3

  9. #9
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    J'ai vu merci, tu as réussi à résoudre mon premier problème qui était sur l'autre post, le problème de ce post n'est pas résolu. Je rappel mon problème :

    Je veux transformer le résultat d'une variable en Nom de variable.

    Ex : A = "tutu"

    tutu = "ce que je veux"

    sachant que je sais pas à la base ce qui se trouve dans ma variable A

  10. #10
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    Alors d'une maniéré plus délicate, je suis dans une boucle for, je voudrai pouvoir réaliser une concaténation entre deux éléments pour crée un nouveau nom de variable, ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Dim z As Integer
            For z = 1 To i0
                "Alarm" & z = z+1            
            Next
    C'est juste un exemple, mais je voudrai pouvoir générer des nouvelles variables grâce à une concaténation mais la maniéré de l’écrire est fausse.

  11. #11
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    C'est ce que nous essayons de t'expliquer. Dans un dictionnaire, au départ on ne sais pas quelle seront les clés (ce que toi tu appeles variable)
    Donc la variable A est une clé du dictionnaire (key), la valeur ce que tu veux mettre dans ta variable (value).

    Citation Envoyé par dragondumond Voir le message
    J'ai vu merci, tu as réussi à résoudre mon premier problème qui était sur l'autre post, le problème de ce post n'est pas résolu. Je rappel mon problème :

    Je veux transformer le résultat d'une variable en Nom de variable.

    Ex : A = "tutu"

    tutu = "ce que je veux"

    sachant que je sais pas à la base ce qui se trouve dans ma variable A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Dim A As String = "tutu"
        Dim dico As Dictionary(Of String, String) = New Dictionary(Of String, String)
        dico.Add(A, "ce que je veux")
        System.Windows.Forms.MessageBox.Show(dico("tutu"))
        System.Windows.Forms.MessageBox.Show(dico(A)) ' même chose
    Citation Envoyé par dragondumond Voir le message
    Je voudrai par la suite que "tutu" deviens une variable sachant qu'il est le résultat d'une variable qui sera utiliser pour déclarer des Objets de ma class Alarm.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Dim DicoAlarme As Dictionary(Of String, Alarm) = Dictionary(Of String, Alarm)() ' VariableResultat => DicoAlarme; z => of string; as Alamr => Alarm
        Dim ObjAl As Alarm
     
        Dim A As String = "Alarm" ' ou "tutu"
        Dim z As Integer
        For z = 1 To i0
          ObjAl = New Alarm
          'ObjAl.nom = a & z ' si tu as une propriété nom dans ta classe alarm
          DicoAlarme.add(a & z, ObjAl)
          'messagebox.show(DicoAlarme(a & z).nom)
        Next
        ' ou pour traiter une alarme
        Dim al As Alarme = DicoAlarme(a & "1")
    Je t'indiquais l'autre post ou dans la sub "AjoutAlarme" je cré des alarmes sans connaître leurs noms. Alarmes qui seront référencées par un nom que l'on ne connais pas au début.

  12. #12
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Je peut pas utiliser un dictionnaire pour un objet si j'ai pas déclarer un objet avant !!
    Je crois que tu n'as pas compris ce qu'on te dis.
    Un dictionnaire est une liste. tu peux ajouter des élements dans le dictionnaire même s'ils n'ont pas de valeur. La seule contrainte c'est que la clé soit définie et pas en double! Rien ne t'empêche d'affecter nothing à la valeur et de le valoriser plus tard dans le programme, mais d'insérer tout de même les clés!

    J'ai parcouru rapidement tes autres posts, et j'ai l'impression que tu souhaites récupérer l'objet sélectionné depuis un datagridview pour obtenir l'état de ton objet? si c'est le cas, je pense que tu fait fausse route

  13. #13
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    PS : La ligne de datagridview possède une propriété DataBoundItem où tu y récupère l'instance de l'objet représentant la ligne.

  14. #14
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par sisqo60 Voir le message
    ... Rien ne t'empêche d'affecter nothing à la valeur et de le valoriser plus tard dans le programme, mais d'insérer tout de même les clés! ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Dim DicoAlarme As Dictionary(Of String, Alarm) = Dictionary(Of String, Alarm)() 
        Dim A As String = "Alarm" ' ou "tutu"
        Dim z As Integer
        For z = 1 To i0
          DicoAlarme.add(a & z, Nothing)
        Next
    Avec un dictionnaire tu n'as même pas besoin de connaître le nombre d'élément (i0 inutile) tu parcours les éléments avec ForEach.


    Mais à mon avis si j'ai bien compris les données des alarmes viennent du programme vb6. Donc
    Tu crés l'objet bibliothéque vb.net dans vb6.
    Tu passe les données sur les alarmes avec la sub "AjoutAlarme" (qui alimente un dictionnaire) et tu lances la sub "GestAlarme".
    Tu passes ce dictionnaire à la propriété dictionnaire de la fenêtre. voir sub "GestAlarme".
    Dans ta fenêtre, sur le load tu remplis ton datdagridview (affichage utilisateur) avec les données du dico.

    Choix de l'utilisateur - traitement des alarmes actives
    Tu parcours le dictionnaire de la fenêtre 1 avec un ForEach et tu passes les alarmes actives à la fenêtre 2 (en alimentant directement un dico sur la fen 2)

    Est-ce le fonctionnement qui est prévu ?
    Sinon donne nous un vue d'ensemble du principe.

  15. #15
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    En faite je travail sur deux projet séparer, dans l'un des projet j'utilise la Bibliothèque que tu ma donné et sa marche presque à par quel que petit souci de variable globale parce que j'arrive pas a référencer le module.

    Le second projet c'est la même chose sauf que je suis au stade de j'exécute un simulateur (visual studio pour l'instant) qui m'ouvre un gestionnaire d'alarme (Visual Studio tjs) en passant par une BDD.

  16. #16
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    Merci j'ai quasi fini mon second projet grâce à vous !!

  17. #17
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    Le dico est vide au lancement de cette procédure et aucun objet n'a était déclarer donc je suis quasi obligé d'utilisé i0 car j'ai pas envie de me prendre la tête pour l'instant, l'optimisation du programme je la laisse pour lorsque tous le programme marche comme j'ai envie qu'il marche, je suis pas assez bon pour géré optimisation et plein d'autre truc.

    Comment je fais ensuite pour remplacer le Nothing par l'objet que je souhaite??

    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
        Public Sub ImporterAlarm()
            'Récupération du nombre d'alarme
            Connexion.Open()
            Dim RequeteI0 As String = "SELECT I0 FROM TableNbAlarm"
            Dim CommandeI0 As New SqlCommand(RequeteI0, Connexion)
            Dim MonReaderI0 As SqlDataReader = CommandeI0.ExecuteReader()
            i0 = MonReaderI0("I0").ToString()
     
            Dim A As String = "Alarm"
            Dim z As Integer
            For z = 1 To i0
     
                DicoAlarm2.Add(A & z, Nothing)
                With DicoAlarm2(A & z)
                    .Ack = False
                    .TimeIn = Date.Now
                    .Unit = RechercherDansBDD("Unit", z)
                    .ModuleParam = RechercherDansBDD("ModuleParam", z)
                    .Description = RechercherDansBDD("Description", z)
                    .NiveauAlarm = RechercherDansBDD("NiveauAlarm", z)
                    .Message = RechercherDansBDD("Message", z)
                    .Priority = RechercherDansBDD("Priority", z)
                    .Seuil = RechercherDansBDD("Seuil", z)
                    .Etat = False
                    .Supprimer = False
                    .IdAlarm = z
                End With
            Next
        End Sub
    Voila mon code, j'ai pas testé mais il devrai marché je pense par contre j'utilise le dico dans d'autre procédure en fessant un appel direct genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Public Function RechercheDisparue2(ByVal x As Integer) As Boolean
            Return DicoAlarm2(DataGridView1.Rows(x).Cells(3).EditedFormattedValue).Disparue
        End Function
    Je sais pas si le fait d'utiliser mon dico va renvoyer au bon objet avec le Nothing.

  18. #18
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Dans ce cas tu fais comme dans le Post 11

    Voir modif dans le code ci-dessous
    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
        Public Sub ImporterAlarm()
    Dim ObjAl As Alarm ' ligne en plus - définie un objet alarme
             'Récupération du nombre d'alarme
            Connexion.Open()
            Dim RequeteI0 As String = "SELECT I0 FROM TableNbAlarm"
            Dim CommandeI0 As New SqlCommand(RequeteI0, Connexion)
            Dim MonReaderI0 As SqlDataReader = CommandeI0.ExecuteReader()
            i0 = MonReaderI0("I0").ToString()
     
            Dim A As String = "Alarm"
            Dim z As Integer
            For z = 1 To i0
    ObjAl = New Alarm ' ligne en plus - instancie une alarme (cré un objet alarme)
        DicoAlarm2.Add(A & z, ObjAl) ' ligne modifiée 'place l'instance (l'objet) alarme dans le dico
                With DicoAlarm2(A & z)
                    .Ack = False
                    .TimeIn = Date.Now
                    .Unit = RechercherDansBDD("Unit", z)
                    .ModuleParam = RechercherDansBDD("ModuleParam", z)
                    .Description = RechercherDansBDD("Description", z)
                    .NiveauAlarm = RechercherDansBDD("NiveauAlarm", z)
                    .Message = RechercherDansBDD("Message", z)
                    .Priority = RechercherDansBDD("Priority", z)
                    .Seuil = RechercherDansBDD("Seuil", z)
                    .Etat = False
                    .Supprimer = False
                    .IdAlarm = z
                End With
            Next
        End Sub

    Citation Envoyé par dragondumond Voir le message
    ...
    j'utilise le dico dans d'autre procédure en fessant un appel direct genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Public Function RechercheDisparue2(ByVal x As Integer) As Boolean
            Return DicoAlarm2(DataGridView1.Rows(x).Cells(3).EditedFormattedValue).Disparue
        End Function
    Je sais pas si le fait d'utiliser mon dico va renvoyer au bon objet avec le Nothing.
    Si Cells(3) contient le nom par lequel tu as alimenté la "clé" de ton dico tu obtiendra la valeur de disparue (V/F) de ton objet Alarme.

  19. #19
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    C'est quasi de la magie !!

  20. #20
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 263
    Points : 148
    Points
    148
    Par défaut
    Réponse du compilateur lorsque je lance mon programme "La référence d'objet n'est pas définie à une instance d'un objet." et l'erreur ce trouve lorsque j'essaye d'entrer les propriétés de mon objet, objet qui n'existe pas pour moi car il na pas était déclarer.

    J'ai l'impression de revenir tous en haut !!

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

Discussions similaires

  1. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  2. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  4. Réponses: 6
    Dernier message: 08/12/2007, 14h33
  5. Réponses: 2
    Dernier message: 23/11/2007, 11h33

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