Ajout tiret après le début de cellule si c'est un chiffre

Bonjour j'ai une macro qui m'ajoute un tiret après un chiffre dans la colonne "A" de la feuille active mais quand il y a deux chiffres elle me met le tiret entre les deux chiffres or j'aimerais qu'elle me le mette après le secon chiffre exemple : 1 bla bla bla , là ça fonctionne bien mais quand il y a 11 bla bla là j'ai le tiret entre les deux chiffres je vous joins la macro

Sub a043AjoutTiretSecondCaractère2()
    Dim lastRow As Long
    Dim rng As Range
    Dim cell As Range

    ' Trouver la dernière ligne avec des données
    lastRow = Cells(Rows.Count, "B").End(xlUp).Row

    ' Parcourir chaque cellule de la colonne A depuis la ligne 1 jusqu'à la dernière ligne avec des données
    Set rng = Range("B1:B" & lastRow)
    For Each cell In rng
        If IsNumeric(Left(cell.Value, 1)) And Len(cell.Value) > 1 And Val(cell.Value) <= 99 Then
            ' Si le premier caractère est un chiffre de 1 à 9, mettre un tiret après le premier caractère numérique
            cell.Value = Left(cell.Value, 1) & "-" & Right(cell.Value, Len(cell.Value) - 1)
        ElseIf IsNumeric(Left(cell.Value, 2)) And Len(cell.Value) > 1 And Val(cell.Value) <= 99 Then
            ' Si les deux premiers caractères sont des chiffres de 1 à 99, mettre un tiret après le deuxième caractère numérique
            cell.Value = Left(cell.Value, 2) & "-" & Right(cell.Value, Len(cell.Value) - 2)
        End If
    Next cell

End Sub

d'avance merçi pour votre aide à tous

Bonjour,

que la partie insertion du tiret quelque soit la longueur du nombre du début :
eric

Sub test()
    Dim s As String
    s = "33abc"
    s = Left(s, Len(CStr(Val(s)))) & "-" & Mid(s, Len(CStr(Val(s))) + 1)
End Sub

merçi pour votre réponse je vais essayer tout à l'heure

et je vous tiendrai au courant

Bonjour,

ta réponse m'a permis de réfléchir et de trouver la solution

ma solution proposée et qui fonctionne: sur la dernière ligne avant le End if j'ai changé la cell.value aux deux endroits au lieu de 2 j'ai mis 3 et tout fonctionne correctement

merçi pour ton aide

Jacques

oui, enfin 5 lignes et des tests vs 1 ligne.
Si tu en as beaucoup ça joue sur le temps

oui tu as raison

je te remerçie

Bonne journée

Jacques

Rechercher des sujets similaires à "ajout tiret debut chiffre"