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

Windows Forms Discussion :

[VB.NET] Une histoire de planning


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut [VB.NET] Une histoire de planning
    Bonjour,
    Alors voilà dans le cadre du stage que je fais, je doit réaliser un planning ...
    qui permet d'afficher sur une semaine (lundi, mardi ...) en fonction des heures les cours en fonction de l'élève, du prof, et de la salle ..
    Afin de réaliser sa j'ai chercher un moment des composent que je pouvais exploiter ....
    j'avais trouver sourcegrid ... mais je comprend pas trop comment l'utiliser (c'est pas faute d'avoir lu plusieurs chose sur le sujet ...)
    fin bon si quelqu'un pouvait m'expliquer un petit peu comment cela fonctionne cela m'aiderais un peu
    et euh si vous voulez une idée de se que je doit produire ..

    Merci d'avance ...

  2. #2
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Rebonjour,
    Je suis toujours à la recherche d'un peu d'aide sur le sujet ^^" ....
    J'ai abandonné mes tentatives d'utilisation de sourcegrid pour mener ce travail à bien (n'arrivais pas a l'utiliser) ...
    Résultat j'ai tenté de faire un affichage dans des listbox, une liste box pour un jour ...
    Voilà se que sa donne :
    ici
    Seulement sa ne fait que afficher les uns après les autres les cours dans l'ordre ? Comment obtenir le même résultat mais avec un positionnement précis par heure ?
    Pour vous faire un idée du code :
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
       '--------------TEST-----------------
        Private Sub CourAff2(ByVal UnJour As String)
            connexionSQL = Module1.Connexion()
            Dim mySqlQuery As String = "SELECT `NomProf`,`NomE`,`PrenomE`,`NomSalle`,`HeureDeb`,`HeureFin`, `Jour` FROM Cour, CourEleve, Eleve, Profs, Salle WHERE Cour.IdCour=CourEleve.idCour and Eleve.IdEleve=CourEleve.IdEleve and Cour.IdProf=Profs.idProf and Cour.IdSalle=Salle.idsalle Group By Cour.idcour, NomSalle HAVING jour='" & UnJour & "' ORDER BY jour, HeureDeb asc;"
            'Dim mySqlQuery As String = "SELECT `NomProf`,`NomE`,`PrenomE`,`NomSalle`,`HeureDeb`,`HeureFin`,`Jour` FROM Cour, CourEleve, Profs, Eleve, Salle WHERE Cour.IdProf=Profs.idProf and CourEleve.idcour=eleve.idCour and Eleve.idEleve=eleve.idEleve and Cour.IdSalle=Salle.idsalle Group By Cour.idcour, NomSalle HAVING jour='" & UnJour & "' ORDER BY jour, HeureDeb asc;"
            Dim mycommand As New MySqlCommand(mySqlQuery, connexionSQL)
            Dim myreader As MySqlDataReader = mycommand.ExecuteReader()
            Try
                '--- vider le ComboBox ---
                Select Case UnJour
                    Case "Lundi"
                        LstcourLundi.Items.Clear()
                    Case "Mardi"
                        LstCourMardi.Items.Clear()
                    Case "Mercredi"
                        LstCourMercredi.Items.Clear()
                    Case "Jeudi"
                        LstCourJeudi.Items.Clear()
                    Case "Vendredi"
                        LstCourVendredi.Items.Clear()
                    Case "Samedi"
                        'LstcourSamedi.Items.Clear()
                    Case "Dimanche"
                        'LstcourDimanche.Items.Clear()
                End Select
                If myreader.HasRows Then
                    '--- tant que le DataReader a une ligne d'enregistrements ---
                    While myreader.Read
                        ' ajouter la donnée au ComboBox 
                        Select Case UnJour
                            Case "Lundi"
                                LstcourLundi.Items.Add(myreader.GetValue(0))
                                LstcourLundi.Items.Add(myreader.GetValue(1) & "  " & myreader.GetValue(2))
                                LstcourLundi.Items.Add(myreader.GetValue(3))
                                LstcourLundi.Items.Add(myreader.GetValue(4) & vbTab & myreader.GetValue(5))
                                LstcourLundi.Items.Add("____________________")
                            Case "Mardi"
                                LstCourMardi.Items.Add(myreader.GetValue(0))
                                LstCourMardi.Items.Add(myreader.GetValue(1) & vbTab & myreader.GetValue(2))
                                LstCourMardi.Items.Add(myreader.GetValue(3))
                                LstCourMardi.Items.Add(myreader.GetValue(4) & "  " & myreader.GetValue(5))
                                LstCourMardi.Items.Add("____________________")
                            Case "Mercredi"
                                LstCourMercredi.Items.Add(myreader.GetValue(0))
                                LstCourMercredi.Items.Add(myreader.GetValue(1) & vbTab & myreader.GetValue(2))
                                LstCourMercredi.Items.Add(myreader.GetValue(3))
                                LstCourMercredi.Items.Add(myreader.GetValue(4) & "  " & myreader.GetValue(5))
                                LstCourMercredi.Items.Add("____________________")
                            Case "Jeudi"
                                LstCourJeudi.Items.Add(myreader.GetValue(0))
                                LstCourJeudi.Items.Add(myreader.GetValue(1) & vbTab & myreader.GetValue(2))
                                LstCourJeudi.Items.Add(myreader.GetValue(3))
                                LstCourJeudi.Items.Add(myreader.GetValue(4) & "  " & myreader.GetValue(5))
                                LstCourJeudi.Items.Add("____________________")
                            Case "Vendredi"
                                LstCourVendredi.Items.Add(myreader.GetValue(0))
                                LstCourVendredi.Items.Add(myreader.GetValue(1) & vbTab & myreader.GetValue(2))
                                LstCourVendredi.Items.Add(myreader.GetValue(3))
                                LstCourVendredi.Items.Add(myreader.GetValue(4) & "  " & myreader.GetValue(5))
                                LstCourVendredi.Items.Add("____________________")
                            Case "Samedi"
                                'LstcourSamedi.Items.Add(myreader.GetValue(3) & vbTab & myreader.GetValue(4))
                                'LstcourSamedi.Items.Add(myreader.GetValue(0) & "  " & myreader.GetValue(1))
                                'LstcourSamedi.Items.Add(myreader.GetValue(2))
                                'LstcourSamedi.Items.Add("____________________")
                            Case "Dimanche"
                                'LstcourDimanche.Items.Add(myreader.GetValue(3) & vbTab & myreader.GetValue(4))
                                'LstcourDimanche.Items.Add(myreader.GetValue(0) & "  " & myreader.GetValue(1))
                                'LstcourDimanche.Items.Add(myreader.GetValue(2))
                                'LstcourDimanche.Items.Add("____________________")
                        End Select
                    End While
                End If
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            Finally
                If Not (myreader Is Nothing) Then myreader.Close()
            End Try
            myreader.Close()
            connexionSQL.Close()
        End Sub
    Merci d'avance
    Eny

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    à vue de nez je tenterais peut etre un tablelayoutpanel, qui permet de faire des cases facilement, dans lesquelles tu peux ensuite ajouter des controles
    après tu peux mettre soit des labels soit des choses plus complexes ... ou plusieurs controles meme ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Merci ^^
    Yeah j'y ai pensé au tableLayoutPanel ...
    J'ai fait ceci (juste niveau apparence pour tester

    Mon problème c'est afficher dynamiquement mes données dessus ?
    J'ai trouver comment jouer sur le positionnement, mais si mon groupebox par exemple n'existe pas dessus le tlp ben je n'arrive pas a le créer ...
    Un petit coup de pouce pour me lancer serais bienvenu :p
    Merci d'avance ^^
    Eny


    EDIT : En fait j'ai trouver comment créer mon objet dynamiquement :p j'ai plus qu'a faire mon code pour afficher mes donner au bon endroit .....

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    pas compris ton problème, mais après le but c'est d'instancier des controles
    puis de faire monTLP.controls.Add()
    et j'ai trouvé .SetColumn donc il doit y avoir SetRow, pour définir dans quelle case est le controle
    avec un peu de chance, en dockant ca reste dans la case (.dock)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Ben en fait mon problème était d'obtenir qu'un groupbox se crée quand on clique sur ok (bon sa c'est pour tester) et je n'y arrivais pas, ...
    Sinon j'avais trouver comment positionner (setrowspan, setrowcolumn, .....)
    Fin sa j'ai fini pas trouver en regardent dans la fac ^^
    maintenant il me reste plus qu'a faire une boucle qui me crée une groupe box en fonction du jour, et de l'heure, avec les donnés (salle, et prof) qui m'intéressent ^^
    Mais sa devrai aller sa suffit de réfléchir un peu (dur dur pour le cervo lol)

    Par contre je comprend pas trop l'histoire de docker ?

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    docker sert à dire qu'un controle prend toute la place qu'il peut dans son conteneur, dans certains cas ca fait plus "fini" niveau design, mais si t'as plusieurs choses à mettre par case c'est pas trop utile
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    D'accord ^^ merci de l'info
    Je vais voir se que je peut faire maintenant que je sais comment faire ce qui me posait problème ^^

  9. #9
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Hello ^^, bon toujours mon histoire de planning, ceci dit ça a bien avancé ^^"
    Bref je peu positionner les données qui m'intéresse en fonction de l'heure et du jour, sa niquel, je peu étendre mon contrôle en fonction de la durée sa aussi pas de problème
    par contre dison que colonne 1 ligne 1 (8h00 a 9h00) j'aille 2 cours un de 8h00 a 8h30 et un a 8h30 - 9h00
    d'où il faudrait que 2 listbox se crée dans la même cellule ? Mais sa plante ? comment résoudre sa ?

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ayant perdu ma boule de cristal récemment, je n'arrive pas à deviner le message d'erreur que tu as ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    MDR ^^
    Scusi ... en fait il n'y a pas de message d'erreur tout simplement la liste qui devrai s'ajouter a la suite de la premier dans la cellule spécifiant entre 8h00 et 9h00 va aller se placer n'importe où sur le tablelayoutppanel
    au lieu de s'ajouter a la suite de la première dans la bonne cellule
    en fait j'ai bien comprit que visiblement sur un tlp, on ne peut pas mettre 2 objet dans la même cellule, mais peut on changer cela ?

  12. #12
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    dans la case tu places un flowlayoutpanel et tes objets dans le flowlayoutpanel
    (un panel simple pourrait aussi suffire, ca dépend de ce que tu veux)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Rebonjour ^^, J'ai tester la solution du panel, mais bien que sa marchais, sa rendait la lisibilité moins bonne. Resultat j'ai trouvé une autre solution j'ai découper une heure en 3 tranche de 20 minutes, donc 3 cellules pour une heure.
    Pour définitivement palier tout problème, je pensais faire une fonction qui vérifie si la cellule est pleine ou vide. dans le cas ou elle est pleine cela inscrit l'heure suivante dans la cellule +1 de la cellule qui étai prévu
    ex si la cellule 4 est déjà pleine ou ajoute les donnée qui auraient du aussi s'y trouver dans la cellule 5 ...)
    Fin je voulais savoir si pour un TLP il existe donc une fonction déjà existante qui renvoie un booleen, dans le cas ou la cellule a la colonne x et a la ligne y est déjà occupé ?

  14. #14
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    .GetControlFromPosition qui à mon avis renvoie Nothing s'il y a rien

    si tu as mis un panel, cepanel.controls.count te donne le nombre de controles qu'il y a dessus
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  15. #15
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Humm merci ^^ , je l'avais trouvé entre temps donc j'avais fait cette petite fonction ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Function VerifCellExist(ByVal Colonne As Integer, ByVal Ligne As Integer)
            Dim Existe As Boolean
            Existe = Form1.TLP.GetControlFromPosition(Colonne, Ligne).Created
            Return Existe
        End Function
    Form1 => Etant ma fenêtre
    TLP=> mon tablelayout ...
    mais bon pour le moment petit message d'erreur
    La référence d'objet n'est pas définie à une instance d'un objet.

  16. #16
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    comme je l'explique, si aucun control, GetControlFromPosition renvoit nothing

    nothing.created, ca plante, c'est pas possible techniquement


    et l'intellisense explique que .Created indique si le controle a été créé, rien à voir

    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        Function VerifCellExist(ByVal Colonne As Integer, ByVal Ligne As Integer) As Boolean
            Dim Existe As Boolean
            Existe = (Form1.TLP.GetControlFromPosition(Colonne, Ligne) IsNot Nothing)
            Return Existe
        End Function


    de plus il est possible de réduire le nombre de lignes, car entre 2 programmes qui font la meme chose, celui avec 3x moins de lignes est plus facile à maintenir, donc comporte en général moins de bug (meme si là ca n'apporte pas de compréhension mais juste de la place)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Function VerifCellExist(ByVal Colonne As Integer, ByVal Ligne As Integer) As Boolean
            Return Not (Form1.TLP.GetControlFromPosition(Colonne, Ligne) Is Nothing)
        End Function


    à noter que ta fonction n'est pas As quelque chose, si ton code est réellement comme ca, c'est pas bien du tout, il faut changer les paramètres du compilateur pour ton projet
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  17. #17
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    C'est sur que vu comme cela sa marche mieux ... au passage je remarque que j'ai du faire une gourance dans mes autre fonctions je n'ai pas de as ....... derrière, pourtant sa ne plante pas ?

  18. #18
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ca ne plante pas, non
    le compilateur essaye de deviner, mais ca reste risqué, et surtout ce n'est pas une manière propre de coder

    il faut aller dans les propriétés du projet et mettre option explicit on et option strict on
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  19. #19
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Décembre 2008
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    Merci de votre réponse ^^, en fait j'ai corriger mon erreur tout simplement ^^
    J'ai une dernière question ^^ ... Bon là niquel plus aucuns problème avec mon planning ^^, mais j'aimerais qu'on puisse l'imprimer, quel solution puis-je utiliser ?
    J'aimerais un truc qui m'affiche mon planning de la même façon ?

  20. #20
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    je te propose de créer une variable bitmap en disant au TLP de se peindre dessus, puis de dessiner cette image sur un printdocument
    c'est le plus rapide, en quelques lignes tu auras le TLP sur une feuille de papier, tel qu'à l'écran

    il y a d'autres solutions, mais peut etre pas avec si peu de lignes, ouvre un nouveau thread peut etre qui parle de l'impression
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Une histoire de lien...
    Par sloshy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 25/08/2005, 23h13
  2. [JAR][debutant] encore une histoire de classpath
    Par blaz dans le forum Général Java
    Réponses: 6
    Dernier message: 27/07/2005, 12h28
  3. [VB.NET] Une lecture de fichier difficile...
    Par Abalalojik dans le forum ASP.NET
    Réponses: 29
    Dernier message: 07/01/2005, 14h27
  4. [VB.NET] Une cellule particulière de la base de donnée
    Par Abalalojik dans le forum ASP.NET
    Réponses: 9
    Dernier message: 08/12/2004, 09h57
  5. [.NET] Une question technique a propos du mode asynchrone
    Par nicknolt dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/06/2004, 10h07

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