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 :

Sélection des cellules adjacentes de la cellule active


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 113
    Points : 72
    Points
    72
    Par défaut Sélection des cellules adjacentes de la cellule active
    Bonjour à tous,

    Dans la feuille, je fais une recherche par un InputBox.
    Il me sélectionne la cellule contenant les données.
    Ce que je voudrais, c'est la sélection de plusieurs cellules.

    Exemple:
    la cellule sélectionnée est B6.
    Je voudrais la sélection de A6 à C6 (A6:C6)

    Voici mon code, je ne trouve pas la modification à faire.

    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
    Sub VuRechercheActeur()
        Sheets("Vus").Unprotect ""
        Dim Cellule As Range
        Dim Art As String
        Art = InputBox("Article à rechercher")
        With ActiveSheet.Range("B3:B" & [B65000].End(xlUp).Row)
            Set Cellule = .Find(Art, Lookat:=xlWhole)
            If Not Cellule Is Nothing Then
                firstAddress = Cellule.Address
                Do
                    Cellule.Offset(0, 0).Select
                    Selection.Resize(Selection.Rows.Count, _
                        Selection.Columns.Count).Select
                    Sheets("Vus").Protect Password:="", AllowFormattingCells:=True
                    Exit Sub
                    Set Cellule = .FindNext(Cellule)
                Loop While Not Cellule Is Nothing And Cellule.Address <> firstAddress
            End If
        End With
        MsgBox "Rien trouvé"
        Sheets("Vus").Protect Password:="", AllowFormattingCells:=True
    End Sub
    Quelqu'un peut-il m'aider, Merci

  2. #2
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Si je ne m'en réfère qu'au titre de la discussion, je dirais que la propriété

    serait adéquate;

    Exemple d'utilisation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Prrint Sht_Luciano.Range("D14").CurrentRegion.Address

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 113
    Points : 72
    Points
    72
    Par défaut
    Merci pour ta réponse.

    J'ai trouvé les modifications à faire. Voici mon nouveau 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
    Sub VuRechercheActeur()
        Sheets("Vus").Unprotect ""
        Dim Cellule As Range
        Dim Art As String
        Art = InputBox("Article à rechercher")
        With ActiveSheet.Range("B3:B" & [B65000].End(xlUp).Row)
            Set Cellule = .Find(Art, Lookat:=xlWhole)
            If Not Cellule Is Nothing Then
                firstAddress = Cellule.Address
                Do
                    Cellule.Offset(0, -1).Select
                    Selection.Resize(Selection.Rows.Count, _
                        Selection.Columns.Count + 2).Select
                    Sheets("Vus").Protect Password:="", AllowFormattingCells:=True
                    Exit Sub
                    Set Cellule = .FindNext(Cellule)
                Loop While Not Cellule Is Nothing And Cellule.Address <> firstAddress
            End If
        End With
        MsgBox "Rien trouvé"
        Sheets("Vus").Protect Password:="", AllowFormattingCells:=True
    End Sub
    Merci pour votre attention
    Boulser

  4. #4
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut,

    Ne pourrais-tu pas retourner une capture d'écran illustrant
    Quelle cellule est sélectionnée en 1er?
    Quelles autres cellules desquelles tu souhaites l'adresse?

    Ce sera plus clair que de reporter un code adaptation de l'aide en ligne de la méthode Find.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 113
    Points : 72
    Points
    72
    Par défaut
    Mon premier code donne ceci:

    Nom : Capture.PNG
Affichages : 278
Taille : 54,8 Ko

    Le deuxième code donne ceci:

    Nom : Capture2.PNG
Affichages : 279
Taille : 55,1 Ko

  6. #6
    Responsable
    Office & Excel


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 924
    Points
    55 924
    Billets dans le blog
    131
    Par défaut
    Salut...

    Eventuellement, tu peux utiliser Application.InputBox qui, avec Type:=8, renvoie la plage sélectionnée...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Test()
      Dim r As Range
     
      Set r = Application.InputBox(prompt:="Sélectionnez la plage", Type:=8)
    End Sub
    "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...
    ---------------

  7. #7
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut,

    Je ne te demandais pas le résultat de tes codes mais
    1 - L'opération initiale
    2 - Le résultat que tu souhaites obtenir

    D'accord?

    Au demeurant, je te conseillerais plutôt de disposer d'un formulaire doté d'une zone de liste modifiable (Combobox) dont les items seraient alimentés par la colonne souhaitée.
    Suppose en effet que l'utilisateur entre "Morgan Freman" (avec 1 seul "e"). C'est le plantage assuré.

    Mais avant tout, tu devrais présenter tes données sous forme de table (ou tableau structuré) que tu pourrais filtrer par exemple.
    Et, pourquoi pas, utiliser une mise en forme conditionnelle.

    Shéma:
    Table de données ==> Formulaire ==> combobox basé sur les acteurs (sans doublon) ==> chiffre 1 dans une colonne annexe de la table
    La mise en forme de toute la ligne serait basée sur cette colonne.
    A l'initialisation (1) de ton formulaire, tous les enregistrements de cette colonne seraient égaux à 0.

    (1) Ce qui ne signifie pas forcément l'évènement Initialize, mais plutôt lors de l'appel du formulaire (avant de le montrer)

    Pierre,
    Entrer une telle donnée basée sur un item de la table me semble dangereux.
    Pour ma part, dans ce cas, je privilégie une combobox ou une listbox.
    S'il s'agit d'une colonne, le contrôle serait alimenté par la plage ligne d'en-tête.
    S'il s'agit d'un enregistrement, il le serait par la liste de ces enregistrements.
    Tout dépend de ce que recherche notre ami.
    Qu'en penses-tu?

    Bone soirée à vous deux, bonne soirée au Forum.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  8. #8
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Si j'ai bien compris, l'utilisateur tape le nom d'un article, ça le recherche dans la colonne B et tu souhaites que la ligne complète (de la colonne A à la colonne C) soit sélectionnée automatiquement si le texte est trouvé
    J'ai modifier un peu ton code pour réaliser cela (à tester et affiner).

    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
    Sub VuRechercheActeur()
    Dim Cellule As Range
    Dim Art As Variant
     
        'On pointe la feuille "Vus"
        With ThisWorkbook.Sheets("Vus")
            'On demande le nom d'article
            Art = InputBox("Article à rechercher")
            'On vérifie que l'utilisateur à bien tapé du texte
            If Art <> False Then
                'On pointe les données contenues en Colonne B
                With .Range(.Range("B3"), .Cells(.Rows.Count, "B").End(xlUp))
                    'On vérifie que des données sont bien présentent dans la colonne
                    If .Row > 2 Then
                        'On recherche le terme exact
                        Set Cellule = .Find(Art, Lookat:=xlWhole)
                        If Not Cellule Is Nothing Then
                            'On supprime la protection : Pas sûr que ce soit utile pour simplement faire une sélection
                            .Unprotect
                            'On sélectionne la ligne complète
                            Cellule.Offset(0, -1).Resize(1, 3).Select
                            .Sheets("Vus").Protect AllowFormattingCells:=True
                        Else
                            'Aucune cellule ne contient ce texte
                            MsgBox "Rien trouvé"
                        End If
                    End If
                End With
            Else
                'L'utilisateur à abandonné la recherche
                '...
            End If
        End With
    End Sub
    Quelques remarques, conseils...
    • Précise bien sur quel classeur et feuille tu travailles, ça évite bien des ennuis
    • Inutile de faire des .Select pour travailler sur une cellule/Feuille
    • Avec InputBox, il vaut mieux vérifier si l'utilisateur n'a pas fermé la box sans rien inscrire
    • L'utilisation de Find telle que tu l'écris rend très très restrictif la recherche, faut vraiment taper le texte exact
    • Pour le Find, inutile de coder une boucle puisque tu ne recherches qu'une seule itération. Soit le terme existe, soit il n'existe pas
    • Vérifie s'il est bien nécessaire de déprotéger/protéger la feuille
    • Tu devrais regarder l'utilisation des tableaux sur les feuilles Excel, ça te faciliterait grandement la tache. Tu as des tutoriel/blog de Pierre Fauconnier (que je salut) sur le sujet. En voila un mais il y en a d'autres. Regarde sur le post #6 de la conversation, en dessous de son Nom, sous les étoiles rouges, le petit livre marron d'amène aux tutoriels qu'il a rédigé et le Wifi vert aux billets. Bonne lecture


    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  9. #9
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut QWaz

    L'utilisation de Find telle que tu l'écris rend très très restrictif la recherche, faut vraiment taper le texte exact
    Je suis d'accord.
    C'est la raison pour laquelle, je me permets d'insister, il vaut mieux se baser sur une zone de liste dont les items seraient alimentés depuis la table de données.
    Soit un enregistrement précis, soit un champ (entête de colonne), comme je l'ai mentionné ci-dessus.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  10. #10
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 113
    Points : 72
    Points
    72
    Par défaut
    Bonjour,
    Oui bien sûr ce serait beaucoup mieux. Mais le fichier est consulter que par moi.
    Merci quand même pour ces bonnes idées.
    Boulser

  11. #11
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    A tout hasard, cette conversation recente pourrait te donner un truc clef en main avec une meilleur ergonomie de recherche.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  12. #12
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour à vous, Bonjour au Forum,

    Soit:

    Un tableau structuré T_Famille intégré à une feuille de travail de codename = Sht_Données

    Nom : Pres_tableau.JPG
Affichages : 246
Taille : 56,9 Ko

    Un formulaire Usf_Famille intégrant 2 zones de listes modifiables (Combobox)
    1 - Cbx_champs dont les items sont retournés par la liste des champs du tableau
    2 - Cbx_records dont les items sont retournés par la liste des enregistrements de la colonne choisie par Cbx_champs

    Nom : Prés_Forms.JPG
Affichages : 237
Taille : 19,1 Ko

    Disons une certaine forme de Combobox en cascades.

    Les items sont retournés triés et sans doublon.
    Pour ce faire, plutôt qu'une gestion par VBA qui, pour ma part, serait possible mais fastidieuse, je préfère utiliser un tableau structuré annexe T_choix intégré à une feuille utilitaire de codename = Sht_Utilitaires

    Nom : Prés_util.JPG
Affichages : 244
Taille : 18,4 Ko

    Le présent développement a pour objet de colorier les enregistrements correspondants aux 2 combobox
    (On aurait pu tout aussi bien les sélectionner)
    Ici, pour plus de clarté, le style de tableau est neutre (sans alternance de couleur)
    De plus, pour chaque enregistrement, une mise en forme conditionnelle est liée à l'item "test"
    Elle s'effectue par une formule semi-relative
    exemple
    =$D2=1
    pour l'ensemble de chaque ligne.
    Hélas, du moins pour la version 2016, et sauf erreur de ma part, on ne peut utiliser de formule structurée dans un tableau éponyme.

    L'activation du bouton de commande du formulaire va ainsi affecter la valeur 1 à chaque cellule de la colonne "test" du tableau structuré
    Ceci pour un résultat final comme suit

    Nom : Pres_Résultat.JPG
Affichages : 241
Taille : 33,9 Ko

    Le développement:

    A l'ouverture de l'applicatif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
     
    Private Sub Workbook_Open()
    Range("T_Famille[test]").ClearContents
    End Sub
    Activation du formulaire depuis un module standard



    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
    Option Explicit
     
    Public Sub Lance_formulaire()
     
    Dim montablo As ListObject
    Set montablo = Range("T_Famille").ListObject
     
    montablo.ListColumns("Test").DataBodyRange.ClearContents
     
    With Usf_famille
            With .Cbx_champs
                    .Clear
                    'Assise de la Combobox sur la ligne de titres du tableau structuré
                    .List = Application.WorksheetFunction.Transpose(montablo.HeaderRowRange.Value)
            End With
            .Show
    End With
     
    Set montablo = Nothing
     
    End Sub
    Ce code est affecté au bouton de commande "Go Sélection" ci-dessus

    Code Formulaire

    L'évènement Change de la 1ère combobox va initialiser les items de la 2ème

    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
     
    Option Explicit
     
    Private Sub Cbx_champs_Change()
     
    Dim montablo As ListObject
    Set montablo = Range("T_Famille").ListObject
     
    With montablo
            ReDim T(1 To .ListRows.Count)
            T = .ListColumns(Cbx_champs.Value).DataBodyRange.Value
    End With
     
    With Sht_Utilitaires.ListObjects("T_Choix")
            .AutoFilter.ShowAllData
            If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
            .ListRows.Add
            .DataBodyRange.Cells(1, 1).Resize(UBound(T, 1), 1).Value = T
            .Range.RemoveDuplicates Columns:=1, Header:=xlYes
     
            With .Sort
                .SortFields.Clear
                .SortFields.Add Key:=Range("T_Choix").ListObject.ListColumns(1).DataBodyRange, SortOn:=xlSortOnValues, Order:=xlAscending
                .Apply
            End With
     
            Me.Cbx_records.List = .ListColumns(1).DataBodyRange.Value
     
    End With
     
    Erase T
     
    End Sub
    Action depuis le bouton "Valide" du Formulaire

    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
    Private Sub Btn_Valide_Click()
     
    Application.ScreenUpdating = False
     
    Range("T_Famille[test]").ClearContents
    Dim i As Long
    For i = 1 To Range("T_Famille[test]").Count
            If Range("T_Famille[" & Me.Cbx_champs & "]")(RowIndex:=i).Value = Me.Cbx_records.Value Then _
                    Range("T_Famille[test]")(RowIndex:=i).Value = 1
    Next i
     
    Application.ScreenUpdating = True
     
    Unload Me
     
    End Sub
    Voici, Voilou.

    Avec, en prime, l'applicatif en pièce jointe à ce post.

    A plus tard, les amis.
    Fichiers attachés Fichiers attachés

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


Discussions similaires

  1. Réponses: 8
    Dernier message: 06/08/2019, 19h33
  2. Réponses: 10
    Dernier message: 01/03/2011, 09h49
  3. [XL-2002] Sélection des cellules visibles d'une colonne dans un filtre
    Par pitoumad dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/06/2010, 11h33
  4. Réponses: 6
    Dernier message: 12/04/2007, 18h13

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