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 :

Userform modal et non modal conséquences sur la portée des variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Par défaut Userform modal et non modal conséquences sur la portée des variables
    Bonjour,

    j'ai une macro avec un UF, les variables de liaison entre l'UF et la macro sont déclarées en public et initialisées dans la sub uF initialize.
    Quand j'appelle l'UF en modal (show) tout fonctionne très bien, l'UF me permet de traiter mes variables et je récupère leurs valeurs dans la macro qd j'unload l'UF.
    Mais et c'est là que je patauge depuis deux jours, je voudrais un UF non modal pour avoir accès à ma feuille.
    Dès que je passe à UF show 0 les valeurs de mes variables alimentées par l'UF se mettent à nulles dès que je ferme l'UF. Quelqu'un peut-il m'aider ?
    Merci
    Aphyllante

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    je suis pas "fan" des variables publiques mais cela me semble curieux que des variables publiques puissent ne plus être accessible à un UserForm non modal.
    Ce qui est publique est accessible dans l'ensemble du projet.
    Où et comment avez-vous déclaré vos variables publiques
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Par défaut
    Bonjour,

    Peut-être est-ce un pb de programmation de l'Userform, notamment à sa fermeture car même en écrivant dans la feuille au niveau du controle listbox1, quand je ferme l'UF, je ne récupère pas mes valeurs en allant lire la feuille, ...je ne comprends pas ce qui se passe car quand je fais un gestgraf show tout marche, pas besoin de passer par l'écriture sur la feuille.
    Voici mon code si une bonne âme veut y jeter un oeil. J'aimerais bien comprendre.

    en haut module 8 :

    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
    Public dtj() As Variant
    Public dte As Variant
    Public dtdm As Variant, dtfm As Variant
    Public mdtd As Variant, mdtf As Variant
    Public tintin As String
     
    Sub amodifdate()
    '
    ' amodifdate Macro
    ' Macro enregistrée le 20/10/2020 par Jacques
     
    nbl = Application.WorksheetFunction.CountA(Range("c:c"))
    Range("i6") = nbl - 9
     
    ReDim dtj(nbl - 10): '17
     
    For d = 1 To nbl - 10
        dtj(d) = Cells(d + 9, 3)
        jr = Split("$L$M$m$J$V$S$D$", "$")(Weekday(dtj(d), 2))
        dtj(d) = jr & " " & Str(dtj(d))
    Next d
     
    dtd = dtj(1): dtf = dtj(nbl - 10)
     
    tintin = "rien1": Cells(2, 5) = tintin
     
    gestgraf.Show 0
    à partir de là quand show tout marche, quand show 0 rien ne se passe même pas la possibilité d'aller lire les cellules en ligne 1, alors que pdt la sub listbox_click, les cellules de la première ligne sont remplies correctement mais impossible de les récupérer... je ne comprends pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Cells(4, 5) = tintin
    Cells(5, 2) = dte
    Cells(6, 2) = "fin"
    Cells(7, 1) = dtdm
    Cells(7, 2) = dtfm
    dtdm = Cells(1, 1): dtfm = Cells(1, 2)
    Cells(8, 1) = dtdm
    Cells(8, 2) = dtfm
    '
    End Sub

    Code de l'userform

    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
    Private Sub UserForm_Initialize()
    tintin = ""
    mdtd = 0: dtdm = 0
    dtdm = 0: dtfm = 0
    Cells(7, 2) = dtfm
    gestgraf.ListBox1.List = dtj
    gestgraf.ListBox1.List(0) = "Dates"
    gestgraf.ListBox1.Enabled = False
    Range("I9:J27") = dtj
    End Sub
     
    Private Sub ListBox1_Click()
    'Static dte As Long
    ind = ListBox1.ListIndex
    dtes = ListBox1.List(ind)
    dtes = "/" & Right(dtes, Len(dtes) - 2) & "/"
    an = Split(dtes, "/")(3): ms = Split(dtes, "/")(2): jr = Split(dtes, "/")(1)
    dte = DateSerial(an, ms, jr)
    If mdtd Then dtdm = dte
    If mdtf Then dtfm = dte
    Cells(1, 1) = dtdm: Cells(1, 2) = dtfm
    tintin = "tintin"
    : Cells(3, 5) = tintin
    End Sub
     
    Private Sub modifdatedéb_Click()
    gestgraf.ListBox1.Enabled = True
    mdtd = 1: mdtf = 0
    End Sub
     
    Private Sub modifdatefin_Click()
    gestgraf.ListBox1.Enabled = True
    mdtf = 1: mdtd = 0
    End Sub
     
    Private Sub CommandButton1_Click()
    Unload gestgraf
    End Sub

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Déjà ce serait bien que vous placiez votre code entre les balises prévues à cet effet (Après avoir sélectionné le code dans l'éditeur clic sur le bouton représenté par un croisillon # )

    Il est important de définir les parents des objets Range. Soit la feuille et le classeur

    Par exemple dans ce code, à la ligne 2 si la feuille active n'est pas celle où se trouve l'objet Cells(d + 9, 3), la variable tableau dtj ne contiendra pas les bonnes valeurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For d = 1 To nbl - 10
    dtj(d) = Cells(d + 9, 3)
    jr = Split("$L$M$m$J$V$S$D$", "$")(Weekday(dtj(d), 2))
    dtj(d) = jr & " " & Str(dtj(d))
    Next d
    Je ne peux pas affirmer que le problème vienne de là mais c'est une piste.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour,

    Je pense que tu devrais apprendre à te passer des variables publiques qui dans ton cas (comme très souvent) sont la source de ton problème.
    Il est préférable d'utiliser les variables locales et de les passer, en argument, aux différentes procédures et fonctions. Tu peux aussi exploiter des propriétés et des méthodes personnalisées avec les objets (par ex. l'userform).

    A lire cette réponse de Pierre Fauconnier : Problème avec les variables publiques P.F.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour Patrice,
    Je pense que tu devrais apprendre à te passer des variables publiques qui dans ton cas (comme très souvent) sont la source de ton problème
    100% d'accord avec toi. Je l'ai d'ailleurs écrit au début de ma première intervention "je ne suis pas "fan" des variables publiques"
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2016
    Messages : 3
    Par défaut
    Bonjour,

    merci pour toutes les réponses très pertinentes qui ont aiguillées mes recherches. Elles confirment ce que je pensais, mon problème ne vient pas des variables. J'avais d'ailleurs utilisé les variables public "en désespoir de cause", effectivement je partage les avis sur le danger de ce type de variables.
    Dans mon programme, je souhaite qu'un UF supportant 4 boutons de traitement (adaptation de champ de séries pour des graphiques, options sauvegarde graphique en image, sauvegarde du tableau de données et du graphique correspondant, et annulation d ela dernière action) soit toujours présent sur la feuille de travail pour pouvoir être appelé à n'importe quel moment (et à n'importe quel endroit sur la feuille). J'avais pensé qu'avec un userform non modal j'avais la solution... ben en fait non.
    Quand l'userform n'est pas modal, l'intégralité de la macro "appelante" semble se dérouler avant que le code de l'UF soit pris en compte (à l'inverse de l'utilisation d'un Uf modal (je découvre peut-être la lune, mais je ne suis pas un programmeur patenté, juste autodidacte qui pratique pour son plaisir, c'est quand même mieux que les mots croisés !). Ci-dessous le petit programme appuyant mes dires :
    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
    Sub Macro2()
    '
    Worksheets("Feuil1").Range("A1:F8").Clear
    '
    Worksheets("Feuil1").Range("B1") = 1 + Worksheets("Feuil1").Range("F1").Value & " Début"
    Worksheets("Feuil1").Range("F1") = 1 + Worksheets("Feuil1").Range("F1").Value
    '
    Worksheets("Feuil1").Range("B2") = 1 + Worksheets("Feuil1").Range("F1").Value & " ins avant show"
    Worksheets("Feuil1").Range("F1") = 1 + Worksheets("Feuil1").Range("F1").Value
    '
    UserForm1.Show : ' remplacer par userform 0
    '
    Worksheets("Feuil1").Range("B5") = 1 + Worksheets("Feuil1").Range("F1").Value & " ins suivant show"
    Worksheets("Feuil1").Range("F1") = 1 + Worksheets("Feuil1").Range("F1").Value
    '
    Worksheets("Feuil1").Range("B6") = 1 + Worksheets("Feuil1").Range("F1").Value & " fin"
    Worksheets("Feuil1").Range("F1") = 1 + Worksheets("Feuil1").Range("F1").Value
    '
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    userform
    Private Sub CommandButton2_Click() :'     traitement
    Worksheets("feuil1").Range("D3") = 1 + Worksheets("Feuil1").Range("F1").Value & " on est ds l'UF"
    Worksheets("Feuil1").Range("F1") = 1 + Worksheets("Feuil1").Range("F1").Value
    End Sub
     
    Private Sub CommandButton1_Click() :'     sortie uf
    Worksheets("feuil1").Range("D4") = 1 + Worksheets("Feuil1").Range("F1").Value & " on sort de l'UF"
    Worksheets("Feuil1").Range("F1") = 1 + Worksheets("Feuil1").Range("F1").Value
    Unload Me
    End Sub
    quand on fait userform show
    on a la séquence suivante en résultat sur la feuille :
    1 début
    2 ins avant show
    3 on est ds l'UF
    4 on sort de l'UF
    5 ins suivant UF
    6 fin

    quand on fait userform show 0
    on a la séquence suivante en résultat sur la feuille :
    1 début
    2 ins avant show
    3 ins suivant UF
    4 fin
    5 on est ds l'UF
    6 on sort de l'UF

    Donc à part mettre tout dans l'uF non modal je ne vois pas trop l'intérêt de cet objet. Ou alors il y a une astuce ? Toujours est-il que je n'ai pas la solution pour mon programme.

    Autre question sur les variables. Est-ce que la définition des variables by réf est équivalente à l'instruction fortran "common", on affecte une portion de mémoire à différente variables ?

    Merci pour vos réponses.

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Autre question sur les variables. Est-ce que la définition des variables by réf est équivalente à l'instruction fortran "common", on affecte une portion de mémoire à différente variables ?
    La réponse dans ce tutoriel titré Utiliser les variables en VBA Excel
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 163
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Mis à part un test il y a très longtemps pour satisfaire ma curiosité, je n'ai aucune expérience dans les UserForm non modal.
    Après quelques tests ce jour, je réalise que les lignes d'instructions qui suivent la commande UserForm1.Show 0 sont lues avant d'afficher le UserForm

    Je ne peux aller plus loin dans mes tests car, personnellement je n'ai aucun intérêt à utiliser un formulaire de cette manière.

    La seule possibilité au stade de mes connaissances ce serait d'avoir une procédure indépendante avec comme seule instruction l'affichage du UserForm non modal
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  10. #10
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour le Fil,

    L'intérêt d'un usf non modal, c'est qu'il reste affiché durant tout le temps où on en a besoin, tout en permettant de continuer à utiliser Excel.
    Si on intègre l'affichage au sein d'une macro, il est tout à fait normal que la macro continue, c'est même là tout l'intérêt d'un usf non modal : il n'empêche pas de continuer à travailler.
    Donc, comme dit Philippe, on met une commande pour l'afficher, et c'est tout.
    C'est particulièrement intéressant lors qu'on travaille avec plusieurs classeurs, mais dans ce cas il est indispensable de gérer les évènements de l'application.

    Il y a un bon exemple de gestion d'un usf non modal, ModelessFormOnTop (version 4), sur le site de Jan Karel Pieterse avec un article détaillé (rechercher avec Google)
    En général, j'utilise un code dérivé de sa version 2 qui apparemment n'est plus sur son site : ModelessformOnTop002.xls

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Perso, je pense à quelques cas d'utilisation d'un userform non modal avec Excel, mais dans la mesure où les modifications via l'interface Excel peuvent poser problème lorsque l'on manipule le userform, il faut
    • très bien structurer son code;
    • être ultra rigoureux dans l'écriture du code;
    • savoir correctement gérer les erreurs avec des On Error;
    • comprendre et appréhender ce qui va se passer si on préfixe ou non un range avec son parent (les deux ont leur utilité);
    • appréhender la suppression ou l'ajout de lignes, de colonnes, de feuilles via l'interace Excel;
    • appréhender le changement de feuille, de classeur, etc (qu'est-ce qui doit se passer, faut-il masquer ou décharger le usf, etc, etc);
    • ...



    Avant d'envisager la programmation d'un usf modeless, il me semble intéressant de voir si c'est vraiment utile, et il est primordial de bien réfléchir à tous les cas et manipulations qui vont potentiellement planter l'outil. Le code que j'ai vu passer ici dans le message initial, à coups de noms de feuilles et de références de cellules hardcodées me fait craindre le pire pour la suite de l'utilisation d'un usf, qu'il soit modeless ou non, d'ailleurs.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour,
    Citation Envoyé par Pierre Fauconnier Voir le message
    Le code que j'ai vu passer ici dans le message initial, [...] me fait craindre le pire pour la suite de l'utilisation d'un usf, qu'il soit modeless ou non, d'ailleurs.
    Tout à fait d'accord, c'est une évidence ...

    Tu aurais pu suggérer à Aphyllante la lecture et la mise en application de ton billet sur : VBA : De la bonne programmation d'un userform

Discussions similaires

  1. [Unity 5] Question sur la portée des variables entre scènes
    Par eliniel dans le forum Unity
    Réponses: 6
    Dernier message: 16/05/2015, 10h01
  2. Précision sur la portée des variables en Java
    Par romit dans le forum Langage
    Réponses: 5
    Dernier message: 19/02/2013, 22h56
  3. petite question bete sur : La portée des variables
    Par Guillaume_PRG dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/06/2012, 15h46
  4. Réponses: 4
    Dernier message: 04/06/2006, 16h53
  5. [FLASH 8] Question sur la portée des objets.
    Par i_shinji dans le forum Flash
    Réponses: 1
    Dernier message: 02/11/2005, 17h18

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