Modifier une fonction d’inversion

Messages postés
273
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
23 août 2019
- - Dernière réponse : DjiDji59430
Messages postés
2448
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
22 août 2019
- 2 août 2019 à 16:19
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
Afficher la suite 

3 réponses

Messages postés
2448
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
22 août 2019
269
0
Merci
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
Commenter la réponse de DjiDji59430
Messages postés
9062
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
23 août 2019
1609
0
Merci
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
ptéranodon
Messages postés
273
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
23 août 2019
2 -
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
Commenter la réponse de ccm81
Messages postés
273
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
23 août 2019
2
0
Merci
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
DjiDji59430
Messages postés
2448
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
22 août 2019
269 -
Essaye en faisant précéder ta formule par supprespace(ta formule)

Crdlmt
ptéranodon
Messages postés
273
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
23 août 2019
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…
DjiDji59430
Messages postés
2448
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
22 août 2019
269 -
=SUPPRESPACE(DROITE(A1;1)&STXT(A1;NBCAR(A1)-1………)
Commenter la réponse de ptéranodon