nombre de lignes de texte dans une cellule

D

Didier M

Guest
Chapeau pour le site et le forum.....

J'ai dans une feuille une cellule dans laquelle l'utilisateur va entrer le texte de son choix.
Je suis en train d'écrire une macro pour régler la taille de la cellule en fonction de la longeur du texte.
Mais je ne sais pas comment je peux compter le nombre de lignes que l'utilisateur a entré .


Didier M
 
@

@+Thierry

Guest
Bonsoir Didier,

Humm tu parles bien du nombre de lignes ... C'est pas difficile il y a plusieurs moyens en vba.

Si tu as la cellule de départ (ce que j'imagine) et que tout est saisie en une seule colonne c'est encore plus simple.

Sub NBLignes()
Dim Ligne As Integer
Dim Nombre As Integer
Ligne = Sheets("Feuil2").Range("A65536").End(xlUp).Row
Range("A1:A" & Ligne).Select
Nombre = Selection.Rows.Count
MsgBox "La sélection contient :" & Nombre & " Lignes saisies", vbInformation
End Sub


Si tu parle d'un tableau avec plusieurs cellules remplies tu peux faire çà aussi :
Sub NBCells()
Dim Nombre As Long
Range("a1").CurrentRegion.Select
Nombre = Selection.Cells.Count
MsgBox "La sélection contient :" & Nombre & " Cellules saisies", vbInformation
End Sub

Voilà de quoi travailler Didier !!
Bonne Nuit
@+Thierry
 
S

STéphane

Guest
je n'arriv epas à remettre la main sur une macro qui compte les retours à la ligne

alors je te mets autre chose dont tu pourras t'inspirer

'cette macro afficher cahque ligne de texte du texte qui se trouve dans le presse-papier
Sub clipboard_rows()
dim Texte As String, Ligne As String
dim I As Integer, J As Integer
dim DObj As New DataObject
DObj.GetFromClipboard
Texte = DObj.gettext(1)
do
I = J + 1
J = InStr(I, Texte, vbCr)
Ligne = Mid$(Texte, I, Iif(J, J - I, Len(Texte) - I + 1))
msgbox Ligne
loop While J
end sub



'exemple de manip qui enlève les retours à la ligne
Dim Montexte$, n%
Montexte = TxBTexte.Text
MsgBox Montexte ' Visualisation avant màj
Do Until InStr(1, Montexte, vbLf) = 0 And InStr(1, Montexte, vbCr) = 0
n = IIf(InStr(1, Montexte, vbLf) > 0, InStr(1, Montexte, vbLf), InStr(1, Montexte, vbCr))
Montexte = Mid(Montexte, 1, n - 1) & Mid(Montexte, n + 1, Len(Montexte) - n)
Loop


bye
stephane
 
@

@+Thierry

Guest
Bonsoir Didier et STéphane

Hummm en voyant le réponse de Stéphane, je pense que j'ai mal compris ta question... oui.. tu parles du nombre de lignes à l'intérieur d'une cellule !!

moi je suis parti à fond sur le nombre de lignes d'une plage....

enfin si çà peut servir !!
@+Thierry
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2