Gestion des caractères excédentaires

  • Initiateur de la discussion monsieurPatate
  • Date de début
M

monsieurPatate

Guest
Bonjour à tous les lecteurs du forum,

J’ai appris qu’on peut saisir jusqu’à 32 767 caractères (en mode édition) dans une cellule sous Excel 2000. Cependant, seul les 1 024 premiers caractères apparaîtront dans la cellule.

Alors voilà, est-il possible à l’atteinte de la limite de 1 024 caractères de saisie d’avertir l’utilisateur :
1-qu’il a atteint cette limite et que les caractères excédentaires ont été copiés à la ligne suivante (ligne insérée). Si les caractères excédentaires dépassent eux même 1 024 caractères, une seconde ligne insérée contiendra cet excédent supplémentaire.
2-que la cellule de destination a été ajustée en fonction du contenu?

Est-ce qu’il serait préférable à la sélection d’une cellule de faire afficher un userform permettant la saisie du texte et par la suite gérer les limites par vba?

À bientôt!

J’ai trouvé je ne me rappelle pas trop où le code suivant(voir annexe). Le problème c’est qu’il doit être lancé manuellement et que les cellules sources et destination sont codées en dur
 

Pièces jointes

  • Exemple.zip
    12.3 KB · Affichages: 22
  • Exemple.zip
    12.3 KB · Affichages: 18
  • Exemple.zip
    12.3 KB · Affichages: 19
M

monsieurPatate

Guest
Allo le forum,

En attendant une réponse, je me suis dit que peut être si j’essayais….
J’ai ajouté à ma feuille un évènement qui valide le nombre de caractères.
La validation est bonne.
J’ai par la suite ajouté l’appel de la macro qui exécute le split du contenu.
Tout va bien.
J’ai remplacé les adresses fixes par activecell.address; so far, so good.

Mais là je veux insérer une ligne avant de copier le contenu dans la cellule suivante mais théoriquement je ne sais pas ou je me trouve dans la feuille. Même chose pour le EntireRow.AutoFit car je ne sais pas sur quelle ligne faire le AutoFit.

Des fois j’obtiens une erreur.
Par exemple si je copie une cellule et je sélectionne plusieurs cellules pour le collage, j’obtiens erreur d’exécution 13 dans le worksheet _change

Je me rends compte de plus en plus que je vais avoir besoin d’un gestionnaire d’erreur global.

Est-ce que je suis capable que ce soit dans un worksheet, un workbook ou un module d’appeler le même gestionnaire d’erreur?

Note pour exécuter faire édition (f2) sur cellule « a1 » puis Enter

Bye.
 

Pièces jointes

  • ExempleCaract.zip
    13.4 KB · Affichages: 21
M

monsieurPatate

Guest
Yo!

Voilà, j’ai réussi à insérer une ligne et faire un autofit en fonction de la cellule où je me trouve.
Mon code est peut-être pas bien élégant mais c’est un début.

La seule chose qui me dérange c’est que j’ai du ajouter un ‘on error resume next’ au code évènementiel du worksheet.

Ciao
 

Pièces jointes

  • ExempleLongCar.zip
    13.3 KB · Affichages: 18

Discussions similaires