Accueil > Forum > > > > extraire Nombre dans texte
extraire Nombre dans texte
jeudi 27 décembre 2007 à 12:22:25 |
extraire Nombre dans texte

autodidacte33
|
Salut;
Voila un petit problème pour les initiers bien sur.
En VBA sous excel
Ma question est:
Ce qui m'intéresse c’est le nombre dans la cellule (x).
Comment comparer si c'est sont égaux une cellule qui peut contenir par exemple « ETUDE 16» ou «T.PUB 02 »... Avec une variable numérique qui peut contenir que des nombres (01, 02….16....ou 100)?
Ou carrément Comment extraire un nombre qui se trouve dans une chaîne de caractère afin de pouvoir le sommé avec une variable SINGLE ?
Merci d'avance.
|
|
jeudi 27 décembre 2007 à 13:04:22 |
Re : extraire Nombre dans texte

darunia
|
Salut,
La 1ere chose a savoir est la position du nombre dans la chaine pour pouvoir l'extraire. On dirait que dans tes exemple le nombre est toujours apres 1 espace. Donc extrait le nombre qui est apres l'espace :
Dim ValeurCellule as String Dim strNombre as String Dim SpaceIndex as Integer Dim intNombre as Integer
Dim sngNombre as Single
ValeurCellule = "TEST 10" SpaceIndex =
Instr(1, ValeurCellule, " ")
strNombre = Mid(ValeurCellule, SpaceIndex+ 1, Len(valeurCellule) - SpaceIndex)
Ensuite convertir la chaine qui contient le nombre en integer (ou single) :
intNombre = CInt(strNombre)
sngNombre = CSng(strNombre)
D@runia
|
|
jeudi 27 décembre 2007 à 13:45:16 |
Re : extraire Nombre dans texte

zigo34
|
salut,
en complément à la réponse de darunia, je te donne la manière que j'utiliserai :
Public Sub X() Dim ValeurCellule As String Dim strNombre As String Dim SpaceIndex As Integer Dim caractere As String Dim intNombre As Integer Dim sngNombre As Single
strNombre = "" For SpaceIndex = 1 To Len(ValeurCellule) caractere = Mid$(ValeurCellule, SpaceIndex, 1) If caractere >= "0" And caractere <= "9" Then strNombre = strNombre + caractere End If Next
intNombre = CInt(strNombre) sngNombre = CSng(strNombre)
End Sub
en espérant que cela t'aide...
Zigo 
|
|
jeudi 27 décembre 2007 à 14:21:28 |
Re : extraire Nombre dans texte

jmfmarques
|
et moi, je l'écrirais ainsi :
Private Sub Command1_Click() toto = "T.PUB 02" titi = toto For i = 1 To Len(titi) quoi = Mid(titi, i) If IsNumeric(Mid(quoi, 1)) Then nb = Mid(quoi, 1, 1) & Val(Mid(quoi, 2)) Exit For End If titi = quoi Next MsgBox nb End Sub
|
|
jeudi 27 décembre 2007 à 14:23:50 |
Re : extraire Nombre dans texte

econs
|
ou si tu ne sais pas a priori si le nombre se trouve au début, à la fin, après un espace, avant un tiret, ... Cette fonction-ci te trouve le premier nombre positif dans ta chaine de caractères.
Function extraireInt(chaine As String) As Integer Dim sTemp As String Dim resultat As String Dim firstIndex As Integer, lastIndex As Integer
For i = 1 To Len(chaine) sTemp = Mid$(chaine, i, 1) If IsNumeric(sTemp) Then firstIndex = i lastIndex = i - 1 While IsNumeric(Mid$(chaine, i, 1)) And i <= Len(chaine) lastIndex = lastIndex + 1 i = i + 1 Wend Exit For End If Next i If firstIndex > 0 Then resultat = Mid$(chaine, firstIndex, lastIndex - firstIndex + 1) Else resultat = -1 End If extraireInt = CInt(resultat) End Function
Sub test() MsgBox extraireInt("azea8ze445.") End Sub
Manu -------------------------------------------------------------------------------------------- Avant de poster un message, n'oubliez pas de consulter le reglement.
|
|
mardi 1 janvier 2008 à 18:16:37 |
Re : extraire Nombre dans texte

autodidacte33
|
Merci beaucoup, vous êtes des anges, je vous souhaite sincèrement plein de bonheur en ce nouvel An 2008.
J'ai essayé tous les programmes proposés, ça marche à la perfection.
Pour le moment le Prg de Doruna me convient bien, efficace et surtout rapide à l'exécution (à mon avis).
*NB : aux autres utilisateurs, les chiffres après l'espace ne dépassent pas plus que (05 caractères)?
-Erreuer d'exécution '6'
-Dépassement de capacité.
Ça me convient, j'en ai besoin que de trois (03 caractères) ? Novice comme je suis, je ne peux donner d'explication.
Celui de Zigo, pertinent et affiche même les chiffres au milieu d'un texte (je travaille déjà avec), parce que là où je travail c'est le bazzard. Il ne me reste que de séparer les chiffres par un espace (ex : marche N°14 situation N°01/07) en (14 01 07).
Celui de Jmfmarques, j'ai converti « nb » en numérique (que j'ai appris içi) si non, nombre erroné si chaîne et un peu plus longue? , c'est beau à le voir en plein exécution « pas à pas » comme celui de Zigo34 il boucle sur le texte, ce qui le rend un peu moins rapide Vu que mon Prg grandi à petit pas, mais c'est exacte.
Enfin Econ, c'est super c'est exactement ce que je cherchai dans d'autre sous programme. J
Merci à tous.
A+
|
|
Cette discussion est classée dans : nombre, texte, cellule, extraire, contenir
Répondre à ce message
Sujets en rapport avec ce message
conversion format cellule texte en nombre [ par bobb221 ]
bonjour,je suis en train de programmer sur excel et vba et je suis coincé sur un petit problem,j'ai inseré des chifres dans une cellule a partir d'un
Extraire lettres d'un mot ? [ par cyrilys ]
Bonjour J'ai un gros pdobleme, je chercherais a extraire Par exemple: "POMME" dans une cellule ou variable. Je voudrais le decomposer en faisant une
Extraire du texte entre balise d'un .txt et generer html avec ce texte [ par Akita95 ]
Bonjour à tous,J'ai une petite application à faire et je ne trouve aucune source ou message sur le forum capable de m'aider dans mon développement.Je
Convertir une cellule Excel en HTML en texte [ par labastille ]
Bonjour,Je récupére des fichiers csv où dans mes cellules j'ai du code HTML ( exemple = Les opérations sur CER et sur EUA devront être compt
Utiliser Texte RTF [ par pattaressort ]
Bonjour,Quelqu'un pourrait t'il me dire comment extraire le contenu d'un texte RTF ? Concrètement, j'ai une base Access avec un lien ODBC sur une tab
extraire du texte [ par fabulofr ]
Bonjour a tous.J ai une petite question:j extrais le code html d une page sur internet avec un controle inet, qui le mets dans un textbox.je vous donn
[VBA] Modifier nombre dans une cellule [ par troops ]
Bonjour, Voici mon probleme je copie des données de Navison dans Excel. ex: un chiffre dans navision "0704035" quand je le copie dans excel, ça don
obtenir le nombre de ligne d'un fichier texte en .net [ par SAXOBIC ]
bonjour,est-ce que qqn connait l'instruction ou un bout de code pour obtenir le nombre de ligne d'un fichier texte?A+merci d'avance pour vos réponse
Excel : remplissage automatique d'une cellule lors de la modification d'une auter cellule [ par Toxik13 ]
Je me suis inventé un cas concret pour vous expliquer mon probleme; imaginons une tombolat.Dans la colone A il y aurait les prénom,dans la colone B le
Programmation sur Excel? [ par melonmaudic ]
Bonjour,Je dois pour mon boulot transformer plus de 10 ans de relevés de compte dans excel.Mon problème après scannage de ceux ci, c'est que lorsqu'il
Livres en rapport
|
Derniers Blogs
PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en ½uvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio
Forum
FONCTION EXCEL VBAFONCTION EXCEL VBA par samanta26
Cliquez pour lire la suite par samanta26
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|