VBA Erreur de syntaxe pour supprimer zéro de droite

Bonjour,

SVP, Je veux avec ce code que j'ai testé avec Excel et ca fonctionne mais ca ne fonctionne pas avec VBA même s'il est correct, je crois que c'est question de syntaxe.

Toute la ligne de Replace est colorée en rouge : Replace(Cells(k, 4), Len(Cells(k, 4)), 1, "")

Le bute c'est de supprimer le 0 de droite dans un nombre si la longueur est de 10 caractères.

Exemple : 1234567890 -----> Avoir : 123456789

' Supprimer Zero de droite si 10 caractères

Sub Supprimer_Zero_de_droite()

    Dim MacroDebut As Date

    Application.ScreenUpdating = False

    LastRow = ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row 'dernière ligne non vide en A

' Supprimer zero de droite si 10 caractères

    For k = 2 To LastRow

        If Not IsEmpty(Cells(k, 4)) Then

            If Len(Cells(k, 4)) = 10 And Right(Cells(k, 4), 1) = "0" Then

            Replace(Cells(k, 4), Len(Cells(k, 4)), 1, "") 'signalé en rouge dans le code VBA et me donne Erreur de compilation: Attendu : =

            End If

        End If

    Next

    Application.ScreenUpdating = True

    MsgBox "Le temps d'exécution est de : " & Format(Now - MacroDebut, "hh:mm:ss")

End Sub

Bonjour,

Je ne suis pas sûr que la méthode Replace soit la plus adaptée. En effet si la valeur cherchée est 0 et que vous la remplacez, alors vous la remplacez dans toute votre chaîne de caractère selon votre code. Donc si des 0 se trouvent en plein milieu ces derniers seront effacés. Pour l'histoire du = et de la ligne en rouge il suffirait de :

Cells(k, 4) = Replace(Cells(k, 4), Right(Cells(k, 4), 1), "")

Car vous n'indiquez pas où vous souhaitez inscrire votre résultat dans votre code.

Une méthode plus simple serait de simplement prendre les 9 caractères de droite soit :

Cells(k, 4) = Right(Cells(k, 4), 9)

Cdlt,

Bonjour Ergotamine,

C'est bonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

Merci pour votre réponse rapide et efficace.

Rechercher des sujets similaires à "vba erreur syntaxe supprimer zero droite"