Retour à la ligne en fonction du nombre de caractères

siamens_duj Messages postés 192 Date d'inscription   Statut Membre Dernière intervention   -  
siamens_duj Messages postés 192 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je fais appel à vous car j'aimerais faire un code qui, quand il y a plus de 30
caractères dans ma cellule active, il retourne à la ligne.
Parfois le nombre de caractères pourra être d'une dizaine de caractères allant d'autre fois
à une soixantaine de caractères.

Cette chaîne de caractères est toujours écrite dans une cellule C fusionnée avec une cellule D.

J'ai essayé avec ma propre réflexion, l'enregistreur de macros et des codes sur internet mais rien ne
fonctionne.

Je vous met mon code :

[...]
intitule = "Veuillez saisir un intitulé"

if intitule <> "" then
Range("C" & i).Select
'ActiveCell.FormulaR1C1 = intitule

If Len(intitule) > 30 Then

Dim prem as string
Dim deuz as string

prem = left(intitule, 30)
deuz = left(intitule > prem) 'mais cela ne fonctionne pas

ActiveCell.WrapText = True

ActiveCell.FormulaR1C1 = prem & vbLf & deuz

end if
end if


Ma chaîne de caractères s'écrit bien dans la cellule C fusionnée à la cellule D
mais il n'y a pas de retour à la ligne.
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Decoupage chaine:

    prem = Left(intitule, 30)
    deuz = Mid(intitule, 31)
0
siamens_duj Messages postés 192 Date d'inscription   Statut Membre Dernière intervention   7
 
Bonjour et merci pour votre réponse !

Le code fonctionne à peu près, cependant je suis obligé de faire un double clic sur la cellule pour qu'il me fasse un retour à la ligne. Savez vous pourquoi ?
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > siamens_duj Messages postés 192 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

En effet le comportement cellule n'est pas le meme que la saisie direct d'une cellule
Une idee, recuperer la hauteur de ligne, multiplier par deux et changer la hauteur de ligne

ex:

 x = Rows("1:1").RowHeight
    Rows("1:1").RowHeight = x * 2
0
siamens_duj Messages postés 192 Date d'inscription   Statut Membre Dernière intervention   7 > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
La taille s'agrandi mais si je ne double clic pas dessus il ne retourne pas à la ligne .
Merci quand même.
0