Microsoft 365 Problème d'espace dans la cellule excel

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 !

tchaume

XLDnaute Nouveau
Bonjour,
Je n'arrive pas à enlever l'espace devant le chiffre dans la cellule. Ce qui fait que les chiffres restent à gauche dans la cellule.
Voici un exemple de mon fichier (faites un copier coller dans excel)
Merci d'avance pour votre aide
N° CAISolutions ?
400020064428
400020064435
400020064445
 
Bonjour @tchaume, bienvenue sur XLD 🙂

Quand on colle vos données dans Excel, tout se passe bien : pas d'espace devant le chiffre. C'est donc si difficile de joindre un extrait du fichier en question ? 😉

Sinon (à l'aveugle) :
  • sélectionner la plage en question
  • menu Données / Convertir
  • largeur fixe puis suivant
  • insérer un séparateur après le premier caractère (l'espace) puis suivant
  • sélectionner la première colonne et cliquer sur l'option colonne non distribuée
  • cliquer sur Terminé
 
Dernière édition:
Bonjour,
Je n'arrive pas à enlever l'espace devant le chiffre dans la cellule. Ce qui fait que les chiffres restent à gauche dans la cellule.
Voici un exemple de mon fichier (faites un copier coller dans excel)
Merci d'avance pour votre aide
N° CAISolutions ?
400020064428
400020064435
400020064445
Bonjour Tchaume,
Tu peux essayer les manip suivantes :

1. Tu vas dans une cellule qui contient un espace, tu le copie (Ctrl C), tu sélectionnes ta colonne N°CAI et tu fais Ctrl H pour Remplacer. Dans le 1er champ tu colles ton espace et tu laisses le 2nd vide. Tu demandes donc de remplacer l'espace par rien

2. Si cela ne fonctionne pas, une 2ème idée. Dans une colonne à coté tu fais =N°CAIx1
 
Bonjour.
Je n'arrive pas à enlever l'espace devant le chiffre dans la cellule. Ce qui fait que les chiffres restent à gauche dans la cellule.
Non ce n'est pas lié. Ce qui fait qu'elle reste à gauche en l'absence d'un alignement imposé de la cellule c'est qu'il s'agit d'un texte et non d'un nombre.
Par ailleurs ce n'est pas un espace qu'il y a devant, mais un espace insécable de code 160
En B7 cette formule, parmi d'autres possibles, l'enlève :
Code:
=SUBSTITUE(A7;CAR(160);"")
Mais la valeur de la cellule n'en devient pas un nombre pour autant.
Comme ça, si, toujours en B7 :
Code:
=SUBSTITUE(A7;CAR(160);"")*1
Mais dans ce cas il faut probablement changer le format de nombre de la cellule pour qu'elle l'affiche comme cela vous conviendrait.
 
bonjour à tous
une fonction qui arrange tout le monde
cette fonction applique un trim , trimleft , trimright ,ou un regular trim en un coup sur une plage toute entière
VB:
Function ChangeAllCellpropertiesInRange(ByRef RnG As Range, prop As String)
    Dim R As Variant, Addr
    With RnG
        Addr = "'" & .Parent.Name & "'!" & .Address
        Select Case UCase(prop)
            'formule non matricielles
        Case "LOWER", "UPPER", "PROPER", "APPTRIM":
            prop = Replace(UCase(prop), "APPTRIM", "TRIM")
            R = Evaluate("IF(ISTEXT(" & Addr & ")," & UCase(prop) & "(" & Addr & "),REPT(" & Addr & ",1))")

            'formules matricielle
        Case "LTRIM": R = Evaluate("IF(ISTEXT(" & Addr & "),MID(" & Addr & ",FIND(MID(TRIM(" & Addr & "),1,2)," & Addr & ",1),LEN(" & Addr & ")),REPT(" & Addr & ",1))")

            'ancienne formule RTRIM qui fonctionne sur toute versions excel 
            'Case "RTRIM": R = Evaluate("IF(ISTEXT(" & Addr & "),LEFT(" & Addr & ",FIND(""^^"",SUBSTITUTE(" & Addr & ",RIGHT(TRIM(" & Addr & "),1),""^^"",LEN(" & Addr & ")-LEN(SUBSTITUTE(" & Addr & ",RIGHT(TRIM(" & Addr & "),1),""""))))),REPT(" & .Address & ",1))")
            'nouvelle formule
        Case "RTRIM": R = Evaluate("IF(ISTEXT(" & Addr & "),LEFT(" & Addr & ",FIND(""§"",SUBSTITUTE(" & Addr & ",RIGHT(TRIM(" & Addr & "),1),""§"",LEN(" & Addr & ")-LEN(SUBSTITUTE(" & Addr & ",RIGHT(TRIM(" & Addr & "),1),""""))),1))," & Addr & ")")

        Case "TRIM": .Value = Evaluate("IF(ISTEXT(" & Addr & "),MID(" & Addr & ",FIND(MID(TRIM(" & Addr & "),1,2)," & Addr & ",1),LEN(" & Addr & ")),REPT(" & Addr & ",1))")
            R = Evaluate("IF(ISTEXT(" & Addr & "),MID(" & Addr & ",1,FIND(TRIM(RIGHT(SUBSTITUTE(TRIM(" & Addr & "), "" "", REPT("" "", 100)), 100))," & Addr & ",1)+LEN(TRIM(RIGHT(SUBSTITUTE(TRIM(" & Addr & "), "" "", REPT("" "", 100)), 100)))-1),REPT(" & Addr & ",1))")

        End Select
    End With

    ChangeAllCellpropertiesInRange = R
End Function


la sub pour la tester
VB:
Sub test()
    Dim DL, RnG As Range
    With Sheets(1)
        DL = .Cells(Rows.Count, 3).End(xlUp).Row
        Set RnG = .Range("C2:C" & DL)
        'RnG.Parent.Activate
        RnG.Value = ChangeAllCellpropertiesInRange(RnG, "LTRIM")    '
    End With
End Sub

pour l'argument
  1. Ltrim pour faire un trimleft
  2. Rtrim pour faire un trimrigth
  3. APPTRIM pour faire un un regular trim
  4. lower pour mettre tout en minuscule
  5. upper pour mettre tout en majuscule
  6. PROPER pour mettre en nom propre
 
- 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
2
Affichages
823
Retour