Formule Access : renvoi une partie d'une chaîne depuis un caract
illanou
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
blux Messages postés 27147 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 27147 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je souhaite savoir s'il existe une fonction dans Access pour récupérer un bout de texte à partir d'une chaîne de caratère.
Je m'explique par un exemple :
Je possède dans une colonne des données sous formes hiérarchiques séparés par des " > "
V1852 > D5547 > F8847 > DFFK > DELO8
V18582 > D5547 > F8I47 > DFFK > DELO8 > KKIDF
et ainsi de suite.
Je souhaite savoir si il y a une formule générique pour dire quelque chose comme :
"Donne-moi dans cette liste de caractère uniquement ce qu'il y a avant le 2 >"
Ou bien "Donne-moi dans cette liste de caractère uniquement ce qu'il y a après le nième >"
Je vous remercie par avance expert Access ?
PI : je boss via des requête
Je souhaite savoir s'il existe une fonction dans Access pour récupérer un bout de texte à partir d'une chaîne de caratère.
Je m'explique par un exemple :
Je possède dans une colonne des données sous formes hiérarchiques séparés par des " > "
V1852 > D5547 > F8847 > DFFK > DELO8
V18582 > D5547 > F8I47 > DFFK > DELO8 > KKIDF
et ainsi de suite.
Je souhaite savoir si il y a une formule générique pour dire quelque chose comme :
"Donne-moi dans cette liste de caractère uniquement ce qu'il y a avant le 2 >"
Ou bien "Donne-moi dans cette liste de caractère uniquement ce qu'il y a après le nième >"
Je vous remercie par avance expert Access ?
PI : je boss via des requête
A voir également:
- Formule Access : renvoi une partie d'une chaîne depuis un caract
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
10 réponses
Salut,
pour cela, il faut soit jouer avec les fonctions de chaines classiques, mais ça peut être long, soit passer via des expressions régulières (ou rationnelles), voir ici.
pour cela, il faut soit jouer avec les fonctions de chaines classiques, mais ça peut être long, soit passer via des expressions régulières (ou rationnelles), voir ici.
Merci pour le lien c'est vraiment très interresant, cependant je ne suis vraiment pas fortiche en VBA mm si j'essaye de mon mieux.
Existe t'il une formule (ou alors plusieurs fonctions de chaines classiques) pour réussir ma mission ??
Merci d'avance
Existe t'il une formule (ou alors plusieurs fonctions de chaines classiques) pour réussir ma mission ??
Merci d'avance
Merci...
Alors j'ai une autre petite question et j'espere que pour cela il y a une formule :)
Si j'ai une deuxième colonne dans mon tableau avec des valeurs me permettant de dire sur quel signe ">" il faut supprimer la fin de l'enregistrement, y a t'il une formule ?
Exemple :
Colonne 1 Colonne 2
V1852 > D5547 > F8847 > DFFK > DELO8 I R8
V18582 > D5547 > F8I47 > DFFK > DELO8 > KKIDF I R4
V1852 > D5547 > F8847 > DFFK I R7
Donc dans mon exemple je souhaite dire :
Si colonne 2 = R8 alors supprime tout après le 3eme ">"
Si colonne 2 = R4 alors supprime tout après le 1er ">"
Si colonne 2 = R7 alors supprime tout apres le 2eme ">"
et ainsi de suite...
Je suis désolé 'd'insister' mais je suis vraiment en galère.
En tout cas un grand merci a BLUX qui a deja pris le temps de répondre 2 fois..
Alors j'ai une autre petite question et j'espere que pour cela il y a une formule :)
Si j'ai une deuxième colonne dans mon tableau avec des valeurs me permettant de dire sur quel signe ">" il faut supprimer la fin de l'enregistrement, y a t'il une formule ?
Exemple :
Colonne 1 Colonne 2
V1852 > D5547 > F8847 > DFFK > DELO8 I R8
V18582 > D5547 > F8I47 > DFFK > DELO8 > KKIDF I R4
V1852 > D5547 > F8847 > DFFK I R7
Donc dans mon exemple je souhaite dire :
Si colonne 2 = R8 alors supprime tout après le 3eme ">"
Si colonne 2 = R4 alors supprime tout après le 1er ">"
Si colonne 2 = R7 alors supprime tout apres le 2eme ">"
et ainsi de suite...
Je suis désolé 'd'insister' mais je suis vraiment en galère.
En tout cas un grand merci a BLUX qui a deja pris le temps de répondre 2 fois..
Merci...
Cependant, j'ai une petite question qui peux peut être résoudre ma première interrogation.
Si je possède une seconde colonne avec des infos me permettant de dire avec exactitude quel est le signe à partir duquel je souhaite que ma chaine de caractère soit tronquer, existe-il une formule?
Exmple explicatif :
Colonne 1 Colonne 2
V1852 > D5547 > F8847 > DFFK > DELO8 V8
V18582 > D5547 > F8I47 > DFFK > DELO8 > KKIDF V4
V18582 > D5547 > F8I47 V2
L'expression a transformer en formule est donc :
Si colonne 2 = V8 alors supprime tous les caractères après le 1er signe ">"
Si colonne 2 = V4 alors supprime tous les caractères après le 3ème signe ">"
Si colonne 2 = V2 alors supprime tous les caractères après le 2ème signe ">"
J'espère avoir été suffisamment clair pour qu'une formule soit disponible pour résoudre mon problème...
En tout cas merci à tous et en particularité a BLUX qui a déjà répondu 2 fois..
Cependant, j'ai une petite question qui peux peut être résoudre ma première interrogation.
Si je possède une seconde colonne avec des infos me permettant de dire avec exactitude quel est le signe à partir duquel je souhaite que ma chaine de caractère soit tronquer, existe-il une formule?
Exmple explicatif :
Colonne 1 Colonne 2
V1852 > D5547 > F8847 > DFFK > DELO8 V8
V18582 > D5547 > F8I47 > DFFK > DELO8 > KKIDF V4
V18582 > D5547 > F8I47 V2
L'expression a transformer en formule est donc :
Si colonne 2 = V8 alors supprime tous les caractères après le 1er signe ">"
Si colonne 2 = V4 alors supprime tous les caractères après le 3ème signe ">"
Si colonne 2 = V2 alors supprime tous les caractères après le 2ème signe ">"
J'espère avoir été suffisamment clair pour qu'une formule soit disponible pour résoudre mon problème...
En tout cas merci à tous et en particularité a BLUX qui a déjà répondu 2 fois..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fonction = code = je suis incapable et je le regrette fortement.
Par contre via des formules 'standard' cela semble possible.
Vous est il possible de m'indiquer quelle formule (et quel ordre) utiliser pour cela ? (bien entendu si cela ne vous dérange pas, sinon je reste comme ca :( )
Merci
Par contre via des formules 'standard' cela semble possible.
Vous est il possible de m'indiquer quelle formule (et quel ordre) utiliser pour cela ? (bien entendu si cela ne vous dérange pas, sinon je reste comme ca :( )
Merci
Fonction = code = je suis incapable et je le regrette fortement.
C'est pas forcément un problème.
Ce site est (aussi) fait pour ça, tu verras que la création d'une fonction codée en VBA (et utilisable dans une requête) n'est finalement pas si difficile.
Expose ton problème de manière précise et je te dirai comment on peut envisager les choses... Ton histoire à deux colonnes me semble appropriée.
C'est pas forcément un problème.
Ce site est (aussi) fait pour ça, tu verras que la création d'une fonction codée en VBA (et utilisable dans une requête) n'est finalement pas si difficile.
Expose ton problème de manière précise et je te dirai comment on peut envisager les choses... Ton histoire à deux colonnes me semble appropriée.
Merci énormement (je souhaite vraiment que cela ne soit pas un problème)
Il est difficle d'expliquer cela sans inserer de table mais je vais essayer d'etre le plus clair possible.
J'ai une table access avec 2 colonnes et je souhaite créer une 3ème colonne à partir des infos de la première et selon des conditions de la 2eme.
Les conditions de la colonne 2 permettre de savoir à partir de quelle position du signe ">" les infos doivent être supprimer (ou conserver en fonction du sens de la formule).
Exemple :
Colonne 1 (avec 3 lignes)
------------------------------------------------------------------------------------------------------------
V1852 > D5547 > F8847 > DFFK > DELO8
V18582 > D5547 > F8I47 > DFFK > DELO8 > KKIDF
V18582 > D5547 > F8I47
Colonne 2 (avec 3 lignes également)
------------------------------------------------------------------------------------------------------------
V8
V3
V2
Colonne 3 (avec 3 lignes : c'est le résultat attendu de ma formule)
------------------------------------------------------------------------------------------------------------
V1852 > D5547 > F8847
V18582 > D5547 > F8I47 > DFFK
V18582
------------------------------------------------------------------------------------------------------------
La formule que je souhaite avoir doit traduire les conditions en colonne 2 comme:
* Si en colonne 2 j'ai la valeur V8 alors supprime dans la colonne 1 (de la meme ligne bien entendu) ce qui se trouve après le 3ème signe ">"
* Si en colonne 2 j'ai la valeur V3 alors supprime dans la colonne 1 (de la meme ligne bien entendu) ce qui se trouve après le 3ème signe ">"
* Si en colonne 2 j'ai la valeur V2 alors supprime dans la colonne 1 (de la meme ligne bien entendu) ce qui se trouve après le 1er signe ">"
et ainsi de suite.
Merci d'avance (en esperant que mes explications sont compréhensible)
Il est difficle d'expliquer cela sans inserer de table mais je vais essayer d'etre le plus clair possible.
J'ai une table access avec 2 colonnes et je souhaite créer une 3ème colonne à partir des infos de la première et selon des conditions de la 2eme.
Les conditions de la colonne 2 permettre de savoir à partir de quelle position du signe ">" les infos doivent être supprimer (ou conserver en fonction du sens de la formule).
Exemple :
Colonne 1 (avec 3 lignes)
------------------------------------------------------------------------------------------------------------
V1852 > D5547 > F8847 > DFFK > DELO8
V18582 > D5547 > F8I47 > DFFK > DELO8 > KKIDF
V18582 > D5547 > F8I47
Colonne 2 (avec 3 lignes également)
------------------------------------------------------------------------------------------------------------
V8
V3
V2
Colonne 3 (avec 3 lignes : c'est le résultat attendu de ma formule)
------------------------------------------------------------------------------------------------------------
V1852 > D5547 > F8847
V18582 > D5547 > F8I47 > DFFK
V18582
------------------------------------------------------------------------------------------------------------
La formule que je souhaite avoir doit traduire les conditions en colonne 2 comme:
* Si en colonne 2 j'ai la valeur V8 alors supprime dans la colonne 1 (de la meme ligne bien entendu) ce qui se trouve après le 3ème signe ">"
* Si en colonne 2 j'ai la valeur V3 alors supprime dans la colonne 1 (de la meme ligne bien entendu) ce qui se trouve après le 3ème signe ">"
* Si en colonne 2 j'ai la valeur V2 alors supprime dans la colonne 1 (de la meme ligne bien entendu) ce qui se trouve après le 1er signe ">"
et ainsi de suite.
Merci d'avance (en esperant que mes explications sont compréhensible)
Les explications sont claires, sauf que le "ainsi de suite" n'est pas compréhensible par un ordinateur.
Il faut donc que tu donnes toutes les valeurs possibles de ta deuxième colonne avec le traitement que doit subir la première colonne.
Parce que là, V8 et V3 ont le même comportement, donc il est important d'être exhaustif.
Mais je te rassure, rien d'impossible.
Il faut donc que tu donnes toutes les valeurs possibles de ta deuxième colonne avec le traitement que doit subir la première colonne.
Parce que là, V8 et V3 ont le même comportement, donc il est important d'être exhaustif.
Mais je te rassure, rien d'impossible.
Bonjour,
J'espere que vous allez bien.
La colonne 1 n'est pas fixe elle peux etre longue ou courte mais toujours écrite de la même maniere : sous ensemble 1 > sous ensemble 2 > sous ensemble 3 > ....
et la colonne 2 peux avoir des valeurs V1 à Vn.
Mon exemple permet d'obtenir une fonction. Ensuite j'essayerai de reprendre cette focntion et de la mettre en forme pour mes différents cas.
Je vous remercie.
J'espere que vous allez bien.
La colonne 1 n'est pas fixe elle peux etre longue ou courte mais toujours écrite de la même maniere : sous ensemble 1 > sous ensemble 2 > sous ensemble 3 > ....
et la colonne 2 peux avoir des valeurs V1 à Vn.
Mon exemple permet d'obtenir une fonction. Ensuite j'essayerai de reprendre cette focntion et de la mettre en forme pour mes différents cas.
Je vous remercie.
Je comprends votre question et je me rend compte que mon exemple porte à confusion.
En réalité j'ai pas n Version différentes mais uniquement les versions suivantes :
V4
V3
V2
V1
V-1
V-2
V-3
V-4
V-5
et je souhaite les résultats suivants :
1) si colonne 2 = V4 alors garde uniquement les valeurs présentes avant le 1er signe « > »
2) si colonne 2 = V3 alors garde uniquement les valeurs présentes avant le 2eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 2ème signe « >)
3) si colonne 2 = V2 alors garde uniquement les valeurs présentes avant le 3eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 3ème signe « >)
4) si colonne 2 = V1 alors garde uniquement les valeurs présentes avant le 4eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 4ème signe « >)
5) si colonne 2 = V-1 alors garde uniquement les valeurs présentes avant le 5eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 5ème signe « >)
6) si colonne 2 = V-2 alors garde uniquement les valeurs présentes avant le 6eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 6ème signe « >)
7) si colonne 2 = V-4 alors garde uniquement les valeurs présentes avant le 2eme signe « > »7
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 7ème signe « >)
8) si colonne 2 = V-5 alors garde uniquement les valeurs présentes avant le 2eme signe « > »8
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 8ème signe « >)
Merci d'avance
En réalité j'ai pas n Version différentes mais uniquement les versions suivantes :
V4
V3
V2
V1
V-1
V-2
V-3
V-4
V-5
et je souhaite les résultats suivants :
1) si colonne 2 = V4 alors garde uniquement les valeurs présentes avant le 1er signe « > »
2) si colonne 2 = V3 alors garde uniquement les valeurs présentes avant le 2eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 2ème signe « >)
3) si colonne 2 = V2 alors garde uniquement les valeurs présentes avant le 3eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 3ème signe « >)
4) si colonne 2 = V1 alors garde uniquement les valeurs présentes avant le 4eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 4ème signe « >)
5) si colonne 2 = V-1 alors garde uniquement les valeurs présentes avant le 5eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 5ème signe « >)
6) si colonne 2 = V-2 alors garde uniquement les valeurs présentes avant le 6eme signe « > »
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 6ème signe « >)
7) si colonne 2 = V-4 alors garde uniquement les valeurs présentes avant le 2eme signe « > »7
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 7ème signe « >)
8) si colonne 2 = V-5 alors garde uniquement les valeurs présentes avant le 2eme signe « > »8
(La condition précédente reviens au même que de dire « supprimer tout ce qui se trouve après le 8ème signe « >)
Merci d'avance
On va commencer simple, tu vas créer une fonction que tu pourras appeler n'importe où dans ta base et que l'on enrichira au fur et à mesure.
Dans ta base, tu vas créer un nouvel objet de type 'module'.
Dans ce module, tu vas insérer les lignes de code suivantes :
Tu sauves ensuite ton module.
Ces lignes de code vont servir à récupérer des données en entrée de la procédure et elle vont (pour l'instant) se borner à afficher les 5 premiers caractères de la valeur que l'on va passer en premier argument.
Tu vas aussi créer une requête, dans laquelle tu vas appeler cette fonction en lui donnant deux paramètres (le deuxième ne sert pas pour l'instant).
Ca donnera un truc comme ça :
Bien entendu, tu remplaces Tab1, Col1 et Col2 par les noms des objets de ta base.
A l'exécution, si tout se passe bien, tu devrais avoir d'affiché :
- le contenu de Col1
- le contenu de Col2
- les 5 premiers caractères de Col1
Et voilà, la fonction est créée, il va maintenant falloir lui mettre le code qui correspond à ce que l'on souhaite faire au final.
- lire le deuxième paramètre (appelé plus académiquement 'argument')
- en fonction de ce deuxième paramètre, trifouiller le contenu du premier argument
Je vois que plusieurs valeurs de la deuxième colonne arrivent au même résultat, cela va simplifier le code.
Dans ta base, tu vas créer un nouvel objet de type 'module'.
Dans ce module, tu vas insérer les lignes de code suivantes :
Function COUPE(Val1 As String, Val2 As String) As String COUPE = Left(Val1, 5) End Function
Tu sauves ensuite ton module.
Ces lignes de code vont servir à récupérer des données en entrée de la procédure et elle vont (pour l'instant) se borner à afficher les 5 premiers caractères de la valeur que l'on va passer en premier argument.
Tu vas aussi créer une requête, dans laquelle tu vas appeler cette fonction en lui donnant deux paramètres (le deuxième ne sert pas pour l'instant).
Ca donnera un truc comme ça :
SELECT Tab1.Col1, Tab1.Col2, COUPE(Col1,Col2) AS Expr1 FROM Tab1;
Bien entendu, tu remplaces Tab1, Col1 et Col2 par les noms des objets de ta base.
A l'exécution, si tout se passe bien, tu devrais avoir d'affiché :
- le contenu de Col1
- le contenu de Col2
- les 5 premiers caractères de Col1
Et voilà, la fonction est créée, il va maintenant falloir lui mettre le code qui correspond à ce que l'on souhaite faire au final.
- lire le deuxième paramètre (appelé plus académiquement 'argument')
- en fonction de ce deuxième paramètre, trifouiller le contenu du premier argument
Je vois que plusieurs valeurs de la deuxième colonne arrivent au même résultat, cela va simplifier le code.
Merci pour les infos.
Si j'ai bien compris en réalité la première fonction permet uniquement de dire à l'outil de supprimer ce qui se trouve après les 5 premiers caractères.
Maintenant, puisque les 2,3, ... couple de caractère suivants (entre les >) sont différents comment exprimer le fait de supprimer ce qui se trouve avant, ou après, le signe > ??
en attente de vous lire.
Merci
Si j'ai bien compris en réalité la première fonction permet uniquement de dire à l'outil de supprimer ce qui se trouve après les 5 premiers caractères.
Maintenant, puisque les 2,3, ... couple de caractère suivants (entre les >) sont différents comment exprimer le fait de supprimer ce qui se trouve avant, ou après, le signe > ??
en attente de vous lire.
Merci
Sinon, en vrai, ça peut donner cela (selon tes indications, mais je vois qu'elles sont confuses : pas de V-3, par exemple) :
Ca n'est certes, pas joli, mais ça fonctionne.
Si l'on voulait être efficace, on aurait développé une autre fonction que l'on appellerait pour trouver la position du n-ième >, mais ce n'est pas le propos...
Function COUPE(Val1 As String, Val2 As String) As String Dim Pos1 As Integer Dim Pos2 As Integer Dim Pos3 As Integer Dim Pos4 As Integer Dim Pos5 As Integer Dim Pos6 As Integer COUPE = "" Select Case Val2 Case "V4" ' On ne garde que la gauche du premier > ' Recherche du premier > Pos1 = InStr(1, Val1, ">") ' Récup des caractères juste avant If Pos1 = 0 Then COUPE = Val1 Else COUPE = Left(Val1, Pos1 - 1) End If Case "V3" ' On ne garde que la gauche du deuxième > ' Recherche du premier > Pos1 = InStr(1, Val1, ">") ' Recherche du deuxième > Pos2 = InStr(Pos1 + 1, Val1, ">") If Pos2 = 0 Then COUPE = Val1 Else COUPE = Left(Val1, Pos2 - 1) End If Case "V2" ' On ne garde que la gauche du troisième > Pos1 = InStr(1, Val1, ">") Pos2 = InStr(Pos1 + 1, Val1, ">") Pos3 = InStr(Pos2 + 1, Val1, ">") If Pos3 = 0 Then COUPE = Val1 Else COUPE = Left(Val1, Pos3 - 1) End If Case "V1" ' On ne garde que la gauche du quatrième > Pos1 = InStr(1, Val1, ">") Pos2 = InStr(Pos1 + 1, Val1, ">") Pos3 = InStr(Pos2 + 1, Val1, ">") Pos4 = InStr(Pos3 + 1, Val1, ">") If Pos4 = 0 Then COUPE = Val1 Else COUPE = Left(Val1, Pos4 - 1) End If Case "V-4" ' On ne garde que la gauche du cinquième > Pos1 = InStr(1, Val1, ">") Pos2 = InStr(Pos1 + 1, Val1, ">") Pos3 = InStr(Pos2 + 1, Val1, ">") Pos4 = InStr(Pos3 + 1, Val1, ">") Pos5 = InStr(Pos4 + 1, Val1, ">") If Pos5 = 0 Then COUPE = Val1 Else COUPE = Left(Val1, Pos5 - 1) End If Case "V-2" ' On ne garde que la gauche du sixième > Pos1 = InStr(1, Val1, ">") Pos2 = InStr(Pos1 + 1, Val1, ">") Pos3 = InStr(Pos2 + 1, Val1, ">") Pos4 = InStr(Pos3 + 1, Val1, ">") Pos5 = InStr(Pos4 + 1, Val1, ">") Pos6 = InStr(Pos5 + 1, Val1, ">") If Pos6 = 0 Then COUPE = Val1 Else COUPE = Left(Val1, Pos6 - 1) End If Case Else COUPE = Val1 End Select 'COUPE = Left(Val1, 5) End Function
Ca n'est certes, pas joli, mais ça fonctionne.
Si l'on voulait être efficace, on aurait développé une autre fonction que l'on appellerait pour trouver la position du n-ième >, mais ce n'est pas le propos...
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Vraiment mille merci vous etes excellent ! je vous dois bcp pour le coup... tks sire
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Vraiment mille merci vous etes excellent ! je vous dois bcp pour le coup... tks sire