Limiter caractères dans cellule
Fermé
bea
-
5 déc. 2014 à 15:33
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 6 déc. 2014 à 16:52
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 6 déc. 2014 à 16:52
A voir également:
- Limiter caractères dans cellule
- Caractères ascii - Guide
- Caractères spéciaux symboles clavier - Guide
- Aller à la ligne dans une cellule excel - Guide
- Caractères spéciaux - Guide
- Verrouiller cellule excel - Guide
4 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié par michel_m le 5/12/2014 à 16:15
Modifié par michel_m le 5/12/2014 à 16:15
Bonjour
avec une tite macro
Michel
avec une tite macro
Option Explicit
'----
Sub limiterà50()
Dim Derlig As Integer, T_gh, Idx As Integer
Derlig = Columns("G").Find("*", , , , , xlPrevious).Row
'mémorise en mémoire RAM les colonnes G & H par une variable-tableau
T_gh = Range("G1:H" & Derlig)
'effectue le test "50" sur chaque index de T_gh
For Idx = 1 To UBound(T_gh)
If Len(T_gh(Idx, 1)) > 50 Then
T_gh(Idx, 2) = Right(T_gh(Idx, 1), Len(T_gh(Idx, 1)) - 50)
T_gh(Idx, 1) = Left(T_gh(Idx, 1), 50)
End If
Next
'restitue T_gh sur la feuille
Range("G1").Resize(UBound(T_gh), 2) = T_gh
End Sub
Michel
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
5 déc. 2014 à 16:13
5 déc. 2014 à 16:13
Bonjour,
Si les adresses sont saisies, tu peux copier les 50 premiers caractères dans une colonne avec la formule =GAUCHE(G2;50) puis les 50 autres dans une autre colonne avec la formule =DROITE(G2;NBCAR(G2)-50).
Ensuite, il te reste à faire un copier / collage spcial > Valeurs de ces 2 colonnes pour obtenir le résultat souhaité.
A+
Si les adresses sont saisies, tu peux copier les 50 premiers caractères dans une colonne avec la formule =GAUCHE(G2;50) puis les 50 autres dans une autre colonne avec la formule =DROITE(G2;NBCAR(G2)-50).
Ensuite, il te reste à faire un copier / collage spcial > Valeurs de ces 2 colonnes pour obtenir le résultat souhaité.
A+
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
5 déc. 2014 à 16:38
5 déc. 2014 à 16:38
Bonjour Gyrus; slaut Eric
Tu as peut-^tre un problème dans
=DROITE(G2;NBCAR(G2)-50).
si G2 <50 caractères... :o)
=Si(nbcar(G2)>50;=DROITE(G2;NBCAR(G2)-50).;"")
Tu as peut-^tre un problème dans
=DROITE(G2;NBCAR(G2)-50).
si G2 <50 caractères... :o)
=Si(nbcar(G2)>50;=DROITE(G2;NBCAR(G2)-50).;"")
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
5 déc. 2014 à 17:52
5 déc. 2014 à 17:52
Bonjour michel_m,
Tu as tout à fait raison, il faut prendre en compte le cas où G2<50 caractères :
=SI(NBCAR(G2)>50;GAUCHE(G2;50);G2) pour la première formule et
=SI(NBCAR(G2)>50;DROITE(G2;NBCAR(G2)-50);"") pour la seconde.
A+
Tu as tout à fait raison, il faut prendre en compte le cas où G2<50 caractères :
=SI(NBCAR(G2)>50;GAUCHE(G2;50);G2) pour la première formule et
=SI(NBCAR(G2)>50;DROITE(G2;NBCAR(G2)-50);"") pour la seconde.
A+
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
Modifié par eriiic le 5/12/2014 à 16:39
Modifié par eriiic le 5/12/2014 à 16:39
Hé bé y'a du monde, bonjour à tous,
Par formule, coupe au 1er espace précédent le 50ème caractère.
Partie 1 :
Partie 2 :
formules matricielles à valider avec shift+ctrl+entrée
La formule doit s'entourer de { } si la validation est correcte.
Terminer par un copier-collage spécial valeur sur ces 2 colonnes.
Mais pour 15000 lignes la macro est peut-être préférable, surtout si ça doit être fait régulièrement.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Par formule, coupe au 1er espace précédent le 50ème caractère.
Partie 1 :
=GAUCHE(G2;SI(NBCAR(G2)<51;50;MAX((STXT(G2;LIGNE(1:50);1)=" ")*LIGNE(1:50))-1))
Partie 2 :
=STXT(G2;SI(NBCAR(G2)<51;50;MAX((STXT(G2;LIGNE(1:50);1)=" ")*LIGNE(1:50)));200)
formules matricielles à valider avec shift+ctrl+entrée
La formule doit s'entourer de { } si la validation est correcte.
Terminer par un copier-collage spécial valeur sur ces 2 colonnes.
Mais pour 15000 lignes la macro est peut-être préférable, surtout si ça doit être fait régulièrement.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
6 déc. 2014 à 12:00
6 déc. 2014 à 12:00
Bonjour tousqui
un outil Excel devrait pouvoir servir
sélectionner colonne G
dans la fenêtre cocher "largeur fixe" et double cliquez sur le bouton de cochage
dans le cadre inférieur qui s'affiche, pointer 50
et exècuter ("terminer")
(cette opération compte les blancs comme un caractère)
crdlmnt
un outil Excel devrait pouvoir servir
sélectionner colonne G
dans la fenêtre cocher "largeur fixe" et double cliquez sur le bouton de cochage
dans le cadre inférieur qui s'affiche, pointer 50
et exècuter ("terminer")
(cette opération compte les blancs comme un caractère)
crdlmnt
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
6 déc. 2014 à 14:52
6 déc. 2014 à 14:52
Salut vaucluse,
il ne manque pas des mots dans ton explication ? Quelle fenêtre ?
eric
il ne manque pas des mots dans ton explication ? Quelle fenêtre ?
eric
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 396
6 déc. 2014 à 16:52
6 déc. 2014 à 16:52
vi, c'est samedi....:-)
je complète:
Ruban / données / Convertir et la fenêtre c'est juste après
Merci pour le rappel
crdlmnt
je complète:
Ruban / données / Convertir et la fenêtre c'est juste après
Merci pour le rappel
crdlmnt