Bonjour, voici mon problème:
J'ai un document d'archive de conversation.
Il suit donc le même schéma (voir exemple tout en bas de mon message).
Je voudrait:
1/ Rechercher dès qu'une cellule contient "---------"
2/ Copier à la suite de la valeur de la cellule en dessous la valeur de la cellule ENCORE en dessous.
3/ Supprimer la ligne de la cellule copiée à la suite, et celle de la cellule qui la suit. (Ouioui, décalage de 3 par rapport au "------" !
En gros je veut que la date soit à la suite de l'expéditeur, avec une virgule et un espace, et que le champ "à" disparaisse.
VOICI MON EXEMPLE ET LE VBA QUI NE FONCTIONNE PAS ENCORE:
----------
De*: Tom
Date*: 21 octobre 2015 à 19:47
À*: Jean
Message de longueur variable, sur une ou plusieurs lignes
suite d'un message par exemple blablabla
----------
De*:*Jean
Date*: 21 octobre 2015 à 20:04
À*:*Tom
Deuxieme Message de longueur variable, sur une ou plusieurs lignes
suite d'un message par exemple blablabla
----------
De*: Tom
Date*: 21 octobre 2015 à 20:06
À*: Jean
Message de longueur variable, sur une ou plusieurs lignes
suite d'un message par exemple blablabladefzsdefljkbmf
edfedfdfd
----------
De*:*Jean
Date*: 21 octobre 2015 à 20:15
À*:*Tom
Sub test()
Dim L As Integer
Const LigneDebut = 1
Const LigneFin = 2000
For L = LigneDebut To LigneFin Step 1
If Range(L, 1).Value = "----------" Then
Range("L+1,1").Value = Range("L+1,1").Value & ", " & Range("L+2,1").Value
'Range("L + 2:L + 3", 1).Select
'Selection.EntireRow.Delete
End If
Next
End Sub
J'ai un document d'archive de conversation.
Il suit donc le même schéma (voir exemple tout en bas de mon message).
Je voudrait:
1/ Rechercher dès qu'une cellule contient "---------"
2/ Copier à la suite de la valeur de la cellule en dessous la valeur de la cellule ENCORE en dessous.
3/ Supprimer la ligne de la cellule copiée à la suite, et celle de la cellule qui la suit. (Ouioui, décalage de 3 par rapport au "------" !
En gros je veut que la date soit à la suite de l'expéditeur, avec une virgule et un espace, et que le champ "à" disparaisse.
VOICI MON EXEMPLE ET LE VBA QUI NE FONCTIONNE PAS ENCORE:
----------
De*: Tom
Date*: 21 octobre 2015 à 19:47
À*: Jean
Message de longueur variable, sur une ou plusieurs lignes
suite d'un message par exemple blablabla
----------
De*:*Jean
Date*: 21 octobre 2015 à 20:04
À*:*Tom
Deuxieme Message de longueur variable, sur une ou plusieurs lignes
suite d'un message par exemple blablabla
----------
De*: Tom
Date*: 21 octobre 2015 à 20:06
À*: Jean
Message de longueur variable, sur une ou plusieurs lignes
suite d'un message par exemple blablabladefzsdefljkbmf
edfedfdfd
----------
De*:*Jean
Date*: 21 octobre 2015 à 20:15
À*:*Tom
Sub test()
Dim L As Integer
Const LigneDebut = 1
Const LigneFin = 2000
For L = LigneDebut To LigneFin Step 1
If Range(L, 1).Value = "----------" Then
Range("L+1,1").Value = Range("L+1,1").Value & ", " & Range("L+2,1").Value
'Range("L + 2:L + 3", 1).Select
'Selection.EntireRow.Delete
End If
Next
End Sub
Dernière modification par un modérateur: