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 :

Regexp et VBA


Sujet :

Macros et VBA Excel

  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut Regexp et VBA
    RE RYU
    pas de mess technique par MP
    pour ton problème

    il y a plusieurs techniques

    en voici quelques unes le nom des fonctions est explicite
    methode avec la fonction replace de vbscript regexp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
     Dim txt As String, Txt2 As String
        txt = UCase("TOTO_01_REL.Txt")
        MsgBox chiffre_seulement(txt)
    End Sub
    Function chiffre_seulement(txt As String)
        With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "[a-z-A-Z-_?.]": chiffre_seulement = .Replace(txt, ""): End With
    End Function
    methode avec la fonction execute de vbscript.regexp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub test2()
    Dim txt As String, Txt2 As String
        txt = UCase("TOTO_01_REL.Txt")
        MsgBox chiffre_seulementbis(txt)
    End Sub
    Function chiffre_seulementbis(txt As String)
        With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "(\d+)": Set Matches = .Execute(txt): chiffre_seulementbis = Matches(0): End With
    End Function
    apres si ta chaine est totalement numeric ou string c'est simple avec VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if isnumeric(chaine) then ......' si elle est numerique ??.
    apres si tu veut savoir avec VBA si il elle est string et si il y a quand meme des numériques
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if isnumeric(chaine) =false and chaine like "[0-9]" then  msgbox "cette chaine n'est pas numerique mais comporte des chiffre "
    voila t'a tout
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Membre Expert
    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
    Par défaut
    Merci Patrick ,

    En plus la partie regex m’intéresse
    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 :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    re c'est un object assez facile a utiliser quand on connais les constantes a utiliser dans le pattern


    ca peut résoudre des problème très complexe dans le traitement d'une chaine que les fonctions interne vba ne font pas

    ici on est dans des exemples hyper simples

    re
    voila un exemple a peine un peu plus complexe bien qu'avec vba on aurait pu faire pareil c'est juste pour te montrer regarde bien les pattern

    tu veux savoir ce que fait toto

    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 que_fait_toto()
        Dim txt As String, patt As String
        txt = UCase("TOTO va a la picine 3 fois par semaine et 10 fois par mois au judo ")
        patt = "(\d){1} (\D+) "
        rep1 = extractionchaine_precise(txt, patt)
        patt = "(\d){2} (\D+)"
        rep2 = "il va " & extractionchaine_precise(txt, patt)
        MsgBox "toto va  a la picine " & rep1 & vbCrLf & rep2
     
    End Sub
     
    Function extractionchaine_precise(txt As String, patt As String)
        With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = patt: Set Matches = .Execute(txt): extractionchaine_precise = Matches(0): End With
    End Function
    maintenant imaginons que tu veuille supprimer tout les caractères spéciaux du genre ",;:§./\" etc.... dans tes cellules en un coup, imagine avec des replace VBA

    avec vbscript.regexp c'est plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Test2()
    Dim i As Long, Txt As String, Txt2 As String
      For i = 2 To ThisWorkbook.ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
        Txt = StrConv(Cells(i, 1).Value, vbProperCase)
        With CreateObject("VBScript.RegExp")
          .Global = True
          '.IgnoreCase = True
          .Pattern = "[^\w]"
          Txt2 = .Replace(Txt, "")
        End With
        Cells(i, 1).Value = Txt2
      Next i
    End Sub
    voila un bon debut pour commencer a te familiariser avec cet object
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre Expert
    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
    Par défaut
    oui j'imagine, avec un peu d entrainement ça doit pas être trop compliqué, mais bon faut pas se tromper quand on fait son regex
    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 :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    tiens un des plus dificile les dates!!
    regarde bien le texte de depart et comme regex fait bien la difference entre la date et le budjet vacance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub a_quelle_date_toto_est_parti()
        Dim txt As String, patt As String
        txt = UCase("TOTO s'ennuyait alors le 25/07/2016 il est partie en colonie avec 1/3 de son budjet vacance ")
        patt = "(\d){2}/(\d){2}/(\d){4}"
        rep1 = extractionchaine_precise2(txt, patt)
         MsgBox "il est partie le : " & rep1 & vbCrLf & rep2
     
    End Sub
    Function extractionchaine_precise2(txt As String, patt As String)
        With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = patt: Set Matches = .Execute(txt): extractionchaine_precise2 = Matches(0): End With
    End Function
    tu devrais comprendre le pattern la

    tiens le texte de depart est encore plus precis et vbregexp va bien faire la difference pour la date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub a_quelle_date_toto_est_parti()
        Dim txt As String, patt As String
        txt = UCase("TOTO s'ennuyait alors le 25/07/2016 il est partie en colonie il a dit 1/2/3 bye bye !!")
        patt = "(\d){2}/(\d){2}/(\d){4}"
        rep1 = extractionchaine_precise2(txt, patt)
         MsgBox "il est partie le : " & rep1 
    End Sub
    Function extractionchaine_precise2(txt As String, patt As String)
        With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = patt: Set Matches = .Execute(txt): extractionchaine_precise2 = Matches(0): End With
    End Function
    toi c'est les tableaux ton dada moi c'est ca

    si j'avais du chercher la date en VBA le plus simple aurais été ceci: ca te donne une idée de la puissance de vbscript.regexp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    txt = UCase("TOTO s'ennuyait alors le 25/07/2016 il est partie en colonie il a dit 1/2/3 bye bye !!")
     For i = 1 To Len(txt)
     If IsNumeric(Mid(txt, i, 1)) Or Mid(txt, i, 1) = "/" Then madate = madate & Mid(txt, i, 1)
    Next
    MsgBox Mid(madate, 1, 10)
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre Expert
    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
    Par défaut
    Re,
    Merci Patrick, là j'ai de quoi faire pour un débur
    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 :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour à vous deux.
    Si, comme je le pense, RyuAutodidacte développe en version MAC, cela va être assez "chaud" , de créer l'objet "VBScript.RegExp" (au demeurant également inutilisable, y compris avec Wiundows, sur certaines machines, dont la mienne)

    Mais RyuAutodidacte pourrait s'en sortir de manière "simple", depuis MAC :
    utiliser Applescript (MacScript(), je crois, depuis VBA) , pour se fabriquer son propre outil regex
    et s'il a la chance d'avoir la version 1.8 de Applescript 1.8, il peut utiliser la commande "do shell script" pour se servir de la commande Unix sh shell, qui conduit à la disponibilité de commandes regexp (awk, egrep, etc... de Unix SONT du regex)

    Ah ouais ...
    et comment s'en sortir pour écrire cela ? --->>> "fastoche" --->>
    https://developer.apple.com/library/...65/_index.html

    Patapé, hein .....
    Il faut bien rigoler de temps à autre ...

    Amitiés

  8. #8
    Membre Expert
    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
    Par défaut
    Coucous Jacques,
    Merci pour les infos
    Hé oui, comme tu l'as presque deviné, je suis en train de faire très doucement (avec le peu de temps que j'ai)
    mais sûrement des codes facilement utilisables avec AppleScript + "do Shell Scrip" que je connais quasiment pas, ce qui me vaut pas mal de recherches pour comprendre
    Et ce afin d'agrémenter une faq Mac que l'on pourrait appeler Causette
    Ça permettra d'avoir certains processus équivalent à pc n'existant pas sur Mac voir faire des conditions dans le code selon si on est sur pc ou Mac
    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 :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  9. #9
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour à tous !

    Juste un p'tit passage rapide pour rappeler que même sur Windows
    on peut rencontrer une contrainte de développement en full VBA natif et ce même en entreprise,
    c'est à dire sans aucun objet ou dll externes : sans Dictionary, sans RegExp, sans FSO, …

    Et c'est là que l'évidence vient frapper en plein milieu du front,
    ne pas réinventer la roue au risque qu'elle fusse carrée mais bien utiliser l'existant d'Excel :
    « Penser Excel avant VBA ! »

    Et c'est vrai selon le post initial vu le peu d'effort de certains demandeurs
    je peux répondre à leur niveau via le B-A-BA d'Excel comme par exemple la fonction MATCH
    pouvant convenir pour de petits volumes à traiter mais désavantageuse lors de volumes importants …

  10. #10
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour Marc_L
    Juste un p'tit passage rapide pour rappeler que même sur Windows
    on peut rencontrer une contrainte de développement en full VBA natif et ce même en entreprise,
    c'est à dire sans aucun objet ou dll externes : sans Dictionary, sans RegExp, sans FSO, …
    Oserais-je dire "surtout en entreprise", où un responsable sécurité et un correspondant informatique ont mission de "veiller au grain"
    Et ils n'y veillent pas qu'en imposant des contraintes, mais en empêchant carrément tout égarement des "candidats éventuels à une contravention à cette contrainte".
    Tout développement qu'ils tenteraient malgré tout de faire hors respect de cette règle "planterait" tout simplement de manière impitoyable et sans appel.

  11. #11
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Tu as raison, d'où dépend du niveau de sécurité employé …

    Certaines interdisant l'accès au Net sauf via une interface interne verrouillée sur un nombre restreint de sites …

  12. #12
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Des raisons majeures existent.
    Certaines sont exposées ici :
    http://assiste.com/Comment_activer_d...ting_Host.html
    Lire tout et pas uniquement "en diagonale"
    quant aux méthodes d'inhibition, certaines sont bien plus radicales et efficaces (et bien plus en amont) que celles exposées dans ce lien.

  13. #13
    Membre Expert
    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
    Par défaut
    Merci Marc et Jacques de rappeler ces contraintes importantes concernant le développement de Macros
    et c'est vrai dans certaines entreprises au données sensibles ou voulant éviter la moindre contamination extérieur pour protéger le parc informatique
    ces mesures sont importantes

    Me concernant, travaillant dans un domaine (PAO) dont le parc informatique est Mac les mesures ne sont pas aussi drastiques (même si le risque zéro n'existe pas)
    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 :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re

    ouais
    si on doit shunter toute les librairie de Windows qui serait un facteur de risque
    éteignez tout simplement votre PC
    a supprimer la scrun je supprimerait la IE
    et pour la cerise je commencerait avant tout par la kernel rien que pour le shutdown
    et pourquoi pas cmd aussi tiens car si il y en a un qui est risqué c'est bien lui
    ou même reg tant qu'a faire comme ca la base de registre reste intègre
    tellement facile avec powershell de faire sauter le boot.ini

    Pffff!!!

    mettez vous a linux alors
    si les vrai pros ne prenaient pas de risques( calculé et mesuré ) il y en a beaucoup d'entre vous qui n'auraient pas de boulot ou qui n'auraient pas de retraite
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #15
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour patricktoulon
    et tes dll et cie, tu les utilises comment de manière insidieuse, alors ?
    Ah oui ! J'oubliais : en faisant des petits échanges de fichiers exécutables (ce que sont entre autres des classeurs Excel) entre "gentils copains" -->> chevaux de troie d'abord, le reste ensuite.
    Alors le "pfff.." repassera...
    Et pour en revenir au "fondement" : tu ne seras jamais le maître des décisions de protection décidées par d'autres. Et si VBS inhibé --->> VBS inhibé -->> et ce qui l'utilise >>> avorté dans la foulée.
    Salut, donc et ... bonne chance à toi ...

    EDIT : et pour ce qui est de IE : tu vas bientôt avoir l'occasion de voir qu'une cerise sur le gâteau que j'ai ajoutée à un outil que tu attends et dont je n'ai pas encore fini de peaufiner les commentaires ne peut fonctionner que si le responsable informatique n'a pas bridé certaines petites autres choses ... Dans le cas contraire : petit message assez clair ! ...

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Notepad++ pour s'entraîner ça évite de faire du code pour tester !

    http://nliautaud.developpez.com/tuto...ns-regulieres/

  17. #17
    Membre Expert
    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
    Par défaut
    Bonsoir Robert,
    Merci pour ce lien je ne connaissais pas
    pour s'entraîner ça évite de faire du code pour tester !
    C'est clair, c'est du temps de gagner en plus
    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 :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

Discussions similaires

  1. VBA Regexp et couleur
    Par cadjer dans le forum Excel
    Réponses: 3
    Dernier message: 26/09/2016, 11h59
  2. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  3. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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