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

C# Discussion :

Tableau c# alignement des cellules


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut Tableau c# alignement des cellules
    Bonjour,

    Je suis débutant en C# et je voudrais savoir comment faire pour afficher mon tableau pour que tout les cellules sois aligner, merci.

    Voici le 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
     
           static void Main(string[] args)
            {
                int[,] nombre = new int[6, 6];   // créer un tableaux 6x6
     
                int j = 0;
                while (j < 6)                   // boucle pour entrer les 36 numéros.
                {
                    int chiffre = 2;
                    int i = 0;
                    while (i < 6)
                    {
                        nombre[i, j] = chiffre;
                        chiffre = chiffre + 2;
                        i++;
                    }
                    j++;
                }
     
                afficheLeTableauParLigne(nombre);
                Console.WriteLine();
                afficheLeTableauParColonne(nombre);
                Console.WriteLine();
                afficheLeTableauEnDiagonal(nombre);
                Console.ReadKey();
            }
     
            private static void afficheLeTableauParLigne(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau par ligne:");
     
                int l = 0;
                while (l < 6)                       // boucle pour afficher les 36 numéros.
                {
                    for (int k = 0; k < 6; k++)
                    {
                        Console.Write("{0} ", nombre[k, l]); // affiche le tableau, ligne x ligne
                    }                                          
                    Console.WriteLine();
                    l++;
                }
            }
     
            private static void afficheLeTableauParColonne(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau par colonne:");
     
                int l = 0;
                while (l < 6)
                {
                    for (int k = 0; k < 6; k++)
                    {
                        Console.Write("{0} ", nombre[l, k]);   // affiche le tableau, colonne x colonne
                    }                                          
                    Console.WriteLine();
                    l++;
                }
            }
     
            private static void afficheLeTableauEnDiagonal(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau en diagonal:");
     
                int j = 0;
                for (int i = 0; i < 6; i++)
                {
                    Console.Write("{0} ", nombre[i, j]);     // affiche la 1er diagonal du tableau
                    j++;
                }
                Console.WriteLine();
     
                int k = 5;
                for (int l = 0; l < 6; l++)
                {
                    Console.Write("{0} ", nombre[l, k]);    // affiche le 2e diagonal du tableau
                    k--;
                }
                Console.WriteLine();
            }

  2. #2
    Membre émérite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2013
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par défaut
    Bonsoir. Merci d'utiliser la balise code (# au dessus de l'éditeur) sur le forum et d'identer de code avec des tabulations pour qu'on puisse lire sans crises d'épilépsie.
    Il suffit d'ajouter des éspaces au début ou à la fin si le texte fait moins que la taille que tu vas définir pour la largeur de la colonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int largeur = 20;
    string contenu_str = nombre.ToString(); // on bosse avec un string (comme dans alerte à malibu)
    if(contenu_str.Length > largeur) contenu_str = contenu_str.Substring(0, largeur); // si trop grand on coupe le texte
    if(contenu_str.Length < largeur) contenu_str.Insert(0, string(' ', largeur - contenu_str.Length)); // si trop petit on ajoute des espaces
    Console.WriteLine(contenu_str); // finalement on écrit la colonne
    ps: je n'ai pas compilé ce qui précède c'est pour l'exemple

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    Bonjour,

    L'idée de SkyZoThreaD est bonne mais risqué sur le long car comme il le dit lui même, il-y-a risque de perte de data.

    Je te recommande de parcourir ton tableau afin de calculer la longueur max d'une de tes data.

    Ensuite lorsque tu écris tes data utilise PadLeft(longueurMax, ' ') pour uniformiser la longueur des chaines.

    Cf : https://msdn.microsoft.com/fr-fr/lib...(v=vs.80).aspx

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut
    La 1er solution de SkyZo ne fonctionne pas, l'erreur se produit au niveau de:
    string contenu_str = nombre.ToString();

    cela donne une erreur lors de la compilation:
    System.Int32[,]

    Je crois que ses à cause que le tableau est multidimensionnel, je ne sais pas comment le corriger ??

    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
     
    Console.WriteLine("affiche le tableau par colonne:");
     
                int l = 0;
                while (l < 6)
                {
                    for (int k = 0; k < 6; k++)
                    {
                        int largeur = 2;
                        string contenu_str = nombre.ToString();
                        char pad = ' ';
                        if (contenu_str.Length < largeur)
                        {
                            Console.WriteLine(contenu_str.PadLeft(1, pad));
                        }
                        Console.Write("{0} ", contenu_str);

  5. #5
    Membre émérite Avatar de SkyZoThreaD
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2013
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 585
    Par défaut
    Je t'ai mis ce code pour l'éxemple et il n'est valable que pour une cellule donc n'essaye pas d'insérer tout le tableau dans la string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string contenu_str = nombre.ToString(); // ne marche pas si nombre est un tableau
    string contenu_str = nombre[i,j].ToString(); // dans ce cas ça marchera mieux :)
    Je pense que tous les dev qui font du c# ou du java devraient voir les bases du c/c++ pour avoir une idée des objets qu'ils utilisent
    Ensuite tu indiques une largeur de colonne de 2 ? ça va pas contenir beaucoup de chiffres ça
    Et enfin TheBlackReverand a raison: si tu veux être certain que tous les chiffres soient visibles, il faut remplacer cette variable largeur par un calcul de la taille maximum à afficher sur toute la colonne.

  6. #6
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    Bonjour

    Le format composite est ton ami ...avec le specificateur de format Fixed ...

    La chaine de format composite figure dans l'appel à Console.Write(chaine de format,nombre)...

    Cette chaine accepte
    1/un parametre Alignement :
    - un Int Signe : controle l'Espacement alloue & l'Alignement (gauche ou droite)
    2/ un Specificateur de Format :
    - Fixed (F) est le plus souple ...F1 signifie on autorise 1 decimale à gauche+ sa virgule compte dans ce F1
    Si bien que si le nbre est un entier 12 sa longueur sera 2+2=4...



    ton programme revu legerement pour illustrer la chaine de format composite:
    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
    82
    83
    84
    85
    86
    87
    88
     
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace ConsoleTableau
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[,] nombre = new int[6, 6]; // créer un tableaux 6x6
     
                int j = 0;
                while (j < 6) // boucle pour entrer les 36 numéros.
                {
                    int chiffre = 2;
                    int i = 0;
                    while (i < 6)
                    {
                        nombre[i, j] = chiffre;
                        chiffre = chiffre + 2;
                        i++;
                    }
                    j++;
                }
                afficheLeTableauParLigne(nombre);
                Console.WriteLine();
                afficheLeTableauParColonne(nombre);
                Console.WriteLine();
                afficheLeTableauEnDiagonal(nombre);
                Console.ReadKey();
            }
     
            private static void afficheLeTableauParLigne(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau par ligne:");
     
                int l = 0;
                while (l < 6) // boucle pour afficher les 36 numéros.
                {
                    for (int k = 0; k < 6; k++)
                    {
                        Console.Write("{0,6:F1}", nombre[k, l]); // affiche le tableau, ligne x ligne
                    }
                    Console.WriteLine();
                    l++;
                }
            }
            private static void afficheLeTableauParColonne(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau par colonne:");
     
                int l = 0;
                while (l < 6)
                {
                    for (int k = 0; k < 6; k++)
                    {
                        Console.Write("{0,6:F1}", nombre[l, k]); // affiche le tableau, colonne x colonne
                    }
                    Console.WriteLine();
                    l++;
                }
            }
            private static void afficheLeTableauEnDiagonal(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau en diagonal:");
     
                int j = 0;
                for (int i = 0; i < 6; i++)
                {
                    Console.Write("{0,6:F1}", nombre[i, j]); // affiche la 1er diagonal du tableau
                    j++;
                }
                Console.WriteLine();
     
                int k = 5;
                for (int l = 0; l < 6; l++)
                {
                    Console.Write("{0,6:F1}", nombre[l, k]); // affiche le 2e diagonal du tableau
                    k--;
                }
                Console.WriteLine();
            }
        }
    }
    Comme dit par TheBlackReverand
    1/il faut donc retrouver le plus grand chiffre...
    On utilize un list<int> auxiliaire et on recupere le max...
    On le convertit en chaine avec ToString() dont on recupere la longueur...
    Sa longueur est augmente de 2 +espacement confortable!!!
    La longueur resultante est reconvertie en chaine (merci encore à ToString) et "injecte" dans la chaine de format composite....

    class programme qui illustre le propos:

    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections;
     
    namespace ConsoleTableau
    {
         class MonProgram
        {
            private static  string FormatNombre = string.Empty;
            private const int N = 10;
            static void Main(string[] args)
            {
     
                int[,] nombre = new int[N, N]; // créer un tableaux 6x6
     
                int j = 0;
                Random rnd = new Random();
     
     
                 while (j < N) // boucle pour entrer les 36 numéros.
                 {
                     int chiffre =rnd.Next(1,1000);
                     int i = 0;
                     while (i < N)
                     {
                         nombre[i, j] = chiffre;
                         chiffre = rnd.Next(1, 1000);
                         i++;
                     }
                     j++;
                 }
     
     
     
     
                 int chiffreMax = MaxChiffre(nombre); 
     
                 Console.WriteLine("affiche nombre max:");
                 Console.WriteLine("{0}", chiffreMax);
                 Console.WriteLine();
     
     
                 int espacement = 2;
                 FormatNombre = "{0," + (chiffreMax.ToString().Length + 2 + espacement) + ":F1}";
     
     
                 afficheLeTableauParLigne(nombre);
                 Console.WriteLine();
                 afficheLeTableauParColonne(nombre);
                 Console.WriteLine();
                 afficheLeTableauEnDiagonal(nombre);
                 Console.ReadKey();
            }
            private static int MaxChiffre(int[,] nombre)
            {
                List<int> l = new List<int>(); 
                for (int i = 0; i < nombre.GetUpperBound(0)+1; i++)
                {
                    for (int j = 0; j < nombre.GetUpperBound(1) + 1; j++)
                    {
                        l.Add(nombre[i, j]);
                    }
                }
                int n = l.Max();
     
                //libere la memoire
                l.Clear();
                l = null;
                return n;
     
            }
            private static void afficheLeTableauParLigne(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau par ligne:");
     
                int l = 0;
                while (l < N) // boucle pour afficher les 36 numéros.
                {
                    for (int k = 0; k < N; k++)
                    {
                        Console.Write(FormatNombre, nombre[k, l]); // affiche le tableau, ligne x ligne
                    }
                    Console.WriteLine();
                    l++;
                }
            }
            private static void afficheLeTableauParColonne(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau par colonne:");
     
                int l = 0;
                while (l < N)
                {
                    for (int k = 0; k < N; k++)
                    {
                        Console.Write(FormatNombre, nombre[l, k]); // affiche le tableau, colonne x colonne
                    }
                    Console.WriteLine();
                    l++;
                }
            }
            private static void afficheLeTableauEnDiagonal(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau en diagonal:");
     
                int j = 0;
                for (int i = 0; i < N; i++)
                {
                    Console.Write(FormatNombre, nombre[i, j]); // affiche la 1er diagonal du tableau
                    j++;
                }
                Console.WriteLine();
     
                int k = N-1;
                for (int l = 0; l < N; l++)
                {
                    Console.Write(FormatNombre, nombre[l, k]); // affiche le 2e diagonal du tableau
                    k--;
                }
                Console.WriteLine();
            }
        }
    }
    bon code....

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut Merci
    Merci à tous, j'ai fini par trouver se que je voulais, ce n'est peut-être pas parfait mais sa fait la job pour un débutant comme moi.

    Maintenant il ne me reste plus qu'à mettre les lignes de nombres en ordre croissant, je crois que ses avec Array.Sort mais je ne suis pas sûr que cela fonctionne avec des tableaux multidimensionnels, si vous avez une idée je suis ouvert d'esprit.

    Voici le code final:

    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
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace TestTableau
    {
     
        class Program
        {
     
            static void Main(string[] args)
            {
                int[,] nombre = new int[6, 6];   // créer un tableaux 6x6
     
                int j = 0;
                while (j < 6)                   // boucle pour entrer les 36 numéros aléatoire.
                {
                    int i = 0;
                    while (i < 6)
                    {
                        int randomed = new Random().Next(1, 99);    // génère un nombre aléatoire
                        System.Threading.Thread.Sleep(100);         // fait une pause car sinon ses
                        nombre[i, j] = randomed;                    // toujours le même chiffre qui
                        i++;                                        // est générer.
                    }
                    j++;
                }
                afficheLeTableauFormatter(nombre);
                Console.ReadKey();
            }
     
            private static void afficheLeTableauFormatter(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau Formatter 6x6:");
                Console.WriteLine();
     
                int l = 0;
                while (l < 6)
                {
                    for (int k = 0; k < 6; k++)
                    {
                        int largeur = 3;
                        string contenu_str = nombre[l, k].ToString();   // convertie le INT en STRING
                        if (contenu_str.Length < largeur)
                        {
                            Console.Write("{0} ", contenu_str.PadLeft(2, '0')); //insère un 0 avant le chiffre si compris entre 1 et 9 
                        }
                    }                                          
                    Console.WriteLine();
                    l++;
                }
            }
        }
    }

  8. #8
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Si tu veux trier tout le tableau ,il suffit de le "transvaser" dans un tableau unidimensionnel OneArray[NxN] avec un foreach....après Array.Sort(OneArray) => ascending ,s'il est suivi de Array.Reverse(OneArray) => descending....


    Pour tier chaque ligne à part ,sa se corse ,car il faut transvaser chaque ligne separement dans un tableau unidemensionnel ,la trier et la reassigner à la ligne en cours du tableau bidimensionnel ...

    bref voice le code .cs du form avec un Button ,2 TextBoxes :
    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WinTableau
    {
        public partial class Form2 : Form
        {
            private StringBuilder sb = null;
            private const int N = 6;
            Random rnd = new Random();
            public Form2()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                sb = new StringBuilder();
                int[,] nombre = new int[N, N]; // créer un tableaux 6x6
                int i = 0;
                while (i < N) // boucle pour entrer les 36 numéros.
                {
                    int randomed = rnd.Next(1, 99);
                    int j = 0;
     
                    while (j < N)
                    {
                        nombre[i, j] = randomed;
                        randomed = rnd.Next(1, 99);
                        sb.AppendFormat(nombre[i, j].ToString("00") + " ");
                        j++;
     
                    }
                    sb.AppendLine();
                    i++;
                }
                textBox1.Text = sb.ToString();
     
                int M = nombre.Length;
                int k = 0;
                int[] OneArray = new int[M ];
                foreach (int item in nombre)
                {
                    OneArray[k] = item ;
                    k ++;
                }
     
                nombre = Tri(nombre);
     
                // affiche valeurs triees
                sb = new StringBuilder();
     
                for (int y = 0; y < nombre.GetUpperBound (0) + 1; y++)
                {
                    for (int x = 0; x < nombre.GetUpperBound (1) + 1; x++)
                    {
                        sb.AppendFormat(nombre[y, x].ToString("00") + " ");
                    }
                    sb.AppendLine();
                }
     
                textBox2.Text = sb.ToString();
     
            }
            private int[,] Tri(int[,] nombre)
            {
                int[] OneArray = new int[N];
                int k ;
                for (int y = 0; y < N; y++)
                {
                    k = 0;
                    for (int x = 0; x < N; x++)
                    {
                        OneArray[k] = nombre[y, x];
                        k++;
                    }
                    Array.Sort(OneArray);
                    k = 0;
                    for (int x = 0; x < N; x++)
                    {
                        nombre[y, x] = OneArray[k];
                        k++;
                    }
                }
     
               return nombre ;
     
            }
        }
    }
    bon code...

Discussions similaires

  1. [PHP 5.3] Alignement des cellules d'un tableau
    Par patarins dans le forum Langage
    Réponses: 2
    Dernier message: 08/07/2014, 16h54
  2. Tableau et couleur des cellules
    Par DaisyVIP dans le forum ASP.NET
    Réponses: 7
    Dernier message: 08/02/2008, 12h30
  3. Tableau et taille des cellules
    Par CanardJM dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/08/2007, 10h43
  4. [StringGrid]Alignement des Cellules
    Par touhami dans le forum Composants VCL
    Réponses: 3
    Dernier message: 06/11/2005, 19h38
  5. [HTML] Tableau sans departagement des cellules
    Par nimport nawak dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/05/2005, 17h58

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