Bonjour à tous,

j'aide une amie à faire une fusion dans un énorme tableau word.

il faut que les cellules de la première colonne soient fusionnées lorsque la valeur est identique (toutes les cellules de valeur 1 deviennent une seule cellule à veleur 1). J'ai essayé un peu en VBA en piochant dans des tutos et j'obtiens ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Sub fusion()
Dim plign, nbl, n As Long
Dim cref As Byte
Dim ref, refs  As Variant
'1ère ligne de données du tableau
plign = 1
'N° de la colonne contenant la référence client (à modifier éventuellement)
cref = 1
 
 
 
'Déterminer la dernière ligne du tableau
nbl = 15
 
'Modifier les 7 "adretour" avec vos adresses réelles
Testval:
If plign > nbl Then
GoTo Fin
End If
 
ActiveDocument.Tables(1).Cell(plign, cref).Select
ref = Selection
plign = plign + 1
ActiveDocument.Tables(1).Cell(plign, cref).Select
refs = Selection
If ref = refs Then
ActiveDocument.Tables(1).Cell(plign, cref).Select
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.Cells.Merge
GoTo Testval
Else
GoTo Testval
End If
 
Fin:
If ActiveDocument.Saved = False Then ActiveDocument.Save
 
End Sub
malheureusement, ça ne fusionne que deux lignes par deux lignes...

j'ai vu après qu'il fallait utiliser apparemment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
'Déterminer la dernière ligne du tableau
mytable = Tables(1)
nbl = mytable.Rows.Count
au lieu de :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
'Déterminer la dernière ligne du tableau
nbl = 15
mais je ne comprend vraiment pas par quoi je dois remplacer Tables(1) ou autre chose dans ces deux lignes

merci d'avance pour votre aide...
un documentaliste à l'arrache totale...