IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boucles For Next imbriquées


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut Boucles For Next imbriquées
    Bonjour, je m'arrache les cheveux!!!

    Je voudrais calculer des distances entre points dans une liste.

    J'ai une liste de coordonnées (x;y) en C:C et D:D, chaque ligne est un couple (x;y) et le but est de calculer les distances (en gros) x2-x1; x3-x1; x4-x1;x5-x1; x3-x2; x3-x4; x3-x5; x4-x2; x4-x5.....en F:F

    A la limite, peu m'importe les répétitions x2-x3....x3-x2.

    J'essaie d’imbriquer mes boucles For Next mais suis en panne là.


    Si quelqu'un pouvait m’apporter une aide salutaire, merci

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Pour l'instant mon idée est de partir sur la piste de 3 boucles imbriquées:


    - Une qui tourne de 1 à 200 * 200 (le nombre de ligne totale) qui applique ce calcul à toutes les combinaisons;
    - Une qui tourne de 1 à 200 (les lignes de ma liste de points) et qui calcule les membres de mes différence différences (x2-X1; x3-X1; x4-X1....);
    - Une qui tourne de 1 à 200 qui calcule l'autre membre de la soustraction (X2-x1; X3-x1; X4-x1...)

  3. #3
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonjour,

    Je pense que 2 boucles suffisent avec un compteur ,
    Mais mieux vaut passer par variable tableau
    Reste l’architecture des données pour les résultats vu tous les x à calculer entre eux ainsi que les y ???
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Je regarde au niveau compteur, jamais fait

    Ce serait un tableau à 1 colonne si je te suis?

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    J'arrive à avoir un bon premier passage, tous les x2-X1; x3-X1; x4-X1
    Mais après je bloque pour continuer à descendre dans les lignes en remontant -X2; -X2; -X2.....

  6. #6
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    En fait le compteur sert à réinitialiser la ligne pour faire évoluer la boucle

    Édit : Là pas trop le temps, mais donne un échantillon de 5 lignes avec le résultat souhaité dans une autre feuille (xlsx)
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    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
     
    Fink = Worksheets("DISTANCES").Range("B150000").End(xlUp).Row * Worksheets("DISTANCES").Range("B150000").End(xlUp).Row
     
    Saut = Worksheets("DISTANCES").Range("B150000").End(xlUp).Row
     
     
    For l = 1 To Fink
     
     
    For k = 1 To Saut
     
     
    For j = 2 To Saut
     
     
    xPtBase = Worksheets("DISTANCES").Range("C" & k).Value
    yPtBase = Worksheets("DISTANCES").Range("D" & k).Value
     
    xPtLoin = Worksheets("DISTANCES").Range("C" & j).Value
    yPtLoin = Worksheets("DISTANCES").Range("D" & j).Value
     
    xDiff = xPtLoin - xPtBase
    yDiff = yPtLoin - yPtBase
     
     
     
    Worksheets("DISTANCES").Range("F2").Offset(l, 0).Value = ((xDiff ^ 2) + (yDiff ^ 2)) ^ 1 / 2
     
     
    Worksheets("DISTANCES").Range("H" & k).Value = "X"
    Application.StatusBar = j / Worksheets("DISTANCES").Range("B150000").End(xlUp).Row * 100 & " %"
     
     
    Next j
     
     
     
    Application.StatusBar = k / Fink * 100 & " %"
     
    Next k
     
     
     
    Application.StatusBar = l / Fink * 100 & " %"

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    A Ok, je vois un peu plus clair alors

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Pour repartir des bases, je suis parti de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Boucle()
     
    Dim i As Integer, k As Integer
     
    For k = 1 To 5
    For i = 2 To 5
     
    Range("T" & i) = i
    Range("U" & k) = k
     
    Next i
    Next k
     
    End Sub

    Et ici, J'ai U1 = 1
    T2 = 2
    T3 = 4
    .
    .
    .
    U2 = 2
    U3 = 3
    .
    .
    .

    Ce qui n'est pas vraiment imbriqué.

    Il me semble que pour mon cas, il faudrait:

    U1 = 1
    T2 = 2
    T3 = 3
    T4 = 4
    .
    .
    .
    U5 = 2
    T6 = 2
    T7 = 3
    .
    .
    .
    U9 = 3
    T10 = 2
    .
    .
    .

    Je pense qu'il y a une question de Step mais je ne sais où l'appliquer puisque je dois prendre toutes les lignes en compte dans mon cas (x2-X1; x3-X1... et X2-x1; X2-x3...)

  10. #10
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Avec:

    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
    Sub DISTANCES()
     
    Application.Calculation = xlManual ' bloque le calcul automatique
     
     
    With Application
            .ScreenUpdating = False
            '.Calculation = xlCalculationAutomatic
    End With
     
     
    Dim l As Long, j As Long, k As Long, xPtBase As Double, xPtLoin As Double, yPtBase As Double, yPtLoin As Double, xDiff As Double, yDiff As Double, Fink As Long, Saut As Long
     
    Fink = Worksheets("DISTANCES").Range("B150000").End(xlUp).Row * Worksheets("DISTANCES").Range("B150000").End(xlUp).Row
     
    Saut = Worksheets("DISTANCES").Range("B150000").End(xlUp).Row
     
     
     
    For l = 1 To 2 * Saut Step Saut
     
     
    For k = 1 To Saut
     
    For j = 2 To Saut
     
     
    xPtBase = Worksheets("DISTANCES").Range("C" & k).Value
    yPtBase = Worksheets("DISTANCES").Range("D" & k).Value
     
    xPtLoin = Worksheets("DISTANCES").Range("C" & j).Value
    yPtLoin = Worksheets("DISTANCES").Range("D" & j).Value
     
    xDiff = xPtLoin - xPtBase
    yDiff = yPtLoin - yPtBase
     
     
    Worksheets("DISTANCES").Range("F" & k * l).Value = ((xDiff ^ 2) + (yDiff ^ 2)) ^ 1 / 2
     
     
    Worksheets("DISTANCES").Range("H" & k).Value = "X"
     
     
    Application.StatusBar = j / Worksheets("DISTANCES").Range("B150000").End(xlUp).Row * 100 & " %"
     
    Worksheets("DISTANCES").Range("Q" & k * l).Value = j
     
    Next j
     
     
    Worksheets("DISTANCES").Range("R" & k * l).Value = k
     
    Application.StatusBar = k / Fink * 100 & " %"
     
    Next k
     
     
     Worksheets("DISTANCES").Range("P2" & k * l).Value = l
     
     
     
     
           Application.StatusBar = l / Fink * 100 & " %"
     
     
    Next l
     
     
     
    With Application
            .ScreenUpdating = True
     
    End With
     
    Application.Calculation = xlAutomatic ' bloque le calcul automatique
     
     
     
    End Sub
    J'obtiens:

    - L'inverse de ce que je voudrais (X10-x1; X10-x2; X10-x3....) au lieu de (X2-x1; x3-X1; x4-X1....) mais c'est déjà pas mal...
    - Je ne passe pas à la deuxième série (qui serait avec cette logique: X9-x1; X9-x2; X9-x3...)

  11. #11
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Désolé très occupé,
    cela je pense doit ressembler à cela (à mettre à partir de A1):
    X1
    X2
    X3
    X4
    X5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
    Dim Cpt As Integer, i As Long
        Cpt = 1
        For i = 2 To 5
            Cells(Cpt, Cells(Cpt, Columns.Count).End(xlToLeft).Column + 1).Value = Cells(i, 1).Value & " - " & Cells(Cpt, 1).Value
            If i = 5 Then Cpt = Cpt + 1: i = Cpt
        Next
    End Sub
    Edit : je n’ai pas fait de calcul mais juste montrer ce que ça donne en texte
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  12. #12
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Oups, je pense m'être mal exprimé, x ou X n dans l'exposé de mon problème n'est pas la valeur mais les termes générique représentant les valeurs sur lesquelles portent les opérations.
    Je pense que ta solution doit être la bonne à ceci près

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Ou alors je comprends mal ton code

  14. #14
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Joli résultat en effet.
    J'essaie d'adapter pour que tous les résultats s'inscrivent dans la même colonne

  15. #15
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    tu peux avoir un résultat comme ceci aussi (Toujours sur forme de représentation texte) :

    X1 Y1
    X2 Y2
    X3 Y3
    X4 Y4
    X5 Y5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    Dim Cpt As Long, i As Long, X As String, Y As String
        Cpt = 1
        For i = 2 To 5
             X = Cells(i, 1).Value & " - " & Cells(Cpt, 1).Value
             Y = Cells(i, 2).Value & " - " & Cells(Cpt, 2).Value
             Cells(Cpt, Cells(Cpt, Columns.Count).End(xlToLeft).Column + 1).Value = X & " | " & Y
            If i = 5 Then Cpt = Cpt + 1: i = Cpt
        Next
    End Sub
    De cette manière tu pourrais récupérer un résultat via les coordonnées des résultats via un Split
    Exemple pour X2 - X1 | Y2 - Y1 coordonnée (1,2) (Attention prendre en compte le décalage - ici ligne 1 , 3ème colonne)

    PS : j'ai édité mon post
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  16. #16
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Avec ça ça fonctionne très bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
    Dim Cpt As Long, i As Long, X As Long, Y As Long
        Cpt = 1
        For i = 2 To 5
             X = Cells(i, 1).Value - Cells(Cpt, 1).Value
             Y = Cells(i, 2).Value - Cells(Cpt, 2).Value
             Cells(Cpt, Cells(Cpt, Columns.Count).End(xlToLeft).Column + 1).Value = X
             Cells(Cpt, Cells(Cpt, Columns.Count).End(xlToLeft).Column + 1).Value = Y
     
            If i = 5 Then Cpt = Cpt + 1: i = Cpt
        Next
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    1	2	1	1	2	2	3	3	4	4
    2	3	1	1	2	2	3	3		
    3	4	1	1	2	2				
    4	5	1	1						
    5	6

    En revanche le calcul final est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (((X2-X1)^2)+((Y2-Y1)^2))^1/2
    sur une seule colonne, et je bloque sur ce passage à une seule colonne

  17. #17
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Qq chose comme cela ?? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    Dim Cpt As Long, i As Long, X As Double, Y As Double
        Cpt = 1
        For i = 2 To 5
             X = Cells(i, 1).Value - Cells(Cpt, 1).Value
             Y = Cells(i, 2).Value - Cells(Cpt, 2).Value
             Cells(Cpt, Cells(Cpt, Columns.Count).End(xlToLeft).Column + 1).Value = ((X ^ 2) + (Y ^ 2)) ^ (1 / 2)
            If i = 5 Then Cpt = Cpt + 1: i = Cpt
        Next
    End Sub
    Edit : Ici c'est le calcul final direct (ce n'est pas en représentation texte - le calcul se fait directement avec les valeurs)
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  18. #18
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Je teste et te dis demain.

    MERCI!!!!!!!!!!!!!!

  19. #19
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Après avoir testé, je ne retrouve pas mes petits:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    1	6	4,12	2,24	3,61	5,00		
    2	2	3,16	2,83	3,16			
    3	5	1,41	2,83				
    4	4	1,41					
    5	3						
     
     
     
     
    		1,00	1,00	    -4,00	16,00	17,00	8,50
    		2,00	4,00	    -1,00	1,00	        5,00	        2,50
    		3,00	9,00	    -2,00	4,00	       13,00	        6,50
    		4,00	16,00   -3,00	9,00	       25,00	      12,50
    Le tableau résultat étant (L1): X=X2-X1.....X^2.....Y=Y2-Y1.....Y^2.....XY=X^2+Y^2.....XY^1/2 en dernière colonne et je ne trouve pas tes résultats.
    Pourtant ton code avait l'air bon???

  20. #20
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonjour,

    Il me semblait aussi que c’était ok
    Peux tu me donner les données sur 5 lignes avec les résultas non ok puis les résultats ok pour toi …
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

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

Discussions similaires

  1. problème de boucles for next imbriquées en vba
    Par Moa83 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/04/2017, 16h54
  2. Plusieurs boucles For next imbriquées
    Par athos7776 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/04/2011, 23h48
  3. [Toutes versions] Message d'erreur pour 2 boucles "For...next" imbriquées.
    Par vivi4561 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/09/2009, 15h41
  4. [Ex-03] Boucle For Next et Do Loop imbriquées
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/10/2008, 19h08
  5. Réponses: 3
    Dernier message: 03/11/2005, 20h22

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