IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Extraction des nombres d'une chaîne [XL-365]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2020
    Messages : 5
    Par défaut Extraction des nombres d'une chaîne
    Bonjour,
    Je me permets de vous écrire car j'ai besoin d'aide en VBA. Je suis débutant et j'essaie actuellement d'extraire les nombres d'une chaine et cela sur toute la feuilles Excel. (Cf attachment rectangles bleu)
    Le problème est que dès la 2ième ligne jusqu'à la dernière le résultat récupère le résultat de la ligne précedente et cumule... (cf attachment les encadrés en rouges) (cf attachment nouveau résultat en rectangle vert)
    Je n'arrive pas à trouver dans mon code (ci-dessous) où se trouve cet erreur de cumulation.
    Pouvez-vous m'aiguiller vers la bonne solution svp?
    En vous remerciant par avance
    L.TVM

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub extraireValeursNumeriques_DansChaine()
    Dim i As Integer, Nb As Integer
    Dim Cible As String, Resultat As String
    Dim Nombre As Double
    Const StartRow As Byte = 1
    Dim LastRow As Long
    Dim r As Long 'For looping through rows
     
     
    LastRow = Range("B" & Rows.Count).End(xlUp).Row
     
    For r = StartRow To LastRow
     
     
    Cible = Range("B" & r).Value
     
    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 i
     
    'MsgBox "Il y a " & Nb & " valeurs numériques dans la cellule " & vbLf & Resultat
     
    Range("C" & r).Value = Resultat
     
    Next r
     
     
    End Sub
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Extraire des nombres dans une chaîne de caractères
    Par frantz06 dans le forum Excel
    Réponses: 9
    Dernier message: 20/12/2019, 16h03
  2. Extraire nombres d'une chaîne de caractères séparés par des "/"
    Par olive1007 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2014, 16h53
  3. Incrémenter des nombres dans une chaîne
    Par shaun_the_sheep dans le forum SQL
    Réponses: 19
    Dernier message: 25/04/2012, 10h46
  4. Réponses: 21
    Dernier message: 19/09/2011, 13h57
  5. ACCESS 2007 - Extraction de nombre d'une chaîne de caractère
    Par simply_trunks dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/05/2009, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo