Extraire la position d'une lettre dans une série donnée

stich02

XLDnaute Occasionnel
Bonjour à tous,

Je vous joins un fichier pour savoir si il serait possible de concocter une formule afin d'extraire la position d'une lettre précise dans une série. Impossible pour moi de m'en sortir...

Merci d'avance.

Stich02
 

Pièces jointes

  • essai3.xls
    14.5 KB · Affichages: 26
  • essai3.xls
    14.5 KB · Affichages: 29
  • essai3.xls
    14.5 KB · Affichages: 28

R@chid

XLDnaute Barbatruc
Re : Extraire la position d'une lettre dans une série donnée

Bonsoir,
tu peux les récupérer dans des cellules, puis tu peux faire concaténer si tu veux.
en E6,
Code:
=SI(COLONNES($E:E)>NBCAR($B6)-NBCAR(SUBSTITUE($B6;"P";));"";INDEX(STXT($B6;LIGNE(INDIRECT("1:"&NBCAR($B6)));1);PETITE.VALEUR(SI(STXT($B6;LIGNE(INDIRECT("1:"&NBCAR($B6)));1)="P";LIGNE(INDIRECT("1:"&NBCAR($B6)))-1);COLONNES($E:E))))
@ valider par Ctrl+Shift+Entrer
@ tirer vers le bas et vers la droite

Puis tu peux les concaténer dans la colonne G.

@ + +
 

job75

XLDnaute Barbatruc
Re : Extraire la position d'une lettre dans une série donnée

Bonsoir stich02,

Sûrement bien compliqué par formule mais pas du tout en VBA :

Code:
Function ListeN$(t$, lettre$, sep1$, sep2$)
Dim s
For Each s In Split(t, sep1)
  If InStr(s, lettre) Then ListeN = ListeN & sep2 & Val(s)
Next
ListeN = Mid(ListeN, Len(sep2) + 1)
End Function
Cette fonction en C3 =ListeN(B3;"P";"/";"-")

Fichier joint.

Edit : hello R@chid, bravo :)

A+
 

Pièces jointes

  • essai(1).xls
    28 KB · Affichages: 24
  • essai(1).xls
    28 KB · Affichages: 22
  • essai(1).xls
    28 KB · Affichages: 24
Dernière édition:

stich02

XLDnaute Occasionnel
Re : Extraire la position d'une lettre dans une série donnée

Bonsoir R@chid et job 75,

Merci pour cette formule impressionnate et pour la macro diablement efficace. Dans les deux cas évidemment je ne comprends rien mais ça marche impeccablement et c'est bien là l'essentiel.
Sinon à l'usage je vais quand même utiliser la macro car je ne sais pas à l'avance quelle longueur aura la série (il y en avait 6 dans mon exemple mais il pourrait y en avoir bien plus) et don combien de colonne en plus je dois rajouter dans mon tableau.

Encore merci à vous deux et à tous ceux qui m'ont lu.

Bonne nuit à tous.

Stich02
 

job75

XLDnaute Barbatruc
Re : Extraire la position d'une lettre dans une série donnée

Bonjour stich02,

Je reviens sur ce fil avec une solution sans VBA.

Elle utilise la fonction de concaténation de matrice MCONCAT.

Pour pouvoir l'utiliser il faut télécharger sur le web la macro complémentaire Morefunc de Laurent Longre.

C'est gratuit et possible jusqu'à Excel 2007.

A+
 

Pièces jointes

  • essai avec MCONCAT(1).xls
    30 KB · Affichages: 12
Dernière édition:

job75

XLDnaute Barbatruc
Re : Extraire la position d'une lettre dans une série donnée

Re,

Le fichier (1) suppose qu'il y a un espace devant les caractères à extraire et 2 caractères au maximum sont extraits.

Avec ce fichier (2) on peut extraire jusqu'à 10 caractères, et on peut toujours adapter...

A+
 

Pièces jointes

  • essai avec MCONCAT(2).xls
    29.5 KB · Affichages: 19

job75

XLDnaute Barbatruc
Re : Extraire la position d'une lettre dans une série donnée

Re,

R@chid me fait remarquer que Morefunc fonctionne aussi sur Excel 2010, c'est exact.

Après téléchargement il suffit d'aller chercher la macro complémentaire dans C:\Program Files\Morefunc.

A+
 

stich02

XLDnaute Occasionnel
Re : Extraire la position d'une lettre dans une série donnée

Bonjour Job75, Rachid

Bonjour à tous,

Merci de cette nouvelle proposition via Morefunc que, bien évidemment, je ne connaissais pas.

Je viens de voir que Morefunc permettait aussi d'avoir accès à d'autres fonctions et ouvre ainsi de nouveaux horizons.
C'est d'ailleurs le problème avec Excel plus on en apprend et plus on se rend compte que l'on sait peu de chose tant le sujet est vaste. Sans même parler du VBA...Enfin c'est surtout vrai pour moi car quand je vois comment certains, dont bien évidemment vous faites partie, maîtrisent (et le mot est faible) ce logiciel je suis admiratif. Admiratif aussi en cette époque ou "le temps c'est de l'argent" de voir que n'hésitez pas à consacrer de votre temps et à partager vos connaissances pour résoudre nos problèmes en usant au passage de beaucoup de pédagogie et de patience envers les néophytes que nous sommes.

Encore Merci.

Bonne soirée.

Stich02
 

Discussions similaires

Réponses
10
Affichages
223

Statistiques des forums

Discussions
312 305
Messages
2 087 077
Membres
103 455
dernier inscrit
saramachado