Modifier une fonction d’inversion

Bonjour à tous ;)

j'ai la formule suivante qui inverse les mots qui ont un maximum de 6 lettres :

=DROITE(A1;1)&STXT(A1;NBCAR(A1)-1;1)&SI(NBCAR(A1)>2;STXT(A1;NBCAR(A1)-2;1);"")&SI(NBCAR(A1)>3;STXT(A1;NBCAR(A1)-3;1);"")&SI(NBCAR(A1)>4;STXT(A1;NBCAR(A1)-4;1);"")&SI(NBCAR(A1)>5;STXT(A1;NBCAR(A1)-5;1);"")&SI(NBCAR(A1)>6;STXT(A1;NBCAR(A1)-6;1);"")

Quelqu'un pourrait me le modifier pour qu'elle puisse fonctionner avec 11 lettres ?

Merci

Configuration: Windows Seven sur PC et Mac osX 10.4.10 Ipad 2
Camino

3 réponses

  1. Bonjour à tous,

    =DROITE(A1;1)&STXT(A1;NBCAR(A1)-1;1)&SI(NBCAR(A1)>2;STXT(A1;NBCAR(A1)-2;1);"")&SI(NBCAR(A1)>3;STXT(A1;NBCAR(A1)-3;1);"")&SI(NBCAR(A1)>4;STXT(A1;NBCAR(A1)-4;1);"")&SI(NBCAR(A1)>5;STXT(A1;NBCAR(A1)-5;1);"")&SI(NBCAR(A1)>6;STXT(A1;NBCAR(A1)-6;1);"")&SI(NBCAR(A1)>7;STXT(A1;NBCAR(A1)-n;1);"")& etc ....
    Tu ajoutes jusqu’à 11
    &SI(NBCAR(A1)>n;STXT(A1;NBCAR(A1)-n;1);""), n allant de 7 a 11

    Crdlmt
    0
    1. Bonjour à tous les deux

      Comme elle est un peu lourde, tu pourrais tenter une fonction personnalisée (macro) nettement plus lisible
      Elle s'utilise comme une fonction excel
      Alt-F11 pour accéder au code (dans Module 1)
      Il te faudra enregistrer le fichier avec le type .xlsm (Fichier/enregistre sous/ Type etc ...)

      Option Explicit
      
      Public Function InverseMot(m As String, lm As Byte) As String
      If Len(m) <= lm Then
        InverseMot = StrReverse(m)
      Else
        InverseMot = m
      End If
      End Function

      https://mon-partage.fr/f/yBOHBNAY/

      Cdlmnt
      0
      1. Merci ccm88 ;)
        Je n’ai pas accès aux macros (je suis sur un Ipad).

        Merci Djidji ;)

        Ca marche super mais j’ai un problème de tri.
        Quand je trie, certains mots à l’envers ne sont pas au bonne endroit.
        Il semble que ces mots ont un espace devant.
        Comment fait-on pour supprimer un espace devant une formule ?

        ecipsoH
        edairéM
        ediclA
        egèhplE
        enègolihP
        enèhtsoS
        epicnirP
        epraciloP
        eriognirG
        nilusrU
        nimixaM
        nohtagA
        rodilihP
        boJ
        cinordnA
        cirbA
        cirfluV
        civoduL
        cueirB
        deirfgeiS
        dlabihcrA
        0
    2. 3
      ptéranodon 2 - 1 août 2019 à 17:01
      Merci ccm88 ;)
      Je n’ai pas accès aux macros (je suis sur un Ipad).

      Merci Djidji ;)

      Ca marche super mais j’ai un problème de tri.
      Quand je trie, certains mots à l’envers ne sont pas au bonne endroit.
      Par exemple les "n" arrivent trop tôt dans le tri et le "b" trop tard.
      Il semble que ces mots ont un espace devant.
      Comment fait-on pour supprimer un espace devant une formule ?

      ecipsoH
      edairéM
      ediclA
      egèhplE
      enègolihP
      enèhtsoS
      epicnirP
      epraciloP
      eriognirG
      nilusrU
      nimixaM
      nohtagA
      rodilihP
      boJ

      cinordnA
      cirbA
      cirfluV
      civoduL
      cueirB
      deirfgeiS
      dlabihcrA
      0
      1. Essaye en faisant précéder ta formule par supprespace(ta formule)

        Crdlmt
        0
      2. Comme ça ?

        SUPPRESPACE(=DROITE(A1;1)&STXT(A1;NBCAR(A1)-1………)

        Si oui quand je fais cela j’ai une alerte qui me dit de mettre une apostrophe devant = au tout début.
        (‘=)
        Mais ça ne fonctionne pas…
        0
      3. =SUPPRESPACE(DROITE(A1;1)&STXT(A1;NBCAR(A1)-1………)
        0