Bonjour,
je cherche une macro qui me permettrait de supprimer les alt + Entrée qui ne seraient pas suivis de textes...
Voir le fichier ci joint avec le résultat à obtenir.
Merci beaucoup pour votre aide
Version imprimable
Bonjour,
je cherche une macro qui me permettrait de supprimer les alt + Entrée qui ne seraient pas suivis de textes...
Voir le fichier ci joint avec le résultat à obtenir.
Merci beaucoup pour votre aide
Bonjour,
Je n'ouvre jamais les classeurs joints.
Le caractère envoyé Alt-Entée dans une cellule équivaut en VBA à la valeur LineFeed soit vbLf
Je t'invite donc à t'intéresser à la fonction Split avec comme arguments la valeur de la cellule et vbLf ce qui te donnera une table
Ensuite tu parcours à l'aide d'une boucle les éléments de cette table et tu testes leurs longueurs, si la longueur est égal à 0 cela signifie qu'il n'y a pas de texte.
Tu fais donc la concaténation de chaque texte + vbLf que tu replaces dans la cellule
Merci Philippe pour cette piste.
J'ai essayé avec ce code :
Mais ça ne fonctionne pasCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Sub MARO() Dim FL1 As Worksheet, Cell As Range, Plage As Range Dim Var1 Dim LString As String Dim LArray() As String Dim I As Long Set FL1 = Worksheets("Test") With FL1 Set Plage = .Range("B2:C50") For Each Cell In Plage LString = Cell.Value LArray = Split(LString, vbLf) For I = 1 To UBound(LArray) ActiveCell.Value = LArray Next I Next End With Set FL1 = Nothing Set Plage = Nothing End Sub
Bonjour,
Tu pourrais essayer ainsi, en ajoutant l'objet Worksheet comme tu l'as fait
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Dim I As Long Dim Cell As Range Dim Plage As Range Dim Tablo Dim strTemp As String Set Plage = Range("B2:C50") For Each Cell In Plage strTemp = "" If InStr(1, Cell.Text, vbLf) > 0 Then Tablo = Split(Cell.Text, vbLf) For I = 0 To UBound(Tablo) If Tablo(I) <> "" Then strTemp = strTemp & Tablo(I) & vbLf End If Next Cell.Value = Left(strTemp, Len(strTemp) - Len(vbLf)) End If Next
Merci beaucoup, voila qui m'a permis de régler mon problème.
Bonne journée...