Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

insérer une chaine dans une autre

10 réponses
Avatar
Francis SLAWNY
Bonjour.
Existe-t-il une fonction f en VBA qui permet d'inérer une chaine dans une
autre à partir d'un endroit donné ?
Exemple : f("123456", "7,8", 3) = "12378456"
Cordialement
FS

10 réponses

Avatar
Francis SLAWNY
Erreur dans le poste pécédant
Il fallait lire : f("123456", "78", 3) = "12378456"


"Francis SLAWNY" a écrit dans le message de
news:
Bonjour.
Existe-t-il une fonction f en VBA qui permet d'inérer une chaine dans une
autre à partir d'un endroit donné ?
Exemple : f("123456", "7,8", 3) = "12378456"
Cordialement
FS






Avatar
JB
Bonjour,

x = Replace("123456", "34", "xxx")

JB
http://boisgontierjacques.free.fr

On 19 mai, 08:07, "Francis SLAWNY" wrote:
Erreur dans le poste pécédant
Il fallait lire :  f("123456",  "78", 3) = "12378456"

"Francis SLAWNY" a écrit dans le message d enews: e3sFDeE2JHA.3__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$ 2MSFTNGP04.phx.gbl...



> Bonjour.
> Existe-t-il une fonction f en VBA qui permet d'inérer une chaine dans une
> autre à partir d'un endroit donné ?
> Exemple : f("123456",  "7,8", 3) = "12378456"
> Cordialement
> FS- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Francis SLAWNY
Merci, mais je cherche une fonction pour insérer, pas remplacer.
Cordialement
FS



x = Replace("123456", "34", "xxx")


> Bonjour.
> Existe-t-il une fonction f en VBA qui permet d'inérer une chaine dans
> une
> autre à partir d'un endroit donné ?
> Exemple : f("123456", "7,8", 3) = "12378456"
> Cordialement
> FS- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Patrick BASTARD
Bonjour, "Francis SLAWNY"

123456 en A2
78 en B2
3 en C2
=GAUCHE(A2;3)&B2&DROITE(A2;NBCAR(A2)-C2) donne 12378456


--
Bien ,

Patrick
patrick.bastardchezdbmail.com

Il fallait lire : f("123456", "78", 3) = "12378456"


"Francis SLAWNY" a écrit dans le message de
news:
Bonjour.
Existe-t-il une fonction f en VBA qui permet d'inérer une chaine dans une
autre à partir d'un endroit donné ?
Exemple : f("123456", "7,8", 3) = "12378456"
Cordialement
FS











Avatar
Caetera
> Merci, mais je cherche une fonction pour insérer, pas remplacer.



Dans un module :

Function AJOUT_TXT(chain, ajout, position)
AJOUT_TXT = Left(chain, position) & ajout & Right(chain, Len(chain) -
position)
End Function

Exemple dans la feuille :
=AJOUT_TXT(A1;"78";2)

Etc
Avatar
IMER09
Bonjour Francis
Si 123456 comporte toujours 6 chiffres et que tu veux inserer 34 toujours
entre le 3 et 4
123456 en A1, 34 en B1
Je ferai : une extraction des 3 premiers chiffres avec la fonction Gauche ds
une cellule C1
une extraction des 3 derniers chiffres avec la fonction
Droite ds une cellule D1
Puis je concatenerai en E1, avec la fonction Concatener, les
cellules B1,C1,D1

Un coup d'enregistreur est ca devrait faire l'affaire

Rémi

"Francis SLAWNY" a écrit dans le message de
news:
Merci, mais je cherche une fonction pour insérer, pas remplacer.
Cordialement
FS



x = Replace("123456", "34", "xxx")


> Bonjour.
> Existe-t-il une fonction f en VBA qui permet d'inérer une chaine dans
> une
> autre à partir d'un endroit donné ?
> Exemple : f("123456", "7,8", 3) = "12378456"
> Cordialement
> FS- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -






Avatar
Francis SLAWNY
Merci à tous.
J'esperais qu'il existait une fonction VBA prédéfinie qui faisait ça, et
avec la gestion d'erreur en plus.
D'après vos réponses ça n'existe pas.
Il ne me restait plus qu'à en fabriquer une; la gestion d'erreur sera pour
plus tard.

Function Inserer_chaine1_dans_chaine2(ByVal Chaine1, ByVal Chaine2 As
String, pointInser As Integer)
LChaine2 = Len(Chaine2)
LChaine1 = Len(Chaine1)
If pointInser = 0 Then
Inserer_chaine1_dans_chaine2 = Chaine1 & Chaine2
Else
ChGauche = Left(Chaine2, pointInser)
ChDroite = Right(Chaine2, LChaine2 - pointInser)
ChMilieu = Chaine1
Inserer_chaine1_dans_chaine2 = ChGauche & ChMilieu & ChDroite
End If
End Function

"Francis SLAWNY" a écrit dans le message de
news:
Bonjour.
Existe-t-il une fonction f en VBA qui permet d'inérer une chaine dans une
autre à partir d'un endroit donné ?
Exemple : f("123456", "7,8", 3) = "12378456"
Cordialement
FS






Avatar
Caetera
"Francis SLAWNY" a écrit dans le message de news:


Il ne me restait plus qu'à en fabriquer une;



Il ne te restait plus, éventuellement, qu'à lire ma réponse...!

Etc
Avatar
Francis SLAWNY
Oui, en effet, je l'ai laissée m'échapper. Désolé.
Merci en tout cas
FS


Il ne te restait plus, éventuellement, qu'à lire ma réponse...!

Etc



Avatar
LE TROLL
Bonjour,

Pour que ce soit carré :

dim debut as string
dim insere as string
dim fin as string
debut = mid(tachaine, 1, 10)
fin = tachaine(11, 20)
insere = "123"
tachaine = debut & insere & fin


--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Francis SLAWNY" a écrit dans le message de
news:
Bonjour.
Existe-t-il une fonction f en VBA qui permet d'inérer une chaine dans une
autre à partir d'un endroit donné ?
Exemple : f("123456", "7,8", 3) = "12378456"
Cordialement
FS