Verifier si une cellule contient plusieures lignes

  • Initiateur de la discussion Initiateur de la discussion badbad
  • Date de début Date de début

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 !

Re : Verifier si une cellule contient plusieures lignes

Bonjour à tous,

Peux-tu essayer :
Code:
Sub Test()
Dim X As Long
Dim Cel As Range
X = 0
For Each Cel In Selection
    If Cel.WrapText = True Then X = X + 1
    [J1] = X
Next Cel
End Sub

A + à tous
 
Re : Verifier si une cellule contient plusieures lignes

Bonjour, badbad.

En attendant une solution par macro , une solution par formule qui te donne le nb de retours à la ligne;

Edit : Bonjour, Jean-Claude. Je n'avais pas vu ton code🙂
 

Pièces jointes

Dernière édition:
Re : Verifier si une cellule contient plusieures lignes

Bonjour,
Merci beaucoup a vous deux.
Pour la methode ".wrapText" cela m'informe si la cellule est configuree de cette facon mais pas si le text dedans est sur plusieures lignes. Dans le cas ou toute la colone est configuree de cette facon je ne sais pas differencier les cellules rellement sur plusieures lignes.

Un example tres simple en piece jointe, la macro tres simple met 1 dans la deuxieme colone si la cellule n'est pas en Wraptext et met 2 si c est le cas. Le resultat donne 2 pour toutes les valeures meme si la cellule est monoligne.

Regards
Alexandre Bessy
 

Pièces jointes

Re : Verifier si une cellule contient plusieures lignes

Re,

Et cette macro ?
VB:
Sub Test()
    Dim I As Long
    Dim Cel As Range
    For I = 3 To 10
        With Cells(I, 2)
            .FormulaR1C1 = "=LEN(SUBSTITUTE(RC[-1],CHAR(10),11))-LEN(RC[-1])"
            .NumberFormat = "0"" retour(s) à la ligne."""
        End With
    Next I
End Sub
 

Pièces jointes

Re : Verifier si une cellule contient plusieures lignes

Bonsoir à tous
Simplifions.
  1. VB:
    Sub toto()
    Dim cel As Range
        For Each cel In Selection: cel.Offset(0, 1).Value = 1 + cel.WrapText * (cel.Value Like "*" & vbLf & "*"): Next
    End Sub
    renvoie 1 pour "uniligne", 2 pour "multiligne".

  2. VB:
    Sub tata()
    Dim cel As Range
        For Each cel In Selection: cel.Offset(0, 1).Value = cel.WrapText * (Len(Replace(cel.Value, vbLf, "")) - Len(cel.Value)): Next
    End Sub
    renvoie le nombre de retours à la ligne efficaces.
(On remplacera à volonté Selection par la plage voulue.)​

ROGER2327
#5316


Samedi 21 Merdre 138 (Sainte Pyrotechnie, illuminée - fête Suprême Quarte)
19 Prairial An CCXIX, 9,6159h - tilleul
2011-W23-2T23:04:41Z
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
117
Réponses
5
Affichages
246
Retour