Chaine de caracteres

  • Initiateur de la discussion Initiateur de la discussion maval
  • 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 !

maval

XLDnaute Barbatruc
Bonjour,

Est il possible en VBA retirer les mots qui suivent "Liste des communes"

Ex: Liste des communes Alpes-De-Haute-Provence et déplacer Alpes-De-Haute-Provence sur la colonne de droite.

Je vous remercie d'avance
 
Re : Chaine de caracteres

Bonjour à tous

maval
Très drôle ton gag 😉
On fait nos tests dans le vide ou sur le fichier exemple que tu as joint dans ton message ...

PS: Tu es quand même inscrit depuis mai 2012... tu ne connais toujours pas le bénéficie de la Pj 😉 ?
 
Re : Chaine de caracteres

Bonjour maval, Jean-Marie,

Pour trouver la chaîne qui commence par la 2ème majuscule :

Code:
=STXT(C1;PETITE.VALEUR(SI(EXACT(STXT(C1;LIGNE(INDIRECT("1:"&NBCAR(C1)));1);CAR(TRANSPOSE(LIGNE(INDIRECT("65:90")))));LIGNE(INDIRECT("1:"&NBCAR(C1))));2);9^9)
C'est une formule matricielle à valider par Ctrl+Maj+Entrée.

A+
 
Re : Chaine de caracteres

Re,

La formule du post #6 est assez lourde car elle calcule tous les éléments d'une matrice 53 x 26.

Sur Win XP - Excel 2003 elle s'exécute en 536 µs.

Celle-ci (toujours matricielle) est plus légère et plus rapide :

Code:
=STXT(C1;MIN(SI(ESTNUM(TROUVE(CAR(LIGNE(INDIRECT("65:90")));C1;2));TROUVE(CAR(LIGNE(INDIRECT("65:90")));C1;2)));9^9)
Elle s'exécute en 186 µs.

Mais elle ne fait pas le même travail : elle recherche la 1ère majuscule à partir du 2ème caractère.

A+
 
Re : Chaine de caracteres

Bonsoir,

Est il possible en VBA retirer les mots qui suivent "Liste des communes" = OUI

- Liste des communes du département des Alpes-Maritimes

soit le dernier mot de la phrase voici le résultat en VBA.

Code :
VB:
Sub extract()

Cells(1, 13) = Split(Cells(1, 3), " ")(UBound(Split(Cells(1, 3), " ")))  ' Alpes-Maritimes

End Sub
laurent
 
Dernière édition:
Re : Chaine de caracteres

Bonsoir laurent950,

Oui on peut rechercher le dernier mot après un espace, on peut le faire avec une formule normale :

Code:
=STXT(C1;TROUVE("µ";SUBSTITUE(C1;" ";"µ";NBCAR(C1)-NBCAR(SUBSTITUE(C1;" ";))))+1;9^9)
Durée d'exécution 39 µs...

Bonne nuit.
 
- 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
1
Affichages
195
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
420
Réponses
19
Affichages
804
Réponses
7
Affichages
344
Réponses
5
Affichages
324
Retour