Inversion d'un mot
bleudazur
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Une personne pourrait-elle m'aider à me dire quelle formule ( s'il en existe une, bien sûr) je dois utiliser sur Excel, pour faire l'inversion d'un mot, et ce , d'une cellule à l'autre.
Exemple: "arbre" doit devenir "erbra"
Ceci pourrait m'aider pour la recherche de mots, pour des mots croisés, par exemple.
Merci d'avance pour votre éventuelle réponse.
Bleudazur(f)
Une personne pourrait-elle m'aider à me dire quelle formule ( s'il en existe une, bien sûr) je dois utiliser sur Excel, pour faire l'inversion d'un mot, et ce , d'une cellule à l'autre.
Exemple: "arbre" doit devenir "erbra"
Ceci pourrait m'aider pour la recherche de mots, pour des mots croisés, par exemple.
Merci d'avance pour votre éventuelle réponse.
Bleudazur(f)
Configuration: Windows XP
7 réponses
-
Hello,
je doute que ce soit possible avec exel de faire ça "automatiquement" -
Hello,
Merci à theegyptianrider pour sa réponse.
Peut être as tu une autre solution à me proposer, via WORD, par exemple. -
-
Bonsoir bleudazur,
Ce que tu veux faire n'est pas réalisable avec une formule.
Par contre, si tu connais VBA pour Excel, tu peux tester cette macro :
Public Sub InverseMot(Adr As String) Dim Mot As string, Nmot As String Mot = Range(Adr).Value For n = Len(Mot) To 1 Step -1 Nmot = Nmot + Mid(Mot, n, 1) Next Range(Adr).Value = Nmot End Sub
L'appel à cette macro nécessite une adresse de cellule en paramètre :
Ex :InverseMot "A1"
PS : il est possible, pour se rapprocher de l'usage d'une formule, de créer une fonction VBA qui effectuerait le même traitement, mais je ne maîtrise pas les fonctions VBA. Peut-être qu'un forumeur averti pourrait nous y aider ?
Cordialement. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonsoir ,
Merci pour vos réponses, et la proposition de papou93.
Bien que j'ai déjà entendu parler de VBA, je ne maitrise pas non plus cette fonction, mais je vais me renseigner.
Cordialement
Bleudazur -
Bonsoir papou93 et tout le monde,
Créer une fonction n'est pas plus difficile qu'une macro.
Pour reprendre ta macro papou93 voici ce que ça donne:Function InverseMot(mot as String) as String Dim Nmot As String For n = Len(mot) To 1 Step -1 Nmot = Nmot + Mid(mot, n, 1) Next InverseMot = Nmot End Function
Déclaration avec Function, et déclaration des parametres entre les ().
Ces parametres seront accessibles en tant que variables, le type (as string) est facultatif mais c'est préférable de le spécifier.
Le retour de la fonction se fait avec: nom_de_la_fonction = valeur_à_retourner. Il peut y en avoir plusieurs à l'intérieur du code.
La déclaration d'une fonction personnalisée ne peut se faire que dans un module (dans VBA: clic droit dans la fentre 'projet' et 'Insertion / module'.
eric -
Bonsoir aux participants,
Merci eriic pour ta précision.
Je savais que les fonctions étaient comparables aux macros, malgré quelques nuances subtiles comme le passage des paramètres.
Encore merci d'avoir éclairé ma lanterne, je vais pouvoir continuer à exploiter ces nouvelles connaissances.
Cordialement.-
Ca n'aura pas de diffultés pour toi, et tu verras, ça va t'ouvrir de nouveaux horizons.
Garde en tête qu'une fonction retourne toujours une valeur.
Et n'est pas réservée aux feuilles excel. Si tu as un calcul répétitif dans ton programme tu peux le faire par fonction. Ca allege et rend la lecture plus facile. Par contre ça consomme un plus en ressource donc y réflechir avant d'en mettre une dans une boucle de 100000 calculs... Si elle ne sert qu'au programme ajoute Private devant, elle n'apparaitra pas dans les fonctions personnalisées.
Bonne soirée
eric
-