Microsoft 365 Supprimer un espace invisible avant un nombre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AudreyLa

XLDnaute Nouveau
Bonjour,

Je n'arrive pas à supprimer l'espace devant les numéros de Siret, cela provient d'une extraction DMS.
J'ai essayé diverse manière (substitue, remplacer par, supprimer les formats… )

Quelqu'un aurait une idée ?

Merci
 

Pièces jointes

ou en vba

VB:
Sub SupprimerEspacesInvisiblesDebut()
    Dim Cellule As Range
    Dim Texte As String
    Dim i As Integer
    
    ' Parcourt chaque cellule sélectionnée
    For Each Cellule In Selection
        If Not IsEmpty(Cellule) Then
            Texte = Cellule.Value
            ' Supprime tous les espaces au début (y compris les caractères invisibles)
            Do While Left(Texte, 1) = " " Or Asc(Left(Texte, 1)) = 160 Or Asc(Left(Texte, 1)) = 9
                Texte = Mid(Texte, 2)
            Loop
            Cellule.Value = Texte
        End If
    Next Cellule
End Sub
 
ou en vba

VB:
Sub SupprimerEspacesInvisiblesDebut()
    Dim Cellule As Range
    Dim Texte As String
    Dim i As Integer
   
    ' Parcourt chaque cellule sélectionnée
    For Each Cellule In Selection
        If Not IsEmpty(Cellule) Then
            Texte = Cellule.Value
            ' Supprime tous les espaces au début (y compris les caractères invisibles)
            Do While Left(Texte, 1) = " " Or Asc(Left(Texte, 1)) = 160 Or Asc(Left(Texte, 1)) = 9
                Texte = Mid(Texte, 2)
            Loop
            Cellule.Value = Texte
        End If
    Next Cellule
End Sub
Dès que j'ai un peu de temps j'essaye de la mettre dans ma feuille de suivi, cela me parait plus pertinent pour l'utilisation par d'autres de mon fichiers. Merci beaucoup !
 
Dès que j'ai un peu de temps j'essaye de la mettre dans ma feuille de suivi, cela me parait plus pertinent pour l'utilisation par d'autres de mon fichiers. Merci beaucoup !

Je pense être la meilleur solution de passer en vba, en modifiant un peu le code bien sûre, ça évitera des colonnes en plus et ça permettrait d'avoir directement le bon format à la modification de feuille.

Bonne continuation

Nicolas
 
Voici code modifié, si valeur entré en colonne "A" avec le fichier

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cellule As Range
    Dim Texte As String
    
    ' Vérifie si la modification est dans la colonne A
    If Not Intersect(Target, Me.Columns("A")) Is Nothing Then
        ' Parcourt chaque cellule modifiée dans la colonne A
        For Each Cellule In Target
            If Not IsEmpty(Cellule) Then
                Texte = Cellule.Value
                ' Supprime tous les espaces au début (y compris les caractères invisibles)
                Do While Left(Texte, 1) = " " Or Asc(Left(Texte, 1)) = 160 Or Asc(Left(Texte, 1)) = 9
                    Texte = Mid(Texte, 2)
                Loop
                Cellule.Value = Texte
            End If
        Next Cellule
    End If
End Sub

A tester
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
1 K
Retour