Extraire des caractères numériques d’une cellule
gexelpas
-
gexelpas -
gexelpas -
Bonjour,
Je dispose de cellules contenant chacune des caractères alphabétiques et numériques.
Le but est d’extraire, grâce à une formule, que les caractères numériques.
Évidemment, ils ne sont pas toujours à la même place dans la chaîne de caractères, qui commence et se termine toujours par des lettres.
Merci d’avance pour vos suggestions !
Cdlt,
Je dispose de cellules contenant chacune des caractères alphabétiques et numériques.
Le but est d’extraire, grâce à une formule, que les caractères numériques.
Évidemment, ils ne sont pas toujours à la même place dans la chaîne de caractères, qui commence et se termine toujours par des lettres.
Merci d’avance pour vos suggestions !
Cdlt,
Configuration: Android / Chrome 85.0.4183.127
A voir également:
- Extraire des caractères numériques d’une cellule
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Caractères spéciaux - Guide
- Caracteres speciaux - Guide
- Extraire image pdf - Guide
3 réponses
Bonjour
avez vous quelques modèles du contenu de vos cellules, dans tous les cas de figure?
à vous lire
crdlmnt
avez vous quelques modèles du contenu de vos cellules, dans tous les cas de figure?
à vous lire
crdlmnt
Bonjour,
a défaut de formule voici une méthode avec vba
Faire Alt F11 sur la feuille concernée pour accéder à l'éditeur.
Mettre ce code qui se déclenchera au double clic sur la cellule contenant les données:
a défaut de formule voici une méthode avec vba
Faire Alt F11 sur la feuille concernée pour accéder à l'éditeur.
Mettre ce code qui se déclenchera au double clic sur la cellule contenant les données:
Option Explicit
Dim chaine As String
Dim ligne As Long
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then 'adapter la colonne de données
chaine = Target.Value
ligne = Target.Row
If chaine = "" Then Exit Sub
extraireValeursNumeriques_DansChaine
End If
End Sub
'https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-P
Sub extraireValeursNumeriques_DansChaine()
Dim i As Byte, Nb As Byte
Dim Cible As String, Resultat As String
Dim Nombre As Double
Cible = chaine
'Pour que fonction Val puisse reconnaitre les décimales: Remplacement des
'virgules par des points
Cible = Replace(Cible, ",", ".")
'Pour gérer deux nombres qui se suivent: remplacement des espaces
'par un caractère Alpha
Cible = Replace(Cible, " ", "x")
For i = 1 To Len(Cible)
If IsNumeric(Mid(Cible, i, 1)) Then
Nombre = Val(Mid(Cible, i, Len(Cible) - i + 1))
Nb = Nb + 1
Resultat = Resultat & Nombre & ", " 'vbLf
i = i + Len(Str(Nombre)) - 1
End If
Next
Range("B" & ligne).Value = Left(Resultat, Len(Resultat) - 2)'adapter la colonne de reception
End Sub
Bonjour,
Merci pour votre retour.
Je suis certain que ce code fonctionne, mais Via55 m'a proposé une formule matricielle, qui fonctionne très bien et qui me permet d'éviter d'enregistrer le fichier sous un format .xlsm, pour lequel, les destinataires sont toujours un peu récalcitrants à activer lors de la réception et de l'ouverture...
Merci en tout cas.
Gexelpas
Merci pour votre retour.
Je suis certain que ce code fonctionne, mais Via55 m'a proposé une formule matricielle, qui fonctionne très bien et qui me permet d'éviter d'enregistrer le fichier sous un format .xlsm, pour lequel, les destinataires sont toujours un peu récalcitrants à activer lors de la réception et de l'ouverture...
Merci en tout cas.
Gexelpas
Bonjour
Formule matricielle de Jacques Boisgonthier
=STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1)));0);SOMME((ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1))))*1))
A valider par Ctrl+Maj+Entrée et la formule se met auto entre accolades dans la barre de formules
Cdlmnt
Via
Formule matricielle de Jacques Boisgonthier
=STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1)));0);SOMME((ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1))))*1))
A valider par Ctrl+Maj+Entrée et la formule se met auto entre accolades dans la barre de formules
Cdlmnt
Via
Bonjour Via55,
Ce n'est pas la première fois et certainement pas la dernière :-) que vous me dépannez sur des fonctions excel...
Tout comme Vaucluse, ci-dessus, que vous devez vous croiser sur bon nombre de posts...?
Merci pour cette formule qui fonctionne à merveille !
Les précédents solutions que vous et Vaucluse, avez pu m'apporter m'ont à chaque fois permis d'avancer dans l'élaboration de rapports sous excel et cela est très appréciable !
Merci pour tout !
Gexelpas (et c'est peu de le dire...)
Ce n'est pas la première fois et certainement pas la dernière :-) que vous me dépannez sur des fonctions excel...
Tout comme Vaucluse, ci-dessus, que vous devez vous croiser sur bon nombre de posts...?
Merci pour cette formule qui fonctionne à merveille !
Les précédents solutions que vous et Vaucluse, avez pu m'apporter m'ont à chaque fois permis d'avancer dans l'élaboration de rapports sous excel et cela est très appréciable !
Merci pour tout !
Gexelpas (et c'est peu de le dire...)
Via55 m'a proposé une solution qui fonctionne, mais merci pour votre réponse rapide !
La prochaine fois, effectivement, je veillerai à joindre des exemples car je comprends qu'il est bien plus aisé de proposer des fonctions appliquées directement à des modèles...
En tout cas merci !
Cdlt,
Gexelpas