Microsoft 365 Ajouter un espace

  • Initiateur de la discussion Initiateur de la discussion moanin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

moanin

XLDnaute Accro
Bonsoir à tous 😉

Est-il possible avec une formule de séparer les mots avec un espace à l'endroit où il y a une seconde majuscule ?

Exemple :

ChickasawsChicachas

>Chickasaws Chicachas

(Le C majuscule aprés ws)

DunnezaTsattine

>Dunneza Tsattine

(Le T majuscule aprés za)

Merci 🙂
 
Bonsoir Moanin,
En attendant une formule plus "futé", voici celle ci :
VB:
=STXT(A1;1;MIN(SI(ESTERREUR(TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100)));"";TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100)))))&" "&
STXT(A1;1+MIN(SI(ESTERREUR(TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100)));"";TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100))));100)
A valider par Maj+Ctrl+Entrée car formule matricielle.
 

Pièces jointes

Re,
Ma PJ marche t-elle ?
De mémoire, à vérifier, Office 365 est directement en matriciel, donc le Maj+Ctrl+Entrée est inutile, il suffit de valider par "entrée". A tester.
Cela semble confirmé :
 
Si ça fonctionne en copiant la formule il fallait juste mettre = devant qui n'y était pas…
Maintenant : comment fait-on quand on veut créer une cellule matricielle ?
Il doit y avoir devant et derrière un signe spécial, non ?
Des accolades ?
 
Merci 😉 mais je n'ai pas accès aux formules matricielles 🙁
Avec microsoft 365, vous avez accès aux formules matricielles (et qui plus est avec une validation normale).

Sinon :
1650319636942.png
 
[edit] Bonsoir Mapomme.
Dans votre PJ feuil2 il manque la moitié de la formule, vous avez :
VB:
=STXT(A1;1+MIN(SI(ESTERREUR(TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100)));"";TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100))));100)
au lieu de
Code:
=STXT(A1;1;MIN(SI(ESTERREUR(TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100)));"";TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100)))))&" "&
STXT(A1;1+MIN(SI(ESTERREUR(TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100)));"";TROUVE(CAR(LIGNE(INDIRECT("65:90")));STXT(A1;2;100))));100)

Par contre il ne détecte que la seconde majuscule. Comme l'ex donné en post #1.
Il faut traiter toutes les majuscules ? Si oui, alors je ne connais que le VBA, voir PJ avec la fonction perso :
Code:
Function Maj(C$)
    Dim i%, S$
    For i = 1 To Len(C)
        If Asc(Mid(C, i, 1)) >= 65 And Asc(Mid(C, i, 1)) <= 90 Then
            S = S & " " & Mid(C, i, 1)
        Else
            S = S & Mid(C, i, 1)
        End If
    Next i
    Maj = S
End Function
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
36
Affichages
3 K
Réponses
6
Affichages
185
  • Question Question
XL pour MAC mise en forme
Réponses
2
Affichages
568
Réponses
19
Affichages
621
Réponses
10
Affichages
271
Réponses
8
Affichages
478
  • Question Question
Microsoft 365 Excel365
Réponses
2
Affichages
494
Réponses
18
Affichages
1 K
Retour