Effacer texte cellule jusqu'au premier chiffre

Bonsoir a tous

j'aimerais via vba supprimer de mon fichier qui contient 6000 lignes en colonne c tous le texte des cellules avant le premier nombre

par avance merci

17exemple.xlsx (8.43 Ko)

Bonjour,

En attendant, j'ai trouvé cela @ tester voir si c'est correct

à valider par Shift+CTRL+Entrée

=STXT(D2;EQUIV(0;(ESTERREUR(STXT(D2;LIGNE(INDIRECT("1:"&NBCAR(D2)));1)*1)*1);0);8^8)

EDIT : reste à trouver comment faire en VBA cette formule ...............

crdlt,

André

11exemple11.xlsm (22.24 Ko)

Bonjour,

tu peux le faire par formule :

=STXT(D2;MIN(SI((STXT(D2;LIGNE(1:300);1)>="0")*(STXT(D2;LIGNE(1:300);1)<="9");LIGNE(1:300);999));300)

puis copier-collage spécial valeur

eric

Bonjour,

Un exemple à adapter.

ALT F8, exécuter la procédure.

Cdlt.

22pilou21.xlsm (20.19 Ko)
Public Sub ClearString()
Dim tbl As Variant, Arr() As Variant
Dim x As String
Dim n As Long, i As Long, p As Long
    With ActiveSheet
        n = .Cells(.Rows.Count, 3).End(xlUp).Row
        tbl = .Cells(3).Offset(1).Resize(n - 1)
        ReDim Arr(1 To UBound(tbl))
        For i = 1 To UBound(tbl)
            x = Trim(tbl(i, 1))
            For p = 1 To Len(x)
                If Mid(x, p, 1) Like "#" Then Exit For
            Next p
            Arr(i) = Mid(x, p, Len(x))
        Next i
        .Cells(2, 4).Resize(n).Value = Arr
    End With
End Sub

Bonjour toutes et tous et bonne semaine

Merci à vous Eriiic et Jean-Eric

@Eriic merci ^^

@Jean-Eric, super rapide et nickel il faudra que je comprenne bien ce code en tout cas ^^^et merci

j'ai rajouté -1 sur la ligne car cela m'ajouté une ligne supplémentaire

        .Cells(2, 4).Resize(n - 1).Value = Arr

crdlt,

André

ben voila,

un enorme grand merci a vous touss pour votre aide

la fonction fonctionne mais elle me copie a chaque fois le resultat de la ligne 1 en dessous.

comment corriger sa???

Bonjour Pilou

-1 pour la ligne qui s’incrémente toute seule lol

EDIT: je viens de voir qu'il recopie la même chose

crdlt,

André

11pilou21-01.xlsm (22.37 Ko)

Bonjour Andre13

oui sui d 'accord mais la formule recopie a chaque fois le resultat de la premiere ligne .

Re,

oui je viens de voir cela

arf...

desole de t'embeter

Bonjour,

La prochaine fois, envoie un fichier représentatif de tes données.

Cdlt.

Option Explicit

Public Sub ClearString()
Dim tbl As Variant, Arr() As Variant
Dim x As String
Dim n As Long, i As Long, p As Long
    With ActiveSheet
        n = .Cells(.Rows.Count, 3).End(xlUp).Row
        tbl = .Cells(3).Offset(1).Resize(n - 1)
        ReDim Arr(1 To UBound(tbl))
        For i = 1 To UBound(tbl)
            x = Trim(tbl(i, 1))
            For p = 1 To Len(x)
                If Mid(x, p, 1) Like "#" Then Exit For
            Next p
            Arr(i) = Mid(x, p, Len(x))
        Next i
        .Cells(2, 4).Resize(n).Value = Application.Transpose(Arr)
    End With
End Sub

UN GRAND MERCI Jean eric

Rechercher des sujets similaires à "effacer texte premier chiffre"