Excel Mac : Changer ordre des mots au sein d'une même cellul
Résolu
Bonjour,
Je dois changer l'ordre des noms et prénoms en supprimant la virgule mais en gardant le slash, sans doute l'exemple sera plus parlant :
Actuellement j'ai en A1 = CAGE, JOHN / MARTIELLO, DAVIDE / UGOLETTI, PAOLO
Je souhaiterai en A1 : JOHN CAGE / DAVIDE MARTIELLO / PAOLO UGOLETTI
Après plusieurs recherches, je n'ai pas trouvé de résultats probant, donc si quelqu'un à une idée je l'en remercie grandement.
Bien à vous
François
Je dois changer l'ordre des noms et prénoms en supprimant la virgule mais en gardant le slash, sans doute l'exemple sera plus parlant :
Actuellement j'ai en A1 = CAGE, JOHN / MARTIELLO, DAVIDE / UGOLETTI, PAOLO
Je souhaiterai en A1 : JOHN CAGE / DAVIDE MARTIELLO / PAOLO UGOLETTI
Après plusieurs recherches, je n'ai pas trouvé de résultats probant, donc si quelqu'un à une idée je l'en remercie grandement.
Bien à vous
François
2 réponses
-
Bonjour
Avec une fonction personnalisée (macro)Option Explicit Public Function InverseOrdre(ByVal s As String) Dim rv As Long, rs As Long, ss As String rs = InStr(1, s, "/") If rs = 0 Then rv = InStr(1, s, ",") InverseOrdre = Right(s, Len(s) - rv - 1) & "," & Left(s, rv - 1) Else ss = Left(s, rs - 1) rv = InStr(1, ss, ",") InverseOrdre = Right(ss, Len(ss) - rv - 1) & "," & Left(ss, rv - 1) & " / " & InverseOrdre(Right(s, Len(s) - rs)) End If End Function
https://www.cjoint.com/c/LFvov1lfurB
Alt-F11 pour accéder au code (dans Module 1)
Cdlmnt -
Oups, j'ai oublié de supprimer les virgules
Public Function InverseOrdre(ByVal s As String) Dim rv As Long, rs As Long, ss As String rs = InStr(1, s, "/") If rs = 0 Then rv = InStr(1, s, ",") InverseOrdre = Right(s, Len(s) - rv - 1) & Left(s, rv - 1) Else ss = Left(s, rs - 1) rv = InStr(1, ss, ",") InverseOrdre = Right(ss, Len(ss) - rv - 1) & Left(ss, rv - 1) & " / " & InverseOrdre(Right(s, Len(s) - rs)) End If End Function
Cdlmnt