Limiter la saisie des données dans excel

Utilisateur anonyme - 19 août 2020 à 16:46
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 20 août 2020 à 08:49
Bonjour,

J'ai préparé un tableau de saisie sans userform en définissant le contrôle des cellules destinées à enregistrer les données. Cependant lorsque je limite une cellule à, par exemple, du texte et 30 caractères, cela n'empêche pas de frapper plus de 30 caractères qui débordent alors sur le (les) cellule(s) de droite. Ce n'est qu'au moment où l'on fait "ENTER" que le contrôle intervient et le message d'erreur apparaît. Je souhaiterais que, dans le cas cité, la frappe soit stoppée et le message d'erreur apparaisse dès la frappe du 31ème caractère, sans déborder sur les cellules adjacentes. Je ne trouve pas la solution. Merci de m'aider si vous avez pu résoudre un problème similaire.

3 réponses

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
19 août 2020 à 18:39
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 21
Modifié le 19 août 2020 à 21:34
Bonjour,

A ma connaissance, il n'est pas possible de limiter la longueur du texte saisi dans une cellule avant l'action sur Entrée (ou Tab), même en VBA (l'évènement Change se produit après la validation de la saisie).
Ça l'est peut-être via l'API Windows ????
Une alternative est de saisir le texte dans un Textbox.

0
Utilisateur anonyme
20 août 2020 à 08:10
Bonjour Patrice33740,
J'ai peut-être une idée puisqu'il ne serait pas possible d'obtenir l'alerte avant d'actionner la touche "ENTER" ce serait de mesurer la longueur de la chaine de caractères et qu'une fois le maximum atteint ce soit la macro qui simule le click sur la touche "ENTER" de sorte que l'encodage s'arrête et le message apparaisse. Mais, voilà, débutant en VBA, j'ignore s'il est possible de rédiger une telle macro et quelles instructions y placer.

Merci pour ton aide.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 21
Modifié le 20 août 2020 à 09:00
Il n'y a aucun événement Excel pendant la saisie dans une cellule, il n'est donc pas possible de mesurer la longueur du texte saisi, sauf peut-être avec l'API Windows (mais j'en doute).

Ceci dit, avec la validation de donnée, on peut afficher un message qui indique que la saisie doit faire moins de 30 caractères et refuser une saisie non conforme donc je ne vois pas l'intérêt de limiter la saisie !

Il vaut mieux se servir d'Excel pour ce qu'il est prévu qu'il fasse (et ses possibilités sont gigantesques) plutôt que d'en faire une usine à gaz.
0
Rejoignez-nous