VB, Excel et place des chaînes de caractères
Cécile
-
Ivan-hoe Messages postés 433 Date d'inscription Statut Membre Dernière intervention -
Ivan-hoe Messages postés 433 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Cela fait un petit moment que je cherche une solution à mon problème et je n'ai encore rien trouvé. Je suis à la recherche d'une macro me permettant de diviser une chaîne de caractère et d'en passer une partie à la fin. Par exemple, pour "Port de Lorient", j'aimerai bien arriver à "Lorient (Port de)". Passer de "Port de" à "(Port de)" ne me pose pas de problème mais c'est envoyer le "(Port de") à la fin de la chaîne qui est plus problématique.....
Si quelqu'un a une idée, je l'en remercie :)
Bonne journée.
Cela fait un petit moment que je cherche une solution à mon problème et je n'ai encore rien trouvé. Je suis à la recherche d'une macro me permettant de diviser une chaîne de caractère et d'en passer une partie à la fin. Par exemple, pour "Port de Lorient", j'aimerai bien arriver à "Lorient (Port de)". Passer de "Port de" à "(Port de)" ne me pose pas de problème mais c'est envoyer le "(Port de") à la fin de la chaîne qui est plus problématique.....
Si quelqu'un a une idée, je l'en remercie :)
Bonne journée.
Configuration: Windows XP Firefox 2.0.0.14
3 réponses
-
Voila grosso modo le code que tu dois appliquer :
Texte = Range("A1") ' Cherche le dernier espace Position = InStrRev(Texte, " ") ' Extraction des caractères après le dernier espace Ville = Mid(Texte, Position + 1) ' Extraction des caractères avant le dernier espace Avant = Left(Texte, Position - 1) Avant = "(" & Avant & ")" ' Construction du nouveau Libellé NouveauTexte = Ville & " " & Avant MsgBox NouveauTexte
Mais attention car cela recherche le dernier espace dans la chaine de caractère, donc ca marche pour les villes sans espaces, mais pour "Port de La Baule" ca te renverra "Baule (Port de La)" -
Salut,
sinon, à partir du moment où tu as mis tes parenthèses, tu peux t'inspirer du code ci-dessous
Split coupe le texte à chaque délimiteur ; ici, on met la parenthèse fermante comme délimiteur
Ensuite, on recompose le texte à l'enversSub Test() Dim LeTexte As String Dim Tableau LeTexte = "(Port de) Lorient " Tableau = Split(LeTexte, ")") MsgBox Tableau(1) & Tableau(0) & ")" End Sub
I. -
Peux-tu poster ton code complet, qu'on puisse voir en amont d'où vient le problème ?
Merci.