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

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

  • TexteCellule.xls
    16 KB · Affichages: 195

mromain

XLDnaute Barbatruc
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:

mromain

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

Re,

Bizarre :confused:

Je te renvoi le fichier avec la macro intégrée. Tout semble bien fonctionner sur mon poste (Windows XP - Excel 2010).

a+
 

Pièces jointes

  • Classeur1.xls
    25 KB · Affichages: 239
  • Classeur1.xls
    25 KB · Affichages: 241
  • Classeur1.xls
    25 KB · Affichages: 254

CBernardT

XLDnaute Barbatruc
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

  • RenvoiTexteCelluleInfV1.xls
    33.5 KB · Affichages: 202

Staple1600

XLDnaute Barbatruc
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:

Discussions similaires

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla