Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : extraire Nombre dans texte [ Divers / General ] (autodidacte33)

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

Membre Club
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

Administrateur CodeS-SourceS
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é 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&#233;rations sur CER et sur EUA devront &#234;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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,232 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.