Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FONCTIONS INTERESSANTES D'EXTRACTION DE TEXTE DANS UNE EXPRESSION


Information sur la source

Catégorie :Texte Classé sous : instr, instrrev, extraction, texte, occurence Niveau : Débutant Date de création : 26/07/2006 Date de mise à jour : 27/07/2006 12:12:36 Vu / téléchargé: 6 306 / 347

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Il s'agit de 4 fonctions que vous pourriez utiliser dans un module
   InStr2           --> semblable à InStr, sauf que vous indiquez l'occurence du texte recherché
   InStrRev2        --> semblable à InStrRev, sauf que vous indiquez l'occurence du texte recherché
   ExtraitTexte     --> permet d'extraire dans une chaine string, un texte compris entre 2 délimiteurs quelconques.
   NombreOccurences --> permet de déterminer le nombre d'occurence d'un texte dans une expression

 

Source

  • Option Explicit
  • Public Enum EnumSensRechercheTexte
  • sr_GaucheVersDroite = 1
  • sr_DroiteVersGauche = -1
  • End Enum
  • 'Cette fonction différe de la fonction InStr de VB uniquement du fait du paramètre
  • 'lOccurence.
  • 'lOccurence : elle indique l'ordre de l'occurence du texte recherché
  • ' 1=1ère occurence, 2=2ème occurence, ...
  • ' -1=dernière occurence, -2=avant dernière occurence, ...
  • Public Function InStr2(ByVal sExpression As String, _
  • ByVal sTexteRecherche As String, _
  • Optional ByVal lOccurence As Long = 1, _
  • Optional ByVal lMethodeComparaison As VbCompareMethod = vbTextCompare) As Long
  • Dim lOccurenceEnCours As Long, lPosTexteRecherche As Long
  • Select Case lOccurence
  • Case Is > 0:
  • Do
  • lOccurenceEnCours = lOccurenceEnCours + 1
  • lPosTexteRecherche = InStr(lPosTexteRecherche + 1, sExpression, sTexteRecherche, lMethodeComparaison)
  • Loop While (lOccurenceEnCours < lOccurence) And (lPosTexteRecherche > 0)
  • InStr2 = lPosTexteRecherche
  • Case Is < 0: InStr2 = InStrRev2(sExpression, sTexteRecherche, -lOccurence, lMethodeComparaison)
  • Case 0: InStr2 = 0
  • End Select
  • End Function
  • 'Cette fonction différe de la fonction InStrRev de VB uniquement du fait du paramètre
  • 'lOccurence.
  • 'lOccurence : elle indique l'ordre de l'occurence du texte recherché
  • ' 1=1ère occurence, 2=2ème occurence, ...
  • ' -1=dernière occurence, -2=avant dernière occurence, ...
  • Public Function InStrRev2(ByVal sExpression As String, _
  • ByVal sTexteRecherche As String, _
  • Optional ByVal lOccurence As Long = 1, _
  • Optional ByVal lMethodeComparaison As VbCompareMethod = vbTextCompare) As Long
  • Dim lOccurenceEnCours As Long, lPosTexteRecherche As Long
  • Select Case lOccurence
  • Case Is > 0:
  • Do
  • lOccurenceEnCours = lOccurenceEnCours + 1
  • If lOccurenceEnCours <> 1 Then
  • lPosTexteRecherche = InStrRev(sExpression, sTexteRecherche, lPosTexteRecherche + Len(sTexteRecherche) - 2, lMethodeComparaison)
  • Else
  • lPosTexteRecherche = InStrRev(sExpression, sTexteRecherche, , lMethodeComparaison)
  • End If
  • Loop While (lOccurenceEnCours < lOccurence) And (lPosTexteRecherche > 0)
  • InStrRev2 = lPosTexteRecherche
  • Case Is < 0: InStrRev2 = InStr2(sExpression, sTexteRecherche, -lOccurence, lMethodeComparaison)
  • Case 0: InStrRev2 = 0
  • End Select
  • End Function
  • 'Cette fonction a pour but d'extraire le texte d'une expression texte compris entre
  • 'deux délimiteurs textes.
  • '
  • 'Paramètres:
  • '----------
  • 'sExpression : Expression texte dans laquelle s'effectuera la recherche
  • 'sDelimiteurGauche : Délimiteur gauche du texte à extraire
  • 'sDelimiteurDroit : Délimiteur droit du texte à extraire
  • 'lSensRecherche : sens de la recherche. +1=[De gauche Vers Droite], -1=[De Droite vers Gauche]
  • 'lOccurence : elle indique l'ordre de l'occurence du texte recherché suivant le sens de recherche
  • ' 1=1ère occurence, 2=2ème occurence, ...
  • ' -1=dernière occurence, -2=avant dernière occurence, ...
  • 'lMethodeComparaison : méthode de comparaison pour les délimiteurs gauche et droit, de type VbCompareMethod
  • '
  • 'Gestion d'erreur:
  • '-----------------
  • 'Pour toute combinaison de paramètre incohérente la fonction renvoie une chaine vide
  • Public Function ExtraitTexte(ByVal sExpression As String, _
  • ByVal sDelimiteurGauche As String, ByVal sDelimiteurDroit As String, _
  • Optional ByVal lSensRecherche As EnumSensRechercheTexte = sr_GaucheVersDroite, _
  • Optional ByVal lOccurence As Long = 1, _
  • Optional ByVal lMethodeComparaison As VbCompareMethod = vbTextCompare) As String
  • Dim lPosDelimiteurRef As Long
  • Dim lPosGaucheResultat As Long, lPosDroiteResultat As Long, lPos2 As Long
  • Select Case lSensRecherche
  • Case sr_GaucheVersDroite:
  • 'Recherche de la position du délimiteur gauche suivant lOccurence
  • If sDelimiteurGauche = vbNullString Then
  • 'Ne tient pas compte de lOccurence si le délimiteur gauche est une chaine vide
  • lPosGaucheResultat = 1
  • Else
  • lPosDelimiteurRef = InStr2(sExpression, sDelimiteurGauche, lOccurence, lMethodeComparaison)
  • If lPosDelimiteurRef > 0 Then lPosGaucheResultat = lPosDelimiteurRef + Len(sDelimiteurGauche)
  • End If
  • 'Recherche la position du délimiteur droit pour ressortir le résultat
  • If lPosGaucheResultat > 0 Then
  • If sDelimiteurDroit = vbNullString Then
  • ExtraitTexte = Mid$(sExpression, lPosGaucheResultat)
  • Else
  • lPos2 = InStr(lPosGaucheResultat, sExpression, sDelimiteurDroit, lMethodeComparaison)
  • 'après ce calcul on a toujours soit lPos2=0 soit lPos2 >= lPosGaucheResultat
  • If lPos2 > 0 Then
  • lPosDroiteResultat = lPos2 - 1
  • ExtraitTexte = Mid$(sExpression, lPosGaucheResultat, lPosDroiteResultat - lPosGaucheResultat + 1)
  • End If
  • End If
  • End If
  • Case sr_DroiteVersGauche:
  • 'Recherche de la position du délimiteur droit suivant lOccurence
  • If sDelimiteurDroit = vbNullString Then
  • 'Ne tient pas compte de lOccurence si le délimiteur droit est une chaine vide
  • lPosDroiteResultat = Len(sExpression)
  • Else
  • lPosDelimiteurRef = InStrRev2(sExpression, sDelimiteurDroit, lOccurence, lMethodeComparaison)
  • If lPosDelimiteurRef > 0 Then lPosDroiteResultat = lPosDelimiteurRef - 1
  • End If
  • 'Recherche la position du délimiteur gauche pour ressortir le résultat
  • If lPosDroiteResultat > 0 Then
  • If sDelimiteurGauche = vbNullString Then
  • ExtraitTexte = Left$(sExpression, lPosDroiteResultat)
  • Else
  • lPos2 = InStrRev(sExpression, sDelimiteurGauche, lPosDroiteResultat, lMethodeComparaison)
  • 'après ce calcul on a toujours soit lPos2=0 soit lPos2 <= lPosDroiteResultat
  • If lPos2 > 0 Then
  • lPosGaucheResultat = lPos2 + Len(sDelimiteurGauche)
  • ExtraitTexte = Mid$(sExpression, lPosGaucheResultat, lPosDroiteResultat - lPosGaucheResultat + 1)
  • End If
  • End If
  • End If
  • Case Else:
  • End Select
  • End Function
  • 'Cette fonction permet de déterminer le nombre d'occurences d'un texte dans une expression
  • Public Function NombreOccurences(ByVal sExpression As String, _
  • ByVal sTexteRecherche As String, _
  • Optional ByVal lMethodeComparaison As VbCompareMethod = vbTextCompare) As Long
  • Dim lOccurenceEnCours As Long, lPosTexteRecherche As Long
  • If sTexteRecherche = vbNullString Then Exit Function
  • lPosTexteRecherche = InStr(1, sExpression, sTexteRecherche, lMethodeComparaison)
  • Do While lPosTexteRecherche > 0
  • lOccurenceEnCours = lOccurenceEnCours + 1
  • lPosTexteRecherche = InStr(lPosTexteRecherche + 1, sExpression, sTexteRecherche, lMethodeComparaison)
  • Loop
  • NombreOccurences = lOccurenceEnCours
  • End Function
Option Explicit

Public Enum EnumSensRechercheTexte
    sr_GaucheVersDroite = 1
    sr_DroiteVersGauche = -1
End Enum


'Cette fonction différe de la fonction InStr de VB uniquement du fait du paramètre
'lOccurence.
'lOccurence : elle indique l'ordre de l'occurence du texte recherché
'   1=1ère occurence, 2=2ème occurence, ...
'  -1=dernière occurence, -2=avant dernière occurence, ...
Public Function InStr2(ByVal sExpression As String, _
    ByVal sTexteRecherche As String, _
    Optional ByVal lOccurence As Long = 1, _
    Optional ByVal lMethodeComparaison As VbCompareMethod = vbTextCompare) As Long
    
Dim lOccurenceEnCours As Long, lPosTexteRecherche As Long
    
    Select Case lOccurence
        Case Is > 0:
            Do
                lOccurenceEnCours = lOccurenceEnCours + 1
                lPosTexteRecherche = InStr(lPosTexteRecherche + 1, sExpression, sTexteRecherche, lMethodeComparaison)
            Loop While (lOccurenceEnCours < lOccurence) And (lPosTexteRecherche > 0)
            InStr2 = lPosTexteRecherche
        Case Is < 0: InStr2 = InStrRev2(sExpression, sTexteRecherche, -lOccurence, lMethodeComparaison)
        Case 0: InStr2 = 0
    End Select
End Function

'Cette fonction différe de la fonction InStrRev de VB uniquement du fait du paramètre
'lOccurence.
'lOccurence : elle indique l'ordre de l'occurence du texte recherché
'   1=1ère occurence, 2=2ème occurence, ...
'  -1=dernière occurence, -2=avant dernière occurence, ...
Public Function InStrRev2(ByVal sExpression As String, _
    ByVal sTexteRecherche As String, _
    Optional ByVal lOccurence As Long = 1, _
    Optional ByVal lMethodeComparaison As VbCompareMethod = vbTextCompare) As Long
    
Dim lOccurenceEnCours As Long, lPosTexteRecherche As Long
    
    Select Case lOccurence
        Case Is > 0:
            Do
                lOccurenceEnCours = lOccurenceEnCours + 1
                If lOccurenceEnCours <> 1 Then
                    lPosTexteRecherche = InStrRev(sExpression, sTexteRecherche, lPosTexteRecherche + Len(sTexteRecherche) - 2, lMethodeComparaison)
                Else
                    lPosTexteRecherche = InStrRev(sExpression, sTexteRecherche, , lMethodeComparaison)
                End If
            Loop While (lOccurenceEnCours < lOccurence) And (lPosTexteRecherche > 0)
            InStrRev2 = lPosTexteRecherche
        Case Is < 0: InStrRev2 = InStr2(sExpression, sTexteRecherche, -lOccurence, lMethodeComparaison)
        Case 0: InStrRev2 = 0
    End Select
End Function

'Cette fonction a pour but d'extraire le texte d'une expression texte compris entre
'deux délimiteurs textes.
'
'Paramètres:
'----------
'sExpression : Expression texte dans laquelle s'effectuera la recherche
'sDelimiteurGauche : Délimiteur gauche du texte à extraire
'sDelimiteurDroit : Délimiteur droit du texte à extraire
'lSensRecherche : sens de la recherche. +1=[De gauche Vers Droite], -1=[De Droite vers Gauche]
'lOccurence : elle indique l'ordre de l'occurence du texte recherché suivant le sens de recherche
'   1=1ère occurence, 2=2ème occurence, ...
'  -1=dernière occurence, -2=avant dernière occurence, ...
'lMethodeComparaison : méthode de comparaison pour les délimiteurs gauche et droit, de type VbCompareMethod
'
'Gestion d'erreur:
'-----------------
'Pour toute combinaison de paramètre incohérente la fonction renvoie une chaine vide
Public Function ExtraitTexte(ByVal sExpression As String, _
    ByVal sDelimiteurGauche As String, ByVal sDelimiteurDroit As String, _
    Optional ByVal lSensRecherche As EnumSensRechercheTexte = sr_GaucheVersDroite, _
    Optional ByVal lOccurence As Long = 1, _
    Optional ByVal lMethodeComparaison As VbCompareMethod = vbTextCompare) As String

Dim lPosDelimiteurRef As Long
Dim lPosGaucheResultat As Long, lPosDroiteResultat As Long, lPos2 As Long
    
    Select Case lSensRecherche
        Case sr_GaucheVersDroite:
            'Recherche de la position du délimiteur gauche suivant lOccurence
            If sDelimiteurGauche = vbNullString Then
                'Ne tient pas compte de lOccurence si le délimiteur gauche est une chaine vide
                lPosGaucheResultat = 1
            Else
                lPosDelimiteurRef = InStr2(sExpression, sDelimiteurGauche, lOccurence, lMethodeComparaison)
                If lPosDelimiteurRef > 0 Then lPosGaucheResultat = lPosDelimiteurRef + Len(sDelimiteurGauche)
            End If
                
            'Recherche la position du délimiteur droit pour ressortir le résultat
            If lPosGaucheResultat > 0 Then
                If sDelimiteurDroit = vbNullString Then
                    ExtraitTexte = Mid$(sExpression, lPosGaucheResultat)
                Else
                    lPos2 = InStr(lPosGaucheResultat, sExpression, sDelimiteurDroit, lMethodeComparaison)
                    'après ce calcul on a toujours soit lPos2=0 soit lPos2 >= lPosGaucheResultat
                    If lPos2 > 0 Then
                        lPosDroiteResultat = lPos2 - 1
                        ExtraitTexte = Mid$(sExpression, lPosGaucheResultat, lPosDroiteResultat - lPosGaucheResultat + 1)
                    End If
                End If
            End If
        Case sr_DroiteVersGauche:
            'Recherche de la position du délimiteur droit suivant lOccurence
            If sDelimiteurDroit = vbNullString Then
                'Ne tient pas compte de lOccurence si le délimiteur droit est une chaine vide
                lPosDroiteResultat = Len(sExpression)
            Else
                lPosDelimiteurRef = InStrRev2(sExpression, sDelimiteurDroit, lOccurence, lMethodeComparaison)
                If lPosDelimiteurRef > 0 Then lPosDroiteResultat = lPosDelimiteurRef - 1
            End If
                
            'Recherche la position du délimiteur gauche pour ressortir le résultat
            If lPosDroiteResultat > 0 Then
                If sDelimiteurGauche = vbNullString Then
                    ExtraitTexte = Left$(sExpression, lPosDroiteResultat)
                Else
                    lPos2 = InStrRev(sExpression, sDelimiteurGauche, lPosDroiteResultat, lMethodeComparaison)
                    'après ce calcul on a toujours soit lPos2=0 soit lPos2 <= lPosDroiteResultat
                    If lPos2 > 0 Then
                        lPosGaucheResultat = lPos2 + Len(sDelimiteurGauche)
                        ExtraitTexte = Mid$(sExpression, lPosGaucheResultat, lPosDroiteResultat - lPosGaucheResultat + 1)
                    End If
                End If
            End If
        Case Else:
    End Select
End Function

'Cette fonction permet de déterminer le nombre d'occurences d'un texte dans une expression
Public Function NombreOccurences(ByVal sExpression As String, _
    ByVal sTexteRecherche As String, _
    Optional ByVal lMethodeComparaison As VbCompareMethod = vbTextCompare) As Long
Dim lOccurenceEnCours As Long, lPosTexteRecherche As Long
    
        If sTexteRecherche = vbNullString Then Exit Function
        
        lPosTexteRecherche = InStr(1, sExpression, sTexteRecherche, lMethodeComparaison)
        Do While lPosTexteRecherche > 0
            lOccurenceEnCours = lOccurenceEnCours + 1
            lPosTexteRecherche = InStr(lPosTexteRecherche + 1, sExpression, sTexteRecherche, lMethodeComparaison)
        Loop
        NombreOccurences = lOccurenceEnCours
End Function

Conclusion

je peux donner quelques résultats retournés par la fonction

ExtraitTexte("ababacx","aba","x",,1)="bac"
ExtraitTexte("ababacx","aba","x",,2)="c"
ExtraitTexte("ababacx","aba","x",,-1)="c"

ExtraitTexte("c:\dos1\dos2\dos3\mabd.mdb","\","")="dos1\dos2\dos3\mabd.mdb"
ExtraitTexte("c:\dos1\dos2\dos3\mabd.mdb","\","",,-1)="mabd.mdb"
ExtraitTexte("c:\dos1\dos2\dos3\mabd.mdb","\","\",sr_DroiteVersGauche,-2)="dos1"
ExtraitTexte("c:\dos1\dos2\dos3\mabd.mdb","\","\",sr_DroiteVersGauche,-3)"dos2"
ExtraitTexte("c:\dos1\dos2\dos3\mabd.mdb","\","\", sr_GaucheVersDroite ,-2)="dos3"
...

Signalez-moi si vous trouvez des bugs ou des algorithmes plus interessants, je suis preneur.

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

27 juillet 2006 11:55:31 :
Ajout de la fonction NombreOccurences Public Function NombreOccurences(ByVal sExpression As String, _ ByVal sTexteRecherche As String, _ Optional ByVal lMethodeComparaison As VbCompareMethod = vbTextCompare) As Long
27 juillet 2006 12:12:36 :
Contrôle du cas sTexteRecherche est une chaine vide dans la fonction NombreOccurences ajout de la ligne "If sTexteRecherche = vbNullString Then Exit Function" dans la fonction qui évite de tourner en rond

Commentaires et avis

signaler à un administrateur
Commentaire de asimengo le 27/07/2006 11:20:29

Je dois attirer votre attention sur l'utilisation de split dans la réalisation de la fonction "ExtraitTexte" tel que définit plus haut.

split("ababacx","aba") renvoie un tableau de profondeur 2 tel que:
split("ababacx","aba")(0)=""
split("ababacx","aba")(1)="bacx"
Ce qui pourrait faire croire qu'il n'existe qu'une seule occurence de "aba" dans l'expression "ababacx", ce qui est faux car il y'a bien 2 occurences de "aba" dans cet expression situées respectivement aux positions 1 et 3.

Bonne prog
A+

signaler à un administrateur
Commentaire de Bidou le 27/07/2006 20:48:51 administrateur CS

Salut,
Si tu avais utilisé les expressions régulière, par exemple pour la méthode ExtraitTexte tu aurais pu diminuer ton code de... 80% des lignes? quelques choses dans ces eaux là en tout cas.

signaler à un administrateur
Commentaire de asimengo le 28/07/2006 11:35:00

@BIDOU: En fait le paramètre lOccurence que j'ai ajouté à ma fonction ExtraitTexte (nouvelle version) a été inspiré des Expressions régulières, surtout cette publication fait suite à un échange avec Santiago69  sur sa source http://www.vbfrance.com/code.aspx?ID=38474.

Si tu pouvais donné une solution de cette fonction avec les Expressions régulières que je suis d'ailleurs entrain d'écrire je suis preneur mais je peux parier qu'il ne pourra faire moins de 50% de ligne de mon code. En effet lorsque les délimiteurs correspondent aux caractères réservés du pattern comme "{, \, +, ., etc...)" les contrôles en lignes de code augmentent, vivement que tu me contrarie

Bonne Prog
A+

signaler à un administrateur
Commentaire de asimengo le 28/07/2006 12:16:09

@BIDOU: juste un rappel, il faudrait réussir à donner le résultat suivant ExtraitTexte("ababacx","aba","x",,2)="c"

ExtraitTexte("ababacx","aba","x",,2) signifie tout simplement donner le texte compris la deuxième occurence en allant de la gauche vers la droite de "aba" et le premier "x" rencontré.

Moi du mal à circonscrire tous les cas en utilisant les Expressions Régulières, si tu pouvais donner ta solution peu importe le nombre de lignes, je suis preneur.

A+

signaler à un administrateur
Commentaire de beetsy le 15/08/2007 13:09:48

salut !

fonction extract texte très interessante pour chercher du texte entre 2 ocurrences, mais qqn a le code en .net (2005 si possible)pour ca ?
et également via les expressions régulières ?

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

extraction des information d'un fichier [ par pegguy ] Private Sub Form_Load()'0n Error Resume Next 'Les erreurs sont ignorees'Open "c:\it\stat\STAT01-05 2001\stat26e.txt" For Input As #1Open "c:\it\stat\S extraction des information d'un fichier [ par pegguy ] Private Sub Form_Load()'0n Error Resume Next 'Les erreurs sont ignorees'Open "c:\it\stat\STAT01-05 2001\stat26e.txt" For Input As #1Open "c:\it\stat\S extraction des information d'un fichier [ par pegguy ] Private Sub Form_Load()'0n Error Resume Next 'Les erreurs sont ignorees'Open "c:\it\stat\STAT01-05 2001\stat26e.txt" For Input As #1Open "c:\it\stat\S extraction de lignes dans 1 fichier texte vers 1 fichier excel [ par daph ] HELP !!!j'ai un fichier texte (correspondant à un listing), très lourd (je ne peux pas l'ouvrir dans sa globalité sous excel).ex :Page : 4818 £dg1 extraction depuis une chaine de texte en partant d1 caractère spécial [ par oni0013 ] Salut,Je dispose d'une textbox et je voudrai extraire de cette dernière tout le texte qui va depuis le signe ";" jusqu'à la fin du texte.Je pense qu'i Extraction d'informations dans un fichier texte (Parsing?) [ par n0k14b0y ] J'aimerais que quand l'utilisateur tape un mot dans ma textbox et valide (par Entrée ou en cliquant sur un bouton), le code aille chercher dans un fic recherche/extraction de texte d'un pdf [ par tgenty ] Bonjour,Je ne suis pas sûr d'avoir choisi le bon forum mais j'essaie :)Je dois faire un petit outil de recherche sur des pdf. Comme je suppose qu'il n trouver une occurence de texte dans HTML [ par sylvain_pva ] Bonjour à tous,ça fait un moment que je me creuse la tête sur un probème bien précis...Je dois identifier une série de mots-clés bien précis dans des Instr : occurence exacte [ par lacomm ] Salut &#224; tous, Est-il possible, en utilisant Instr, de rechercher une occurence exacte ? Extraction de texte d'un mail vers Excel [ par BDC3 ] Bonjour,Je souhaite extraire les champs d'un formulaire qui me provient par mail afin de les copier dans un documents excel.Je sais qu'il existe d&#23


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,36 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.