J'utilise la macro suivante pour "nettoyer" le contenu de mes cellules (qui contiennent plus de 255 caractères pour info, moins de 50 cellules à traiter):
Sub Macro1()
Sheets("N3").Select
Dim lastline_N3 As Long
lastline_N3 = Range("E9").End(xlDown).Row
Range("E4:E" & lastline_N3).Select
For Each Cellule In Range("E4:E" & lastline_N3)
old_text_N3 = Cellule.Value
new_text_N3 = Replace(old_text_N3, Chr(13), Chr(10))
Cellule.Value = new_text_N3 Next
End Sub
J'obtiens lors de l'exécution de la macro un message mémoire insuffisante, si je clique sur débogage, la ligne spécifiée par le debuggeur est celle en gras.
Y aurait il un moyen de palier à ce problème ?
Salut, Julien merci pour l'info
Ted, je ne vois pas trop d'ou vient le probleme mais tu peux toujours essayer ce qui suit :
Attention les points devant les reange sont obligatoire
Sub Macro1()
Dim lastline_N3 As Long, Cellule as Range
Dim old_text_N3 As String, new_text_N3 As String
With Sheets("N3")
lastline_N3 = . Range("E9").End(xlDown).Row
<strike>Range("E4:E" & lastline_N3).Select</strike>
For Each Cellule In .Range("E4:E" & lastline_N3)
old_text_N3 = Cellule.Value
new_text_N3 = Replace(old_text_N3, Chr(13), Chr(10))
Cellule.Value = new_text_N3
Next
End With
End Sub
non non ! ta methode est pas bonne la ! reprend ce que je t'ai donné et donne moi le message d'erreur et le code d'erreur
tu peux aussi mettre une Msgbox pour voir ce qui ce passe :
Sub Macro1()
Dim lastline_N3 As Long, Cellule as Range
Dim old_text_N3 As String, new_text_N3 As String
With Sheets("N3")
lastline_N3 = . Range("E9").End(xlDown).Row
MsgBox lastline_N3<strike></strike>
For Each Cellule In .Range("E4:E" & lastline_N3)
old_text_N3 = Cellule.Value
new_text_N3 = Replace(old_text_N3, Chr(13), Chr(10))
Cellule.Value = new_text_N3
Next
End With
End Sub
regarde si la valeur que te renvoit la msgbox est coherante
Juste une question qui pourra paraître idiote, mais ...
A l'occasion de quel évènement appelles-tu cette macro ?
(j'espère que tu ne fais pas tourner "en rond" à l'occasion d'un évènement change quelque part, par exemple)
La macro n'est appelée que via l'executeur de macro...Elle n'est pas déclenché sur un evenement spécifique...C'est une macro "simple" (si je puis dire :s)