Bonjour a tous !
Voila quelques temps que votre forum m'aide grandement dans la réalisation de mes macros Excel. Je me retourne vers vous car je suis bloqué par une manip qui est certainement simple :
Je posséde dans une macro une chaine de caractére, je me sert de cette chaine comme d'un buffer pour stocker de nombreuses informations.
Dim buffer As String ("id:0nom:jeanPrenom:michelid:1nom:luc...")
je souhaiterais remplacer une chaine dans cette String par une chaine de longueur equivalente ou non. Par exemple la chaine "jean" par "marilou".
J'arrive a recuperer la position du premier et dernier caractere de la chaine a remplacer (dans l'exemple j et n)
J'ai essayé d'utiliser Mid comme ceci :
Mid(buffer,posstart,posEnd) = "marilou" mais il me remplace juste jean et mari
J'ai réfléchi a faire une concaténation ou encore au replace mais je ne vois pas trop comment m'y prendre.
en tout cas, merci de l'aide que vous apportez tous les jours a des pommés comme moi
Re : remplacement d'une chaine de caractere dans une autre
Merci pour la rapidité de votre réponse.
Si dans ma chaine de caractere j'ai plusieurs Jean, il va remplacer tous les Jean si je ne me trompe pas ? Est ce qu'il est possible avec la fonction replace de remplacer seulement la premiere occurence a partir d'une position, ou quelque chose dans le genre ?
Merci
Re : remplacement d'une chaine de caractere dans une autre
Bonsoir,
Avec une syntaxe correcte, ça marche comme attendu :
VB:
Sub tt()
Dim buffer As String, buffer2 As String
buffer = "id:1date:22/04/1990nom:jean/id:2date:22/04/1990nom:jacques"
buffer2 = Replace(buffer, "22/04/1990", "22/04/18", , 9, 1)
MsgBox buffer2
End Sub