OVH Cloud OVH Cloud

retour ligne auto MERCI DE REGARDER !!!

10 réponses
Avatar
Michael
Bonjour

Je cherche a detecter un retour a la ligne automatique dans une cellule

Si qq1 peut m'aider ce serait sympa car je débute et donc je galère

Merci encore !

10 réponses

Avatar
Kiriasse
Rechercher Chr(13) et Chr(10) dans la chaîne de caractères.

== "Michael" a écrit dans le message de news:

Bonjour

Je cherche a detecter un retour a la ligne automatique dans une cellule

Si qq1 peut m'aider ce serait sympa car je débute et donc je galère

Merci encore !


Avatar
Michael
Comment faire pour les detecter dans la chaine et pas si la cellule.value ???

Merci
Avatar
Kiriasse
Si le contenu de la cellule est sContenu (variable String).
If InStr(sContenu, vbCrLf) = 0 Then
' pas de retour chariot
End If

== "Michael" a écrit dans le message de news:

Comment faire pour les detecter dans la chaine et pas si la cellule.value
> ???

Merci




Avatar
Michael
j'essaie ça

mais g toujours un non retour

Sub ligne()
Dim sContenu As String
sContenu = ActiveSheet.Range("B7").Value
If InStr(sContenu, vbCrLf) = 0 Then
MsgBox "pas retour"
Else
MsgBox "retour"
End If
End Sub

Merci de votre aide
Avatar
Kiriasse
Essayez
If InStr(sContenu, Chr$(13)) = 0 Or InStr(sContenu, Chr$(10)) = 0 Then ...

Kiriasse

== "Michael" a écrit dans le message de news:

j'essaie ça

mais g toujours un non retour

Sub ligne()
Dim sContenu As String
sContenu = ActiveSheet.Range("B7").Value
If InStr(sContenu, vbCrLf) = 0 Then
MsgBox "pas retour"
Else
MsgBox "retour"
End If
End Sub

Merci de votre aide




Avatar
Michael
C bien essayé mais meme en tournant la ligne dans tout les sens, impossible
de differencier
un retour auto a la ligne d'autre chose.
si vous avez d'autres idées je suis preneur

encore Merci
Avatar
Fred
http://www.cerbermail.com/?3kA6ftaCvT
"Michael" a écrit dans le message de
news:%

C bien essayé mais meme en tournant la ligne dans tout les sens,


impossible
de differencier
un retour auto a la ligne d'autre chose.
si vous avez d'autres idées je suis preneur

encore Merci



Bonjour,
Un retour à la ligne auto n'insère pas de CR LF dans le texte.
Je ne vois pas de solution, j'ai regardé si on pouvait déterminer la
longueur du texte pour la comparer avec la largeur de cellule mais sans
succès. Je ne retrouve pas de fonction TextWidth en vba.
Peut-être regarder la hauteur de ligne ? Mais cela ne sera pas toujours
significatif suivant le contenu des autres cellules sur la même ligne.
Avatar
Kiriasse
Essayez plutôt And au lieu de Or :
If InStr(sContenu, Chr$(13)) = 0 And InStr(sContenu, Chr$(10)) = 0 Then ...

Kiriasse

== "Michael" a écrit dans le message de news:
%

C bien essayé mais meme en tournant la ligne dans tout les sens,
impossible
de differencier
un retour auto a la ligne d'autre chose.
si vous avez d'autres idées je suis preneur

encore Merci




Avatar
Michael
Merci beaucoup ça y est je m'en suis sorti OUF !

Au plaisir
Avatar
Kiriasse
C'est que le retour à la ligne correspond dans le cas qui vous préoccupe au
caractère Chr(13) ou bien au caractère Chr(10) mais pas au vbCrLf qui est
constitué des deux à la fois.
Problème analogue avec un texte écrit sous Unix (écriture dans un fichier
texte par un programme PHP par exemple) et un texte écrit sous Windows.

Kiriasse

== Michael
Merci beaucoup ça y est je m'en suis sorti OUF !

Au plaisir