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

MATLAB Discussion :

Remplissage d'un tableau avec d'autres tableaux selon qu'ils sont vides ou non [Débutant]


Sujet :

MATLAB

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Points : 102
    Points
    102
    Par défaut Remplissage d'un tableau avec d'autres tableaux selon qu'ils sont vides ou non
    Bonjour à tous,

    Voici mon problème :

    J'obtiens quatre tableaux comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tableau_reflux_123_liquide_melange=is_reflux_3(evenements_Imp123_liquide_melange_original);
    tableau_reflux_1234_liquide_melange=is_reflux_4(evenements_Imp1234_liquide_melange_original);
    tableau_reflux_12345_liquide_melange=is_reflux_5(evenements_Imp12345_liquide_melange_original);
    tableau_reflux_123456_liquide_melange=is_reflux_6(evenements_Imp123456_liquide_melange_original);
    Ensuite j'ai simplement besoin de rassembler les deux premières colonnes à la suite de ces 4 tableaux dans un même tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau_reflux_liquide_melange_non_trier=[tableau_reflux_123_liquide_melange(:,1:2);tableau_reflux_1234_liquide_melange(:,1:2);tableau_reflux_12345_liquide_melange(:,1:2);tableau_reflux_123456_liquide_melange(:,1:2)];
    Jusque-là il n'y a pas de problème mais ce qui m'embête c'est qu'il peut se produire qu'un des tableaux soit vide, auquel cas je ne veux pas le rajouter au tableau_reflux_liquide_melange_non_trier. Par exemple si tableau_reflux_123456_liquide_melange est vide, je voudrais obtenir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau_reflux_liquide_melange_non_trier=[tableau_reflux_123_liquide_melange(:,1:2);tableau_reflux_1234_liquide_melange(:,1:2);tableau_reflux_12345_liquide_melange(:,1:2)];
    On peut admettre que dès qu'un des quatre tableaux en amont est vide, les autres qui suivent le sont aussi ; cependant le premier, tableau_reflux_123_liquide_melange n'est jamais vide pour le moment donc le résultat non_trier existera toujours.

    Bref quel serait une manière simple de remplissage ?

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Points : 102
    Points
    102
    Par défaut
    Je suis parvenu à écrire la fonction suivante :

    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
    function tab=determination_tableau_non_trier(tableau_reflux_123_liquide_melange,tableau_reflux_1234_liquide_melange,tableau_reflux_12345_liquide_melange,tableau_reflux_123456_liquide_melange)
     
    tab=[];
     
    %Cette fonction permet de constituer le tableau de reflux liquide_melange
    %non trier selon que les tableaux en paramètres sont vides ou non. On
    %rajoute sur la troisième colonne les nombres 123,12345,123456 selon que le
    %reflux trouvé est sur tel ou tel tableau ce qui nous permettra de nous
    %repérer par la suite.
     
    %Cas où tous les 4 tableaux sont non vides
     
    if( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)>0 & size(tableau_reflux_12345_liquide_melange,1)>0 & size(tableau_reflux_123456_liquide_melange,1)>0 )
     
       A=tableau_reflux_123_liquide_melange(:,1:2);
       B=tableau_reflux_1234_liquide_melange(:,1:2);
       C=tableau_reflux_12345_liquide_melange(:,1:2);
       D=tableau_reflux_123456_liquide_melange(:,1:2);
     
       %On remplit les deux premières colonnes avec les deux premières colonnes
       %des différents tableaux dans l'ordre.
     
       tab(:,1:2)=[A;B;C;D];
     
       %Il reste à remplir la troisième colonne avec les nombres 123,
       %1234,12345 ou 123456 signifiant l'appartenance à telle ou telle piste
       %de reflux.
     
       tab(:,3)=zeros(size(tab(:,1:2),1),1);
       Z=tab(:,3);
     
       A123=tab(1:size(tableau_reflux_123_liquide_melange(:,1:2),1),1:2);
       for i=1:size(A123,1)
           Z(i)=123;
       end
       A1234=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1),1:2);
       for i=size(A123,1)+1:size(A123,1)+size(A1234,1)
           Z(i)=1234;
       end    
       A12345=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1),1:2);
       for i=size(A123,1)+size(A1234,1)+1:size(A123,1)+size(A1234,1)+size(A12345,1)
           Z(i)=12345;
       end    
       A123456=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1)+size(tableau_reflux_123456_liquide_melange(:,1:2),1),1:2);
       for i=size(A123,1)+size(A1234,1)+size(A12345,1)+1:size(A123,1)+size(A1234,1)+size(A12345,1)+size(A123456,1)
           Z(i)=123456;
       end    
     
       tab(:,3)=Z;
     
    %Cas où tous les 3 premiers tableaux sont non vides et le dernier 123456 
    %est vide.
     
    elseif( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)>0 & size(tableau_reflux_12345_liquide_melange,1)>0 & size(tableau_reflux_123456_liquide_melange,1)==0 )   
     
       A=tableau_reflux_123_liquide_melange(:,1:2);
       B=tableau_reflux_1234_liquide_melange(:,1:2);
       C=tableau_reflux_12345_liquide_melange(:,1:2);
     
       tab(:,1:2)=[A;B;C];
     
       tab(:,3)=zeros(size(tab(:,1:2),1),1);
       Z=tab(:,3);
     
       A123=tab(1:size(tableau_reflux_123_liquide_melange(:,1:2),1),1:2);
       for i=1:size(A123,1)
           Z(i)=123;
       end
       A1234=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1),1:2);
       for i=size(A123,1)+1:size(A123,1)+size(A1234,1)
           Z(i)=1234;
       end    
       A12345=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1),1:2);
       for i=size(A123,1)+size(A1234,1)+1:size(A123,1)+size(A1234,1)+size(A12345,1)
           Z(i)=12345;
       end    
     
       tab(:,3)=Z;
     
    %Cas où tous les 2 premiers tableaux sont non vides et les derniers 12345 
    %et 123466 sont vides.   
     
    elseif( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)>0 & size(tableau_reflux_12345_liquide_melange,1)==0 & size(tableau_reflux_123456_liquide_melange,1)==0 )
     
        A=tableau_reflux_123_liquide_melange(:,1:2);
        B=tableau_reflux_1234_liquide_melange(:,1:2);
     
        tab(:,1:2)=[A;B];
     
        tab(:,3)=zeros(size(tab(:,1:2),1),1);
        Z=tab(:,3);
     
        A123=tab(1:size(tableau_reflux_123_liquide_melange(:,1:2),1),1:2);
        for i=1:size(A123,1)
           Z(i)=123;
        end
        A1234=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1),1:2);
        for i=size(A123,1)+1:size(A123,1)+size(A1234,1)
           Z(i)=1234;
        end  
     
        tab(:,3)=Z;
     
    %Cas où  le 1er tableau est non vide et tous les autres vides.
     
    elseif( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)==0 & size(tableau_reflux_12345_liquide_melange,1)==0 & size(tableau_reflux_123456_liquide_melange,1)==0 )
     
        A=tableau_reflux_123_liquide_melange(:,1:2);
        tab(:,1:2)=A;
        for i=1:size(A,1)
           Z(i)=123;
        end
     
        tab(:,3)=Z;
     
    %Cas (peu probable) où tous les tableaux sont vides i.e. pas de reflux
     
    else
     
       tab;
     
    end
    Celle-ci traite les cas dans l'ordre selon que 4,3,2,1 ou 0 tableaux sont remplis ou non. je regarde simplement si la taille des tableaux passés en paramètre est supérieure ou égale à 0 ou non. J'ai rajouté une fonctionnalité supplémentaires qui consiste à ajouter sur une troisième colonne un nombre qui va me permettre de me repérer plus tard afin de savoir à quel tableau appartenaient les éléments des deux premières colonnes. Cette fonction semble fonctionner, mais comme d'habitude elle n'est pas optimisée (quoique rapide, instantanée) donc j'aimerais que vous m'aidiez à pouvoir la simplifier davantage.

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    pour savoir si un tableau est vide ou non :
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Points : 102
    Points
    102
    Par défaut
    Bon magelan et merci, effectivement c'est plus rapide que de tester si size(ect...)>0 ou non mais bon cela changera simplement un peu les conditions dans les if et elseif de ma fonction. Aurais-tu une idée pour la simplifier un peu plus par contre mis à part l'inutilité de création des variables A,B,C ou D à chaque fois ?

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i=1:size(A123,1)
       Z(i)=123;
    end
    s'écrit simplement :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Z(1:size(A123,1)) = 123;
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Points : 102
    Points
    102
    Par défaut
    Effectivement, merci Dut. Moi qui n'aime pas les boucles j'aurais pu m'en rendre compte...voici donc le code corrigé sans boucles et sans les variables A, B,C,D :

    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
    function tab=determination_tableau_non_trier(tableau_reflux_123_liquide_melange,tableau_reflux_1234_liquide_melange,tableau_reflux_12345_liquide_melange,tableau_reflux_123456_liquide_melange)
     
    tab=[];
     
    %Cette fonction permet de constituer le tableau de reflux liquide_melange
    %non trier selon que les tableaux en paramètres sont vides ou non. On
    %rajoute sur la troisième colonne les nombres 123,12345,123456 selon que le
    %reflux trouvé est sur tel ou tel tableau ce qui nous permettra de nous
    %repérer par la suite.
     
    %Cas où tous les 4 tableaux sont non vides
     
    if( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)>0 & size(tableau_reflux_12345_liquide_melange,1)>0 & size(tableau_reflux_123456_liquide_melange,1)>0 )
     
       %On remplit les deux premières colonnes avec les deux premières colonnes
       %des différents tableaux dans l'ordre.
     
       tab(:,1:2)=[tableau_reflux_123_liquide_melange(:,1:2);tableau_reflux_1234_liquide_melange(:,1:2);tableau_reflux_12345_liquide_melange(:,1:2);tableau_reflux_123456_liquide_melange(:,1:2)];
     
       %Il reste à remplir la troisième colonne avec les nombres 123,
       %1234,12345 ou 123456 signifiant l'appartenance à telle ou telle piste
       %de reflux.
     
       tab(:,3)=zeros(size(tab(:,1:2),1),1);
       Z=tab(:,3);
     
       A123=tab(1:size(tableau_reflux_123_liquide_melange(:,1:2),1),1:2);
       Z(1:size(A123,1)) = 123;
     
       A1234=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1),1:2);  
       Z(size(A123,1)+1:size(A123,1)+size(A1234,1)) = 1234;
     
       A12345=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1),1:2);  
       Z(size(A123,1)+size(A1234,1)+1:size(A123,1)+size(A1234,1)+size(A12345,1)) = 12345;
     
       A123456=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1)+size(tableau_reflux_123456_liquide_melange(:,1:2),1),1:2);
       Z(size(A123,1)+size(A1234,1)+size(A12345,1)+1:size(A123,1)+size(A1234,1)+size(A12345,1)+size(A123456,1))=123456;
     
       tab(:,3)=Z;
     
    %Cas où tous les 3 premiers tableaux sont non vides et le dernier 123456 
    %est vide.
     
    elseif( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)>0 & size(tableau_reflux_12345_liquide_melange,1)>0 & size(tableau_reflux_123456_liquide_melange,1)==0 )   
     
        tab(:,1:2)=[tableau_reflux_123_liquide_melange(:,1:2);tableau_reflux_1234_liquide_melange(:,1:2);tableau_reflux_12345_liquide_melange(:,1:2)];
     
        tab(:,3)=zeros(size(tab(:,1:2),1),1);
        Z=tab(:,3);
     
        A123=tab(1:size(tableau_reflux_123_liquide_melange(:,1:2),1),1:2);
        Z(1:size(A123,1)) = 123;
     
        A1234=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1),1:2);  
        Z(size(A123,1)+1:size(A123,1)+size(A1234,1)) = 1234;
     
        A12345=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1)+size(tableau_reflux_12345_liquide_melange(:,1:2),1),1:2);
     
        Z(size(A123,1)+size(A1234,1)+1:size(A123,1)+size(A1234,1)+size(A12345,1)) = 12345;
     
        tab(:,3)=Z;
     
    %Cas où tous les 2 premiers tableaux sont non vides et les derniers 12345 
    %et 123466 sont vides.   
     
    elseif( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)>0 & size(tableau_reflux_12345_liquide_melange,1)==0 & size(tableau_reflux_123456_liquide_melange,1)==0 )
     
        tab(:,1:2)=[tableau_reflux_123_liquide_melange(:,1:2);tableau_reflux_1234_liquide_melange(:,1:2)];
     
        tab(:,3)=zeros(size(tab(:,1:2),1),1);
        Z=tab(:,3);
     
        A123=tab(1:size(tableau_reflux_123_liquide_melange(:,1:2),1),1:2);
        Z(1:size(A123,1)) = 123;
     
        A1234=tab(size(tableau_reflux_123_liquide_melange(:,1:2),1)+1:size(tableau_reflux_123_liquide_melange(:,1:2),1)+size(tableau_reflux_1234_liquide_melange(:,1:2),1),1:2);
        Z(size(A123,1)+1:size(A123,1)+size(A1234,1)) = 1234;
     
        tab(:,3)=Z;
     
    %Cas où  le 1er tableau est non vide et tous les autres vides.
     
    elseif( size(tableau_reflux_123_liquide_melange,1)>0 & size(tableau_reflux_1234_liquide_melange,1)==0 & size(tableau_reflux_12345_liquide_melange,1)==0 & size(tableau_reflux_123456_liquide_melange,1)==0 )
     
        A=tableau_reflux_123_liquide_melange(:,1:2);
        tab(:,1:2)=A;
        Z(1:size(A123,1)) = 123;
     
        tab(:,3)=Z;
     
    %Cas (peu probable) où tous les tableaux sont vides i.e. pas de reflux
     
    else
     
       tab;
     
    end
    Je précise que ce code est instantané ce qui est déjà une bonne chose. Je voudrais toutefois, si possible le condenser davantage. Dut, penses-tu qu'on puisse le rendre encore plus court ?

    Je résume le fonctionnement de ma fonction si cela peut aider : dans la fonction j'examine 5 cas : soit tous les tableaux passés en paramètres sont vides, soit il y en a 1,2,3 ou 4 non vides. Dans chaque cas, je stocke dans les deux premières colonnes de tab, tableau renvoyé par ma fonction, les deux premières colonnes du ou des tableau(x) paramètres et dans l'ordre d'apparition. J'initialise une troisième colonne de tab à 0 et je la remplis par des nombres selon que les éléments des deux premières colonnes appartenaient au premier, deuxième,troisième ou quatrième tableau passé en paramètre. J'utilise ceci car je vais avoir besoin de trier par rapport à la première colonne par exemple mais j'ai besoin de savoir où étaient les éléments initialement (dans quel tableau initial).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Remplissage d'un tableau avec VBA
    Par montphil dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/10/2012, 11h39
  2. Utilisation d'un tableau avec d'autres SUB
    Par francky74 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/05/2011, 23h48
  3. Linker une case d'un tableau avec un autre
    Par Zambinou dans le forum C
    Réponses: 6
    Dernier message: 02/12/2010, 13h14
  4. remplir un tableau avec un autre
    Par sandball22 dans le forum C
    Réponses: 28
    Dernier message: 20/04/2007, 16h13
  5. Réponses: 13
    Dernier message: 14/10/2003, 14h31

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