Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
Bonjour !
'Jocaste' nous a écrit ...
Je cherche une fonction du style Delete String ou Delete Char et la fonction Copy(Str....) en VBA. Cela fait longtemps que je cherche dans l'aide VBA Word, mais je ne trouve rien.
Ajouter, supprimer, copier un caractère ou une suite de caractères dans quel objet ??? Votre question est assez vague : Word manipule des chaînes dans une foultitude de circonstances :-p Si vous parlez uniquement des variables String de VBA, les fonctions de base sont limitées mais permettent de définir les plus complexes.
Anacoluthe « Qui cherche le plaisir ne trouve que des chaînes. » - Jacques DEVAL
Bonjour !
'Jocaste' nous a écrit ...
Je cherche une fonction du style Delete String ou Delete
Char et la fonction Copy(Str....) en VBA.
Cela fait longtemps que je cherche dans l'aide VBA Word,
mais je ne trouve rien.
Ajouter, supprimer, copier un caractère ou une suite
de caractères dans quel objet ??? Votre question est
assez vague : Word manipule des chaînes dans une
foultitude de circonstances :-p Si vous parlez
uniquement des variables String de VBA, les fonctions
de base sont limitées mais permettent de définir les
plus complexes.
Anacoluthe
« Qui cherche le plaisir ne trouve que des chaînes. »
- Jacques DEVAL
Je cherche une fonction du style Delete String ou Delete Char et la fonction Copy(Str....) en VBA. Cela fait longtemps que je cherche dans l'aide VBA Word, mais je ne trouve rien.
Ajouter, supprimer, copier un caractère ou une suite de caractères dans quel objet ??? Votre question est assez vague : Word manipule des chaînes dans une foultitude de circonstances :-p Si vous parlez uniquement des variables String de VBA, les fonctions de base sont limitées mais permettent de définir les plus complexes.
Anacoluthe « Qui cherche le plaisir ne trouve que des chaînes. » - Jacques DEVAL
Jocaste
Exemple:
Dim Source As String
Source = "How To Delete a String" Delete (Source, 1, 6)
supprimer dans la chaine Source les 6 premier caractères. C'est un exemple.
Ce que je recherche c'est une instruction qui supprime un char dans un string. Je ne parviens pas à retrouver cette instruction. Je sais que c'est bête et quelque peut primaire mais je suis embêter....
Merci d'avance
-----Message d'origine----- Bonjour !
'Jocaste' nous a écrit ...
Je cherche une fonction du style Delete String ou Delete
Char et la fonction Copy(Str....) en VBA. Cela fait longtemps que je cherche dans l'aide VBA Word,
mais je ne trouve rien.
Ajouter, supprimer, copier un caractère ou une suite de caractères dans quel objet ??? Votre question est assez vague : Word manipule des chaînes dans une foultitude de circonstances :-p Si vous parlez uniquement des variables String de VBA, les fonctions de base sont limitées mais permettent de définir les plus complexes.
Anacoluthe « Qui cherche le plaisir ne trouve que des chaînes. » - Jacques DEVAL .
Exemple:
Dim Source As String
Source = "How To Delete a String"
Delete (Source, 1, 6)
supprimer dans la chaine Source les 6 premier caractères.
C'est un exemple.
Ce que je recherche c'est une instruction qui supprime un
char dans un string. Je ne parviens pas à retrouver cette
instruction. Je sais que c'est bête et quelque peut
primaire mais je suis embêter....
Merci d'avance
-----Message d'origine-----
Bonjour !
'Jocaste' nous a écrit ...
Je cherche une fonction du style Delete String ou
Delete
Char et la fonction Copy(Str....) en VBA.
Cela fait longtemps que je cherche dans l'aide VBA
Word,
mais je ne trouve rien.
Ajouter, supprimer, copier un caractère ou une suite
de caractères dans quel objet ??? Votre question est
assez vague : Word manipule des chaînes dans une
foultitude de circonstances :-p Si vous parlez
uniquement des variables String de VBA, les fonctions
de base sont limitées mais permettent de définir les
plus complexes.
Anacoluthe
« Qui cherche le plaisir ne trouve que des chaînes. »
- Jacques DEVAL
.
Source = "How To Delete a String" Delete (Source, 1, 6)
supprimer dans la chaine Source les 6 premier caractères. C'est un exemple.
Ce que je recherche c'est une instruction qui supprime un char dans un string. Je ne parviens pas à retrouver cette instruction. Je sais que c'est bête et quelque peut primaire mais je suis embêter....
Merci d'avance
-----Message d'origine----- Bonjour !
'Jocaste' nous a écrit ...
Je cherche une fonction du style Delete String ou Delete
Char et la fonction Copy(Str....) en VBA. Cela fait longtemps que je cherche dans l'aide VBA Word,
mais je ne trouve rien.
Ajouter, supprimer, copier un caractère ou une suite de caractères dans quel objet ??? Votre question est assez vague : Word manipule des chaînes dans une foultitude de circonstances :-p Si vous parlez uniquement des variables String de VBA, les fonctions de base sont limitées mais permettent de définir les plus complexes.
Anacoluthe « Qui cherche le plaisir ne trouve que des chaînes. » - Jacques DEVAL .
geo
-----Message d'origine----- Exemple:
Dim Source As String
Source = "How To Delete a String" Delete (Source, 1, 6)
supprimer dans la chaine Source les 6 premier caractères. C'est un exemple.
La c'est plus clair, en fait on ne suprime pas on
sélectionne au myen des fonctions left, right ou mid. Dans ton cas, on sélectionne tout ce qui est à droite du 6 sixème caractère. R = right (source, 7)
Mid permet d'extraire une partie d'une chaine au milieu.
A+
A+
-----Message d'origine-----
Exemple:
Dim Source As String
Source = "How To Delete a String"
Delete (Source, 1, 6)
supprimer dans la chaine Source les 6 premier caractères.
C'est un exemple.
La c'est plus clair, en fait on ne suprime pas on
sélectionne au myen des fonctions left, right ou mid.
Dans ton cas, on sélectionne tout ce qui est à droite du 6
sixème caractère.
R = right (source, 7)
Mid permet d'extraire une partie d'une chaine au milieu.
Source = "How To Delete a String" Delete (Source, 1, 6)
supprimer dans la chaine Source les 6 premier caractères. C'est un exemple.
La c'est plus clair, en fait on ne suprime pas on
sélectionne au myen des fonctions left, right ou mid. Dans ton cas, on sélectionne tout ce qui est à droite du 6 sixème caractère. R = right (source, 7)
Mid permet d'extraire une partie d'une chaine au milieu.
A+
A+
Anacoluthe
Bonjour !
'Jocaste' nous a écrit ...
Dim Source As String Source = "How To Delete a String" Delete (Source, 1, 6) Ce que je recherche c'est une instruction qui supprime un char dans un string.
Je crains que cette fonction opérant sur la position du/des caractères n'existe pas. Il faut l'écrire. Peut-être pensiez-vous à Replace mais ce n'est pas ça.
Anacoluthe « Qui cherche le plaisir ne trouve que des chaînes. » - Jacques DEVAL
Bonjour !
'Jocaste' nous a écrit ...
Dim Source As String
Source = "How To Delete a String"
Delete (Source, 1, 6)
Ce que je recherche c'est une instruction qui supprime un
char dans un string.
Je crains que cette fonction opérant sur la position
du/des caractères n'existe pas. Il faut l'écrire.
Peut-être pensiez-vous à Replace mais ce n'est pas ça.
Anacoluthe
« Qui cherche le plaisir ne trouve que des chaînes. »
- Jacques DEVAL
Dim Source As String Source = "How To Delete a String" Delete (Source, 1, 6) Ce que je recherche c'est une instruction qui supprime un char dans un string.
Je crains que cette fonction opérant sur la position du/des caractères n'existe pas. Il faut l'écrire. Peut-être pensiez-vous à Replace mais ce n'est pas ça.
Anacoluthe « Qui cherche le plaisir ne trouve que des chaînes. » - Jacques DEVAL
Geo
Bonjour Jocaste
[...]
Ce que je recherche c'est une instruction qui supprime un char dans un string.
Un petit complément pour la deuxième partie. Si tu veux supprimer un caractère d'un chaine et que tu connais sa position (p), tu refais une chaine avec la partie gauche et la partie droite.
R= left(source, p-1) + right(source, p+1)
--
A+
Bonjour Jocaste
[...]
Ce que je recherche c'est une instruction qui supprime un
char dans un string.
Un petit complément pour la deuxième partie.
Si tu veux supprimer un caractère d'un chaine et que tu connais sa
position (p),
tu refais une chaine avec la partie gauche et la partie droite.
Ce que je recherche c'est une instruction qui supprime un char dans un string.
Un petit complément pour la deuxième partie. Si tu veux supprimer un caractère d'un chaine et que tu connais sa position (p), tu refais une chaine avec la partie gauche et la partie droite.
R= left(source, p-1) + right(source, p+1)
--
A+
Guy Moncomble
Bonjour à tous, dans le message 21ea601c45d1c$ad899940$,
| Exemple: | | Dim Source As String | | Source = "How To Delete a String" | Delete (Source, 1, 6) | | supprimer dans la chaine Source les 6 premier caractères. | C'est un exemple. | | Ce que je recherche c'est une instruction qui supprime un | char dans un string. Je ne parviens pas à retrouver cette | instruction. Je sais que c'est bête et quelque peut | primaire mais je suis embêter....
Tiens, en attendant un document plus complet sur divers remplacements, cela peut aider :
Private Function fstrRemplaceTous(lngDépart As Long, strVieilleChaine As String, strNouvelleChaine As String, ByVal strTexte As String) As String Dim TailleVieilleChn As Integer Dim Index As Integer, Pos As Integer, TailleNouvelChn As Integer, taillestrTexte As Integer 'Remplace toutes les occurences de la chaîne strVieilleChaine par la chaîne 'strNouvelleChaine dans strTexte 'Peut donc être utilisée pour des suppressions, strNouvelleChaine="", 'ou pour compter les caractères : 'nbcar = Len(Texte) - Len(fstrReplace(char, "", Texte)) ' Noter que strTexte n'est pas modifié. fstrRemplaceTous = strTexte If lngDépart < 1 Or lngDépart > Len(strTexte) - Len(strVieilleChaine) + 1 Then Exit Function End If If strVieilleChaine = "" Or strVieilleChaine = strNouvelleChaine Then Exit Function TailleVieilleChn = Len(strVieilleChaine) TailleNouvelChn = Len(strNouvelleChaine) Index = 1 Pos = lngDépart While Index <> 0 taillestrTexte = Len(strTexte) Index = InStr(Pos, strTexte, strVieilleChaine) Select Case Index Case 0 ' rien à remplacer Case taillestrTexte - TailleVieilleChn + 1 ' une seule chaîne à droite strTexte = Left(strTexte, Index - 1) & strNouvelleChaine Index = 0 Case Else ' au moins une chaîne strTexte = Left(strTexte, Index - 1) & strNouvelleChaine & Mid(strTexte, Index + TailleVieilleChn) Pos = Index + TailleNouvelChn End Select Wend fstrRemplaceTous = strTexte End Function
Public Function fstrRemplaceNième(lngDépart As Long, ByVal strTexte As String, strCible As String, strRemp As String, ParamArray ListElem()) As String 'A partir de lngDépart, remplace les chaînes strCible dans strTexte, par la chaîne strRemp, 'dans les positions de ListElem Dim colPositions As New Collection, DebTab As Long, FinTab As Long, PosChaine As Long Dim iBoucle As Integer On Error GoTo GestErr fstrRemplaceNième = strTexte If lngDépart < 1 Or lngDépart > Len(strTexte) - Len(strCible) + 1 Then Exit Function End If 'Teste la présence du tableau de paramètres If IsMissing(ListElem()) Then Exit Function End If 'Taille du tableau de paramètres DebTab = LBound(ListElem) FinTab = UBound(ListElem) 'On recherche toutes les occurences de strCible Set colPositions = InstrAll(lngDépart, strTexte, strCible) If colPositions.Count = 0 Then Exit Function 'Pas de remplacement 'On remplace à partir de la fin, sinon les positions sont inutilisables après le premier remplacement For iBoucle = FinTab To DebTab Step -1 PosChaine = colPositions.Item(ListElem(iBoucle)) If PosChaine > 0 Then strTexte = Left(strTexte, PosChaine - 1) & strRemp & Mid(strTexte, PosChaine + Len(strCible)) End If Next iBoucle fstrRemplaceNième = strTexte GoTo Fin GestErr: Select Case Err.Number Case 9 'Le numéro d'ordre demandé n'existe pas PosChaine = -1 Resume Next Case Else End Select Fin: End Function
Je crois avoir pas mal testé, mais on ne sait jamais -- A+
G.M. MVP Word
Bonjour à tous,
dans le message 21ea601c45d1c$ad899940$a601280a@phx.gbl,
| Exemple:
|
| Dim Source As String
|
| Source = "How To Delete a String"
| Delete (Source, 1, 6)
|
| supprimer dans la chaine Source les 6 premier caractères.
| C'est un exemple.
|
| Ce que je recherche c'est une instruction qui supprime un
| char dans un string. Je ne parviens pas à retrouver cette
| instruction. Je sais que c'est bête et quelque peut
| primaire mais je suis embêter....
Tiens, en attendant un document plus complet sur divers remplacements,
cela peut aider :
Private Function fstrRemplaceTous(lngDépart As Long, strVieilleChaine As
String, strNouvelleChaine As String, ByVal strTexte As String) As String
Dim TailleVieilleChn As Integer
Dim Index As Integer, Pos As Integer, TailleNouvelChn As Integer,
taillestrTexte As Integer
'Remplace toutes les occurences de la chaîne strVieilleChaine par la
chaîne
'strNouvelleChaine dans strTexte
'Peut donc être utilisée pour des suppressions, strNouvelleChaine="",
'ou pour compter les caractères :
'nbcar = Len(Texte) - Len(fstrReplace(char, "", Texte))
' Noter que strTexte n'est pas modifié.
fstrRemplaceTous = strTexte
If lngDépart < 1 Or lngDépart > Len(strTexte) - Len(strVieilleChaine) +
1 Then
Exit Function
End If
If strVieilleChaine = "" Or strVieilleChaine = strNouvelleChaine Then
Exit Function
TailleVieilleChn = Len(strVieilleChaine)
TailleNouvelChn = Len(strNouvelleChaine)
Index = 1
Pos = lngDépart
While Index <> 0
taillestrTexte = Len(strTexte)
Index = InStr(Pos, strTexte, strVieilleChaine)
Select Case Index
Case 0 '
rien à remplacer
Case taillestrTexte - TailleVieilleChn + 1 ' une seule
chaîne à droite
strTexte = Left(strTexte, Index - 1) & strNouvelleChaine
Index = 0
Case Else '
au moins une chaîne
strTexte = Left(strTexte, Index - 1) & strNouvelleChaine &
Mid(strTexte, Index + TailleVieilleChn)
Pos = Index + TailleNouvelChn
End Select
Wend
fstrRemplaceTous = strTexte
End Function
Public Function fstrRemplaceNième(lngDépart As Long, ByVal strTexte As
String, strCible As String, strRemp As String, ParamArray ListElem()) As
String
'A partir de lngDépart, remplace les chaînes strCible dans strTexte, par
la chaîne strRemp,
'dans les positions de ListElem
Dim colPositions As New Collection, DebTab As Long, FinTab As Long,
PosChaine As Long
Dim iBoucle As Integer
On Error GoTo GestErr
fstrRemplaceNième = strTexte
If lngDépart < 1 Or lngDépart > Len(strTexte) - Len(strCible) + 1 Then
Exit Function
End If
'Teste la présence du tableau de paramètres
If IsMissing(ListElem()) Then
Exit Function
End If
'Taille du tableau de paramètres
DebTab = LBound(ListElem)
FinTab = UBound(ListElem)
'On recherche toutes les occurences de strCible
Set colPositions = InstrAll(lngDépart, strTexte, strCible)
If colPositions.Count = 0 Then Exit Function 'Pas de remplacement
'On remplace à partir de la fin, sinon les positions sont inutilisables
après le premier remplacement
For iBoucle = FinTab To DebTab Step -1
PosChaine = colPositions.Item(ListElem(iBoucle))
If PosChaine > 0 Then
strTexte = Left(strTexte, PosChaine - 1) & strRemp & Mid(strTexte,
PosChaine + Len(strCible))
End If
Next iBoucle
fstrRemplaceNième = strTexte
GoTo Fin
GestErr:
Select Case Err.Number
Case 9
'Le numéro d'ordre demandé n'existe pas
PosChaine = -1
Resume Next
Case Else
End Select
Fin:
End Function
Je crois avoir pas mal testé, mais on ne sait jamais
--
A+
Bonjour à tous, dans le message 21ea601c45d1c$ad899940$,
| Exemple: | | Dim Source As String | | Source = "How To Delete a String" | Delete (Source, 1, 6) | | supprimer dans la chaine Source les 6 premier caractères. | C'est un exemple. | | Ce que je recherche c'est une instruction qui supprime un | char dans un string. Je ne parviens pas à retrouver cette | instruction. Je sais que c'est bête et quelque peut | primaire mais je suis embêter....
Tiens, en attendant un document plus complet sur divers remplacements, cela peut aider :
Private Function fstrRemplaceTous(lngDépart As Long, strVieilleChaine As String, strNouvelleChaine As String, ByVal strTexte As String) As String Dim TailleVieilleChn As Integer Dim Index As Integer, Pos As Integer, TailleNouvelChn As Integer, taillestrTexte As Integer 'Remplace toutes les occurences de la chaîne strVieilleChaine par la chaîne 'strNouvelleChaine dans strTexte 'Peut donc être utilisée pour des suppressions, strNouvelleChaine="", 'ou pour compter les caractères : 'nbcar = Len(Texte) - Len(fstrReplace(char, "", Texte)) ' Noter que strTexte n'est pas modifié. fstrRemplaceTous = strTexte If lngDépart < 1 Or lngDépart > Len(strTexte) - Len(strVieilleChaine) + 1 Then Exit Function End If If strVieilleChaine = "" Or strVieilleChaine = strNouvelleChaine Then Exit Function TailleVieilleChn = Len(strVieilleChaine) TailleNouvelChn = Len(strNouvelleChaine) Index = 1 Pos = lngDépart While Index <> 0 taillestrTexte = Len(strTexte) Index = InStr(Pos, strTexte, strVieilleChaine) Select Case Index Case 0 ' rien à remplacer Case taillestrTexte - TailleVieilleChn + 1 ' une seule chaîne à droite strTexte = Left(strTexte, Index - 1) & strNouvelleChaine Index = 0 Case Else ' au moins une chaîne strTexte = Left(strTexte, Index - 1) & strNouvelleChaine & Mid(strTexte, Index + TailleVieilleChn) Pos = Index + TailleNouvelChn End Select Wend fstrRemplaceTous = strTexte End Function
Public Function fstrRemplaceNième(lngDépart As Long, ByVal strTexte As String, strCible As String, strRemp As String, ParamArray ListElem()) As String 'A partir de lngDépart, remplace les chaînes strCible dans strTexte, par la chaîne strRemp, 'dans les positions de ListElem Dim colPositions As New Collection, DebTab As Long, FinTab As Long, PosChaine As Long Dim iBoucle As Integer On Error GoTo GestErr fstrRemplaceNième = strTexte If lngDépart < 1 Or lngDépart > Len(strTexte) - Len(strCible) + 1 Then Exit Function End If 'Teste la présence du tableau de paramètres If IsMissing(ListElem()) Then Exit Function End If 'Taille du tableau de paramètres DebTab = LBound(ListElem) FinTab = UBound(ListElem) 'On recherche toutes les occurences de strCible Set colPositions = InstrAll(lngDépart, strTexte, strCible) If colPositions.Count = 0 Then Exit Function 'Pas de remplacement 'On remplace à partir de la fin, sinon les positions sont inutilisables après le premier remplacement For iBoucle = FinTab To DebTab Step -1 PosChaine = colPositions.Item(ListElem(iBoucle)) If PosChaine > 0 Then strTexte = Left(strTexte, PosChaine - 1) & strRemp & Mid(strTexte, PosChaine + Len(strCible)) End If Next iBoucle fstrRemplaceNième = strTexte GoTo Fin GestErr: Select Case Err.Number Case 9 'Le numéro d'ordre demandé n'existe pas PosChaine = -1 Resume Next Case Else End Select Fin: End Function
Je crois avoir pas mal testé, mais on ne sait jamais -- A+
G.M. MVP Word
Anacoluthe
Hello Guy !
'Guy Moncomble' nous a écrit ...
Tiens, en attendant un document plus complet sur divers remplacements, cela peut aider : Function fstrRemplaceTous(lngDépart As Long, strVieilleChaine As String, strNouvelleChaine As String, ByVal strTexte As String) As String ...
Tu n'utilises pas Replace ? http://msdn.microsoft.com/library/FRE/modcore/html/deconWildcardSearchReplace.asp (je ne sais plus depuis quelle version de vba c'est mis)
End Function Je crois avoir pas mal testé, mais on ne sait jamais
:-) :-) :-) Tu crois qu'il existe des macros pour tester les macros ? ;-)
Anacoluthe « Qui cherche le plaisir ne trouve que des chaînes. » - Jacques DEVAL
Hello Guy !
'Guy Moncomble' nous a écrit ...
Tiens, en attendant un document plus complet sur divers remplacements,
cela peut aider :
Function fstrRemplaceTous(lngDépart As Long, strVieilleChaine As
String, strNouvelleChaine As String, ByVal strTexte As String) As String
...
Tu n'utilises pas Replace ?
http://msdn.microsoft.com/library/FRE/modcore/html/deconWildcardSearchReplace.asp
(je ne sais plus depuis quelle version de vba c'est mis)
End Function
Je crois avoir pas mal testé, mais on ne sait jamais
:-) :-) :-)
Tu crois qu'il existe des macros pour tester les macros ? ;-)
Anacoluthe
« Qui cherche le plaisir ne trouve que des chaînes. »
- Jacques DEVAL
Tiens, en attendant un document plus complet sur divers remplacements, cela peut aider : Function fstrRemplaceTous(lngDépart As Long, strVieilleChaine As String, strNouvelleChaine As String, ByVal strTexte As String) As String ...
Tu n'utilises pas Replace ? http://msdn.microsoft.com/library/FRE/modcore/html/deconWildcardSearchReplace.asp (je ne sais plus depuis quelle version de vba c'est mis)
End Function Je crois avoir pas mal testé, mais on ne sait jamais
:-) :-) :-) Tu crois qu'il existe des macros pour tester les macros ? ;-)
Anacoluthe « Qui cherche le plaisir ne trouve que des chaînes. » - Jacques DEVAL
Guy Moncomble
Bonjour à tous, dans le message ,
| Tu n'utilises pas Replace ?
Comme tu vois, non. Le développement de ces fonctions a commencé il y a un certain temps, et je conserve pour des raisons de compatibilité. De plus, j'ai la faiblesse de croire que certaines de mes fonctions, pas nécessairement celles-ci, sont meilleures que certaines proposées par Microsoft, pour l'usage que j'en fait en tout cas. A nouveau se pose, mais c'est un récurrent et sans fin, le problème de la compatibilité. J'y réfléchis à mon modeste niveau, et je pense que l'écriture de classes va me faciliter le travail (!!!!!), mais ce n'est pas si simple. -- A+
G.M. MVP Word
Bonjour à tous,
dans le message u2lIUktXEHA.3112@tk2msftngp13.phx.gbl,
| Tu n'utilises pas Replace ?
Comme tu vois, non. Le développement de ces fonctions a commencé il y a
un certain temps, et je conserve pour des raisons de compatibilité. De
plus, j'ai la faiblesse de croire que certaines de mes fonctions, pas
nécessairement celles-ci, sont meilleures que certaines proposées par
Microsoft, pour l'usage que j'en fait en tout cas. A nouveau se pose,
mais c'est un récurrent et sans fin, le problème de la compatibilité.
J'y réfléchis à mon modeste niveau, et je pense que l'écriture de
classes va me faciliter le travail (!!!!!), mais ce n'est pas si simple.
--
A+
Comme tu vois, non. Le développement de ces fonctions a commencé il y a un certain temps, et je conserve pour des raisons de compatibilité. De plus, j'ai la faiblesse de croire que certaines de mes fonctions, pas nécessairement celles-ci, sont meilleures que certaines proposées par Microsoft, pour l'usage que j'en fait en tout cas. A nouveau se pose, mais c'est un récurrent et sans fin, le problème de la compatibilité. J'y réfléchis à mon modeste niveau, et je pense que l'écriture de classes va me faciliter le travail (!!!!!), mais ce n'est pas si simple. -- A+