Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Supprimer des espaces insécables dans plusieurs colonnes

moanin

XLDnaute Impliqué
Bonsoir à tous



Comment supprimer des espaces insécables de mots qui sont dans plusieurs colonnes ?

Ex :

=SUPPRESPACE(G2;I2)

J'ai une erreur : "trop d'arguments".

Merci.
 

R@chid

XLDnaute Barbatruc
Bonjour @ tous,
Le questionneur a demandé d'ajouter la fonction à des formules que je lui ai tissées dans une autre discussion.
=TRIER(UNIQUE(SUPPRESPACE(DANSCOL(CHOISIRCOLS(E2:Y275;SEQUENCE(10)*2+1);1;1))))
=LET(Plg;E2:Y275;Reals;DANSCOL(CHOISIRCOLS(Plg;SEQUENCE(10)*2+1);;1);Films;DANSCOL(CHOISIRCOLS(Plg;SEQUENCE(10)*2);;1);ChefOp;DANSCOL(SI(E1:N1=E1:N1;E2:E275;"");;1);FILTRE(ASSEMB.H(Films;ChefOp);(SUPPRESPACE(Reals)=$AE$1)))
 

TooFatBoy

XLDnaute Barbatruc
Oui, je sais que c'est toujours l'ICC qui merdoie...

Avant c'était moi qui pestais après les ICC qui me dérangeaient pour des pannes imaginaires.
Maintenant c'est moi qui merdoie aussi...
 

patricktoulon

XLDnaute Barbatruc
re
allez juste pour faire le kake
une petite fonction perso
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
            '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

 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
sinon j'ai sa petite soeur aussi qui fonctionne en matriciel
Code:
Function TrimLeftAllCellsInRange(ByRef RnG As Range)
'supprime les espace devant le premier caracteres equivalent de "Ltrim" in one shoot
    With RnG
    TrimLeftAllCellsInRange = Evaluate("IF(ISTEXT(" & .Address & "),MID(" & .Address & ",FIND(MID(TRIM(" & .Address & "),1,2)," & .Address & ",1),LEN(" & .Address & ")),REPT(" & .Address & ",1))")
End With
End Function


puré c'est vieux ces fonctions ca rajeuni pas
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…