Compter nombre de ligne dans une cellule

Bonjour,

J'aimerai savoir quel est le code pour compter le nombre de ligne dans une cellule et à partir de ces lignes là savoir quelle ligne à le plus grand nombre de caractère s'il vous plait?

Merci pour votre réponse

Kaëligb

Bonjour,

une proposition via une macro à adapter pour selectionner la cellule qui convient

Sub mclc()
    s = Split(Range("A1"), vbLf) ' on considère la cellule A1
    maxc = -1: maxi = -1
    For i = LBound(s) To UBound(s)
        If Len(s(i)) > maxc Then maxc = Len(s(i)): maxi = i
    Next i
    MsgBox "phrase la plus longue dans la cellule : " & s(maxi) & vbCrLf & " en ligne " & maxi + IIf(LBound(s) = 0, 1, 0) & " nb caractères " & maxc
End Sub

Bonjour

comme ceci

Function nblignes(cel As Range)
nblignes = 1
For i = 1 To Len(cel.Value)
    If Asc(Mid(cel.Value, i, 1)) = 10 Then nblignes = nblignes + 1
Next
End Function
Function plusgrand(cel As Range)
plusgrand = ""
chaine = ""
For i = 1 To Len(cel.Value)
    chaine = chaine & Mid(cel.Value, i, 1)
    If Asc(Mid(cel.Value, i, 1)) = 10 Then
        If Len(chaine) > Len(plusgrand) Then
            plusgrand = chaine
            chaine = ""
        End If
    End If
Next
End Function
132kaeligb.xlsm (13.75 Ko)

Bonjour,

Merci pour vos réponse !!

Toutes fois je veux mes réponses pas dans un msgbox mais dans des cellules s'il vous plait je n'ai pas été assez clair

Bonjour,

il me semble que Steelson t'a fourni ce que tu demandais. cela ne te convient pas ?

Ah d'accord ca peut me convenir j'essaye d'apprendre en même temps donc là j'avoue n'avoir pas compris son code par rapport au tient :p

Bonjour

Par formules. Supposons que tu veuilles compter le nombre de cellules occupées en D2:D20

=NB.SI(D2:D20;"<>"&"")

et pour connaître celle qui contient le plus grand nombre de caractères

=SOMMEPROD((NBCAR(D2:D20)=MAX(NBCAR(D2:D20)))*(LIGNE(D2:D20)))

Cette dernière formule est matricielle, et donc à valider avec les 3 touches Ctrl+Maj+Entrée

Cordialement

Bonjour Amadeus !

Je veux tout ca en code vba pas en formule s'il te plait

re bonjour,

Bonjour,

Merci pour vos réponses !!

Toutefois je veux mes réponses pas dans un msgbox mais dans des cellules s'il vous plait je n'ai pas été assez clair

dans quelles cellules veux-tu tes réponses ?

bonjour,

(Cellule A3) Ligne: (Cellule B3) valeurdelaligne

(Cellule A10) Nombre de caratère: (Cellule B10) valeur

(Cellule A11) Caractère le plus grand (Cellule B11)

Merci

cdt,

Kaligb

Bonjour,

une solution via la macro adaptée. je n'ai pas compris A11, comment definis-tu le caractère le plus grand ?

Sub mclc()
    s = Split(Range("A1"), vbLf) ' on considère la cellule A1
    maxc = -1: maxi = -1
    For i = LBound(s) To UBound(s)
        If Len(s(i)) > maxc Then maxc = Len(s(i)): maxi = i
    Next i
    Range("A3") = UBound(s) + IIf(LBound(s) = 0, 1, 0)
    Range("B3") = maxi + IIf(LBound(s) = 0, 1, 0)
    Range("A10") = maxc
    Range("B10") = s(maxi)
    Range("A11") = "définir ce que veut dire plus grand caractère"
End Sub

Re,

merci beaucoup ce que je veux dore par là qu'elle ligne de la cellule A1 à la le nombre de caractère le plus grand

re-bonjour,

alors j'ai pas compris ce qu'il fallait mettre en A3 et en B3

Re,

A3 = nombre de caractère total: de la cellule A1

B3 = valeur de la cellule A1

re-bonjour,

voici

Sub mclc()
    s = Split(Range("A1"), vbLf) ' on considère la cellule A1
    maxc = -1: maxi = -1
    For i = LBound(s) To UBound(s)
        If Len(s(i)) > maxc Then maxc = Len(s(i)): maxi = i
    Next i
    Range("A3") = Len(Range("A1"))
    Range("B3") = Range("A1")
    Range("A10") = maxc
    Range("B10") = s(maxi)
    Range("A11") = maxi + IIf(LBound(s) = 0, 1, 0)
End Sub

Ah d'accord ca peut me convenir j'essaye d'apprendre en même temps donc là j'avoue n'avoir pas compris son code par rapport au tient :p

Ce sont des formules personnalisées, regarde le fichier et le nom de la formule.

Re,

A3 = nombre de caractère total: de la cellule A1

B3 = valeur de la cellule A1

dans ce cas, déplace la formule et mets là dans n'importe quelle case !

Re,

je ne veux pas de formule je veux juste du code pour savoir le nombre total de caractère de la cellule A1 svp

cdt

Kaëligb

Ma "formule", c'est juste du code plus souple puisque tu peux le mettre là où c'est nécessaire ... ou l'intégrer dans un code.

Dans ce cas, prends la version d'acide chlorhydrique (hello, je n'avais même pas vu que tu avais posté une réponse avant la mienne !).

Saches que la dissolution de H2SO4 et de NaCl produit les quatre ions H3O+, SO4^2- (partiellement sous forme de HSO4^2-), Na+ et Cl-. Ce n'est pas une solution d'acide chlorhydrique, à cause des ions Na+ et SO4^2-.

By the way ... une formule n'a pas besoin d'être relancée en cas de changement de valeur, cela peut aussi être un avantage

Comme l'a dit H2SO4

Rechercher des sujets similaires à "compter nombre ligne"