Forum Discussion

Surfnature's avatar
Surfnature
Copper Contributor
Jan 29, 2021
Solved

Extraire les données d’une cellules

Bonjour

 je souhaites pouvoir extraire des chiffres et des lettres qui sont regroupées dans une cellule tout en évitant une partie

 ex:

  en A1:   1r 21d (20) 15e dd

il faudrait que je puisse avoir dans les colonnes suivantes :

en B1: 1 En C1: r  en D1: 21  en E1: d  en F1: 15  en G1: e  en H1: d  en I1: d

voila il ne faut pas garder les chiffres entre parenthèses

 j’ai essayé plusieurs trucs mais bon je n ne suis pas assez doué 🥴

 

 merci de votre aide

 Pascal

5 Replies

  • Surfnature 

    Ici une macro.

    Sélectionnez les cellules avec les textes avant d'exécuter la macro.

     

    Sub SplitData()
        Dim r As Range
        Dim v As String
        Dim a() As String
        Dim i As Long
        Dim s As String
        Dim c As Long
        Dim n As Long
        Dim f As Boolean
        Dim j As Long
        Application.ScreenUpdating = False
        For Each r In Selection
            c = 0
            v = r.Value
            a = Split(v)
            For i = 0 To UBound(a)
                s = a(i)
                If Not s Like "(*)" Then
                    n = 0
                    f = False
                    Do While IsNumeric(Left(s, 1))
                        n = 10 * n + Left(s, 1)
                        s = Mid(s, 2)
                        f = True
                    Loop
                    If f Then
                        c = c + 1
                        r.Offset(0, c).Value = n
                    End If
                    For j = 1 To Len(s)
                        c = c + 1
                        r.Offset(0, c).Value = Mid(s, j, 1)
                    Next j
                End If
            Next i
        Next r
        Application.ScreenUpdating = True
    End Sub

     

    • Surfnature's avatar
      Surfnature
      Copper Contributor

      HansVogelaar 

      Un grand merci, je commence seulement à étudier les macros. Je vais regarder également cette solution.

      Encore merci de votre aide

      Pascal

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    Surfnature 

    Cet article décrit la syntaxe de formule et l’utilisation des fonctions STXT et STXTB dans Microsoft Excel.

    STXT, STXTB, fonctions

    https://support.microsoft.com/fr-fr/office/stxt-stxtb-fonctions-d5f9e25c-d7d6-472e-b568-4ecb12433028?ui=fr-FR&rs=fr-FR&ad=FR

     

    GAUCHE renvoie le(s) premier(s) caractère(s) d’une chaîne de texte selon le nombre de caractères que vous spécifiez.

    GAUCHEB renvoie le(s) premier(s) caractère(s) d’une chaîne de texte selon le nombre d’octets que vous spécifiez.

    GAUCHE, GAUCHEB, fonctions

    https://support.microsoft.com/fr-fr/office/gauche-gaucheb-fonctions-9203d2d2-7960-479b-84c6-1ea52b99640c?ui=fr-FR&rs=fr-FR&ad=FR

     

    Veuillez également consulter le fichier Excel inclus avec les exemples

     

    Traduit de Google:

    Je serais heureux de savoir si je pouvais aider.

     

    Nikolino

    Je sais que je ne sais rien (Socrate)

     

    * Veuillez marquer et voter pour cette réponse si cela vous aide, car elle sera bénéfique pour plus de membres de la communauté qui liront ici.

     

    • Surfnature's avatar
      Surfnature
      Copper Contributor

      NikolinoDE 

      Merci beaucoup, je vais étudier tout cela, vous me faites gagner un temps précieux

      Encore merci 

      Pascal

      • NikolinoDE's avatar
        NikolinoDE
        Gold Contributor
        J'étais heureux de pouvoir vous aider.

        Je vous en prie.

        Je vous souhaite une agréable journée / nuit.

Resources