Macro pour limiter le nombre de caractères dans des cellules

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais, à nouveau, votre aide afin d'écrire une macro pour limiter le nombre de caractères dans une zone de cellules...

voir fichier

Je vous remercie, par avance, pour le temps que vous voudrez bien m'accorder.

Bien amicalement,
Christian
 

Pièces jointes

Re : Macro pour limiter le nombre de caractères dans des cellules

Bonjour christian0258,

Voici un essai :
la macro se déclenche après avoir édité la cellule (au changement de valeur de la cellule). Si le texte qui vient d'être saisi est supérieur à 70 caractères, il ajoute le reste du texte au début de la cellule d'en dessous (sans couper les mots).

Il faut copier le code sur la feuille (clic droit sur l'onglet, puis Visualiser le code).
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Application.Intersect(Range("D13:D48"), Target) Is Nothing Then Exit Sub
Dim maxLen As Integer, tabStr, i As Integer, tempStr
maxLen = 70

tabStr = Split(Target.Value, " ")
tempStr = ""
For i = LBound(tabStr) To UBound(tabStr)
    If Len(tempStr & " " & tabStr(i)) < maxLen Then
        If tabStr(i) <> "" Then tempStr = tempStr & " " & tabStr(i)
    Else
        If tempStr = "" Then tempStr = tabStr(i)
        tempStr = Right(tempStr, Len(tempStr) - 1)
        Target.Offset(1, 0).Value = Mid(Target.Value, Len(tempStr) + 2, Len(Target.Value) - Len(tempStr)) & " " & Target.Offset(1, 0).Value
        Target.Value = tempStr
        i = UBound(tabStr) + 1
    End If
Next i
End Sub
a+
 
Dernière édition:
Re : Macro pour limiter le nombre de caractères dans des cellules

Bonjour Christian0258, mromain,

Une autre approche qui renvoie le texte dépassant de la cellule active vers les lignes inférieures quelle que soit la largeur de la colonne de la cellule active sélectionnée.

Un bouton est placé sur la feuille vu que tu ne souhaites pas renvoyer à la ligne automatiquement.

A tester 🙂
 

Pièces jointes

Re : Macro pour limiter le nombre de caractères dans des cellules

Bonjour à tous


Pourquoi une macro ?

Pourquoi pas ne pas utiliser Données/Validation ?
xcvb.gif
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
240
Retour