Parcourir une colonne, limiter à 35 caractères et tronquer le cas échéant

Bonjour à tous,

Je suis nouveau sur ce forum et je suis utilisateur de base sur Excel.

Je cherche désespérément à mettre en forme les données contenues dans la colonne d'un tableau.

Il faudrait que je puisse limiter le nombre de caractères (dans ma colonne M) à 35 et tronquer le cas échéant, c'est à dire si l'on dépasse ce nombre, supprimer tout ce qu'il y a derrière.

Au mieux il faudrait mettre dans une seconde colonne (N) tout ce qui est en trop dans la colonne M.

J'ai cherché, cherché longtemps sur le net...j'ai trouvé des codes, des fonctions mais rien n'y fait, je n'arrive pas au résultat attendu.

Si vous avez des idées lumineuses, merci de m'éclairer s'il vous plaît.

Bonne journée et merci d'avance à ceux qui prendront la peine de me répondre.

Bonjour,

En formules :

=STXT(M2;1;35)

pour les 35 premiers.

=STXT(M2;36;255)

pour les suivants.

Cordialement.

Merci beaucoup,

Mais comme je le disais, je suis novice dans l'utilisation d'excel. Vous avez l'habitude, ça se voit dans la précision et concision de votre réponse mais je me demande où dois-je mettre cette formule ? au niveau de la colonne elle-même ou dans chacune des cellules ?

Si je clique dans une cellule et que j'y mets cette fonction alors il m'efface le texte...

Je ne comprends pas où je dois copier cela : =STXT(M2;1;35)

Tes indications laissent supposer que tes chaînes à scinder se trouvent en M, on suppose que cela commence ligne 2. Donc dans la colonne voisine, en N2 tu places la 1re formule, et en O2 tu places la seconde.

Tu sélectionnes ensuite tes deux cellules, N2:O2. Tu te places dans l'angle inférieur droit de ta sélection, et lorsque l'image du curseur se transforme en croix, tu appuies sur le bouton gauche de ta souris, et tu tires vers le bas jusqu'à la fin de ton tableau, ce qui aura pour effet de recopier les formules chacune dans sa colonne.

Cordialement.

Alors là !!!

Trop fort...

Merci beaucoup pour tout, rapidité, clarté, précision...

C'est exactement kecekejevoulé !

Bonne journée !

Désolé MFERRAND

J'ai crié victoire un peu tôt je crois.

Ma dernière question : comment puis-je ne garder que les valeurs de la colonne N et O tout en effaçant la colonne M (à laquelle les formules font référence) ?

Je dois convertir ce fichier excel en txt avec séparateur ; pour import de données dans une appli métier, je ne peux pas garder la colonne M, sinon ça va me mettre le bazar...

Merci encore grandement d'avance.

A ce stade, tu sélectionnes tes colonnes N et O, tu copies et tu colles par dessus en valeur, ce qui écrasera les formules. Tu peux ensuite supprimer la colonne M, tes deux colonnes N et O deviendront M et N...

Ou bien tu opères en VBA :

Sub ScinderColM()
    Dim NewMN, tx1$, tx2$, n%, i%
    With ActiveSheet
        n = .Range("M" & .Rows.Count).End(xlUp).Row
        NewMN = .Range("M1:N" & n).Value
        For i = 2 To n
            tx1 = Mid(NewMN, 1, 35): tx2 = Mid(NewMN, 36, 255)
            NewMN(i, 1) = tx1: NewMN(i, 2) = tx2
        Next i
        .Range("M1:N" & n).Value = NewMN
    End With
End Sub

en plaçant cette macro dans un module Standard.

N'ayant pas fourni de fichier, tu adaptes les références si nécessaires.

Tu la lances : en l'état cette macro va remplacer ta colonne M à partir de la ligne 2 par le texte limité à 35 car. et en N le reste du texte.

Cordialement.

Merci encore MFERRAND !

Du coup j'ai procédé par copier/coller mais j'avoue avoir eu du mal à comprendre tu "copies/colles en valeur" et afin de ne pas te déranger outre mesure, j'ai fini par comprendre qu'il s'agissait d'un collage spécial donc ce tutoriel de Microsoft nous parle très bien (pour une fois) :

Je le mets pour ceux qui liront ce post et qui ne comprendraient pas comment faire le "collage en valeur sans les formules"

https://support.office.com/fr-fr/article/Coller-les-valeurs-sans-les-formules-12687b4d-c79f-4137-b0cc-947c229c55b9

Cette fois ci le sujet est clos !

Longue vie à vous Monsieur FERRAND !

Rechercher des sujets similaires à "parcourir colonne limiter caracteres tronquer cas echeant"