[Resolu]Extraire mot avec un chiffre dans une cellule (Macro)

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 !

snarfalou

XLDnaute Nouveau
Bonjour a tous et merci par avance,

Je cherche a extraire d une cellule, un code compose de chiffre et lettres.
Le nombre de code est important et le nombre de cellule tres important

Exemple de cellule 1 :
<Z01.2/Dental Examination Administration of local anaesthetic>

je voudrais recuperer Z01.1
le code commence toujours par une majuscule et a un nombre de taille variable

J ai parfois plusieurs codes dans la meme cellulle :
<R50.9/Fever, unspecified, J22/Unspecified acute lower respiratory infection, J06.9/Acute upper respiratory infection, unspecified>

J ai parfois 3 codes dans la meme cellule
J aimerais extraire ces codes chacun dans une cellule differente si possible.
la structure avec le / est toujours la meme
Si vous avez des idees, je suis preneur .
Merci
 
Dernière édition:
Re : Extraire mot avec un chiffre dans une cellule (Macro)

Bonsour®
Bonjour a tous et merci par avance,

Je cherche a extraire d une cellule, un code compose de chiffre et lettres.
Le nombre de code est important et le nombre de cellule tres important

Exemple de cellule 1 :
<Z01.2/Dental Examination Administration of local anaesthetic>

je voudrais recuperer Z01.1
le code commence toujours par une majuscule et a un nombre de taille variable

J ai parfois plusieurs codes dans la meme cellulle :
<R50.9/Fever, unspecified, J22/Unspecified acute lower respiratory infection, J06.9/Acute upper respiratory infection, unspecified>

J ai parfois 3 codes dans la meme cellule
J aimerais extraire ces codes chacun dans une cellule differente si possible.
la structure avec le / est toujours la meme
Si vous avez des idees, je suis preneur .
Merci

🙄 des idées...
à adapter , en supposant les données en colonne A
[highlight=VB]
Sub Macro1()
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), _
TrailingMinusNumbers:=True
Range("A1:E100").Select
Selection.Replace What:="/*", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
[/code]

- les < et > font-ils partie des données ?
- peut-etre également prévoir une suppression des "unspécified"
 
Re : Extraire mot avec un chiffre dans une cellule (Macro)

Re

Parceque j'ai trouvé plus pratique de rechercher le "/" final en partant de la fin du texte
Je regarde si je peux m'en sortir en partant du debut (un test rapide me dit que ce n'est pas aussi simple !!!)
 
Re : Extraire mot avec un chiffre dans une cellule (Macro)

Re

Bon finalement , je m'en suis sorti
Voila la version avec les codes dans l'ordre

Le demandeur a eu de la chance que je trouve son probleme interessant
Habituellement je passe mon chemin s'il n'y a pas de fichier
 

Pièces jointes

Re : Extraire mot avec un chiffre dans une cellule (Macro)

Bonsoir à tous,

avec une fonction personnalisée: CodeN(X , N)
où X est la cellule contenant le texte, et N est le Nième code présent dans X
Si N<= 0 alors on renvoie le nombre de code présents dans X
Si N est supérieur au nombre de codes dans X, on renvoie la chaine vide
sinon on renvoie le Neme Code présent dans X.

Code VBA de CodeN:
VB:
Function CodeN(X As String, N As Long)
Dim T, i, Ncodes
CodeN = ""
T = Split(X, "/"): Ncodes = UBound(T) - LBound(T)
If N <= 0 Then
   CodeN = Ncodes
ElseIf N > Ncodes Then
   CodeN = ""
Else
   For i = Len(T(N - 1)) To 1 Step -1
      If Mid(T(N - 1), i, 1) >= "A" And Mid(T(N - 1), i, 1) <= "Z" Then
         CodeN = Mid(T(N - 1), i)
         Exit For
      End If
   Next i
End If
End Function
 

Pièces jointes

Dernière édition:
Re : Extraire mot avec un chiffre dans une cellule (Macro)

J ai bien entendu vos remarques
Voici donc un extrait de mon fichier
L original fait 65000 lignes
Mon objectif est de retraiter les informations contenues pour les injecter dans une base Oracle par la suite.
Pour etre tout a fait franc je ne travaille pas sur Excel mais sur open office. Cela dit du VB reste du VB a mon avis
Je suis tres reconnaissant que mon probleme vous interesse, meme si je n y ai pas mis les formes initialement
Je teste vos propositions des que je le peux (sieste des enfants) et vous tient au courant

cordialement
Francois
 

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
Retour