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 :
malheureusement, ça ne fusionne que deux lignes par deux lignes...
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
j'ai vu après qu'il fallait utiliser apparemment :
au lieu de :
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
mais je ne comprend vraiment pas par quoi je dois remplacer Tables(1) ou autre chose dans ces deux lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'Déterminer la dernière ligne du tableau nbl = 15
merci d'avance pour votre aide...
un documentaliste à l'arrache totale...
Partager