[Simple] Extraire un nombre d'un texte...
Résolu/Fermé
A voir également:
- [Simple] Extraire un nombre d'un texte...
- Extraire une video youtube - Guide
- Extraire son video - Guide
- Mettre un texte en majuscule - Guide
- Déflouter un texte - Forum Logiciels
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
5 réponses
Raymond PENTIER
Messages postés
58395
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 avril 2024
17 096
11 sept. 2008 à 00:48
11 sept. 2008 à 00:48
Est-ce que TOUTES les phrases téléchargées ont la même structure, c'est-à-dire le nombre en dernière position et précédé de deux points (:), ou le nombre peut-il se trouver n'importe où dans la phrase ?
Raymond PENTIER
Messages postés
58395
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 avril 2024
17 096
11 sept. 2008 à 01:31
11 sept. 2008 à 01:31
Salut.
Supposons que la phrase donnée en exemple soit placée dans la cellule G12.
=NBCAR(G12) calcule le nombre total de caractères de la phrase, soit 48.
=CHERCHE(":";G12;1) renvoie la position de départ de la première occurrence du caractère ":" dans le texte en G12, à partir de la première lettre de la phrase, soit 42. Il reste donc 48-42=6 caractères après ":".
=DROITE(G12;6) extrait les 6 derniers caractères (ceux de droite) de la phrase en G12, soit " 3.821".
=CNUM( DROITE(G12;6) ) devrait convertir l'expression " 3.821" en un nombre ; mais il y aura affichage du message d'erreur #VALEUR! à cause du point séparateur de milliers ; il faut donc s'en débarrasser avant d'écrire la moindre formule.
De sorte que la manipulation globale est la suivante :
1) Sélectionner G12 et une cellule vide (faute de quoi tout le fichier subirait la modification), faire "Remplacer/Rechercher" et taper un point, puis cliquer sur "Remplacer tout" sans rien mettre dans "Remplacer par". Ainsi la fin de la phrase devient "... forums : 3821".
2) Saisir la formule =CNUM(DROITE(G12;NBCAR(G12)-CHERCHE(":";G12;1)))
Bon travail ; à bientôt.
Supposons que la phrase donnée en exemple soit placée dans la cellule G12.
=NBCAR(G12) calcule le nombre total de caractères de la phrase, soit 48.
=CHERCHE(":";G12;1) renvoie la position de départ de la première occurrence du caractère ":" dans le texte en G12, à partir de la première lettre de la phrase, soit 42. Il reste donc 48-42=6 caractères après ":".
=DROITE(G12;6) extrait les 6 derniers caractères (ceux de droite) de la phrase en G12, soit " 3.821".
=CNUM( DROITE(G12;6) ) devrait convertir l'expression " 3.821" en un nombre ; mais il y aura affichage du message d'erreur #VALEUR! à cause du point séparateur de milliers ; il faut donc s'en débarrasser avant d'écrire la moindre formule.
De sorte que la manipulation globale est la suivante :
1) Sélectionner G12 et une cellule vide (faute de quoi tout le fichier subirait la modification), faire "Remplacer/Rechercher" et taper un point, puis cliquer sur "Remplacer tout" sans rien mettre dans "Remplacer par". Ainsi la fin de la phrase devient "... forums : 3821".
2) Saisir la formule =CNUM(DROITE(G12;NBCAR(G12)-CHERCHE(":";G12;1)))
Bon travail ; à bientôt.
Denis.L
Messages postés
434
Date d'inscription
jeudi 7 février 2008
Statut
Membre
Dernière intervention
4 juin 2010
232
11 sept. 2008 à 10:26
11 sept. 2008 à 10:26
Bonjour à tous,
Si je peut me permettre de compléter ta réponse Raymond, tu ajoute la fonction "SUBSTITUE" et tu n'as pas à faire de remplacement de "point" avant.
ce qui donne:
=SUBSTITUE(CNUM(DROITE(G12;NBCAR(G12)-CHERCHE(":";G12;1)));".";"")
crdlt
Denis
Si je peut me permettre de compléter ta réponse Raymond, tu ajoute la fonction "SUBSTITUE" et tu n'as pas à faire de remplacement de "point" avant.
ce qui donne:
=SUBSTITUE(CNUM(DROITE(G12;NBCAR(G12)-CHERCHE(":";G12;1)));".";"")
crdlt
Denis
Raymond PENTIER
Messages postés
58395
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 avril 2024
17 096
>
Denis.L
Messages postés
434
Date d'inscription
jeudi 7 février 2008
Statut
Membre
Dernière intervention
4 juin 2010
11 sept. 2008 à 14:06
11 sept. 2008 à 14:06
Tout-à-fait, Denis ! Et merci de nous rappeler cette fonction, que j'ai le tort de ne jamais utiliser, alors qu'elle est si efficace ...
Salutations à tous.
Salutations à tous.
Papou79
Messages postés
36
Date d'inscription
samedi 29 mars 2008
Statut
Membre
Dernière intervention
13 novembre 2008
12
11 sept. 2008 à 10:09
11 sept. 2008 à 10:09
Bonjour Zarbi3, Raymond,
Une autre solution possible:
Dans un module de code:
Sur un bouton de commande placé sur la feuille:
Ou bien sur un click droit dans la cellule concernée (Cellule A1 dans cet exemple):
Ce programme analyse la chaine alphanumérique pour en extraire les chiffres. Si la chaine comporte plusieurs séries de nombres, l'analyse s'arrête au premier nombre rencontré.
Espérant avoir contribué.
Cordialement.
Une autre solution possible:
Dans un module de code:
Sub Extraction() With ActiveSheet .Range("A2").ClearContents For n = 1 To Len(.Range("A1").Value) char = Mid(.Range("A1").Value, n, 1) If IsNumeric(char) Then .Range("A2") = .Range("A2") & char End If If IsNumeric(.Range("A2")) And Not IsEmpty(.Range("A2")) And char = " " Then Exit For Next End With End Sub
Sur un bouton de commande placé sur la feuille:
Private Sub CommandButton1_Click() Extraction End Sub
Ou bien sur un click droit dans la cellule concernée (Cellule A1 dans cet exemple):
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If ActiveCell = Range("A1") Then Extraction Cancel = True End If End Sub
Ce programme analyse la chaine alphanumérique pour en extraire les chiffres. Si la chaine comporte plusieurs séries de nombres, l'analyse s'arrête au premier nombre rencontré.
Espérant avoir contribué.
Cordialement.
TOUTES les phrases sont de la meme structure que en haut :)
Par contre, les nombres, varient entre 1 et 6 chiffres :)
Par contre, les nombres, varient entre 1 et 6 chiffres :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question