Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres (RESOLU) Extraire des lettres âpres "KDL"

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 !

chaelie2015

XLDnaute Accro
Bonsoir Forum
Suivant le même principe de la discussion de "Extraire une année composée de quatre chiffres ("aaaa")" précédente , cette fois-ci, je souhaite extraire les lettres après 'KDL' soit L ou .L ou P ou .P
exemple un :dans A1 = 071/2011 KDL.P/11 donc j'aurai dans B1= .P
exemple deux : A1 =73/2012-KDLL/26 donc j'aurai dans B1= L
j'ai trouvé cette fonction
VB:
Function ExtraireLettreApresKDL(chaine As String) As String
    Dim positionKDL As Integer
    Dim extrait As String
    
    positionKDL = InStr(1, chaine, "KDL", vbTextCompare)
    
    If positionKDL > 0 And positionKDL < Len(chaine) - 2 Then
        extrait = Mid(chaine, positionKDL + 3, 1)
        If extrait = "L" Or extrait = ".L" Or extrait = "P" Or extrait = ".P" Then
            ExtraireLettreApresKDL = extrait
        Else
            ExtraireLettreApresKDL = ""
        End If
    Else
        ExtraireLettreApresKDL = ""
    End If
End Function
Mais elle n'affiche pas des résultats souhaité comme dans l'exemple un ci dessus
Merci
 
Dernière édition:
Solution
Salut,

Mid(chaine, positionKDL + 3, 1) te donne qu'un caractère dans la chaine,
si c'est P ou L la fonction retourne P ou l
si c'est le point il faut tester le caractère juste après pour voir si c'est L ou P.

un exemple de code

VB:
If positionKDL > 0 And positionKDL < Len(chaine) - 2 Then
      extrait = Mid(chaine, positionKDL + 3, 1)

      Select Case extrait
         Case "L", "P": ExtraireLettreApresKDL = extrait
         Case ".":
            extrait = Mid(chaine, positionKDL + 4, 1)
            If extrait = "L" Or extrait = "P" Then ExtraireLettreApresKDL = "." & Mid(chaine, positionKDL + 4, 1)
      End Select
   Else
      ExtraireLettreApresKDL = ""
   End If


A+++
- 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
3
Affichages
951
Réponses
8
Affichages
2 K
Réponses
0
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…