Bonjour à tous,
Marre de tourner en rond, je sollicite votre aide...
J'ai une chaine de caractère dans les cellules A2 => FM2 qui se présentent comme suit :
0 ; 0 ; 0 ; 0 ; 1 ; 1 ; 1; 2; 3 ; 3 ; 3 ; 3 ; 3 ; 3 ; 3 ; 3 ; 4; 4; 4 ...
je souhaiterais pouvoir fusionner les cellules qui contiennent la même valeur afin d'avoir en range(B2:E2) la valeur 0, puis une cellule fusionnée en range(F2:H2) avec la valeur 1, puis une cellule simple en I2 avec 2, puis de nouveau une fusion sur la valeur 3 pour les cellules suivantes correspondantes...
Je suis partie de la cellule A2 avec un offset pour incrémenter les valeurs. J'arrive à trouver la valeur à partir de laquelle ça change, mais je ne retrouve plus la valeur précédente ou, à défaut le nb d'itération qu'il a fallu pour arriver à ce changement. Sur l'exemple ci-dessus, je retrouve le 5 correspondant à la 5e colonne "E2", puis le 10 de la 10e colonne "H2", etc... mais si je ne sais pas combien de cellules il me faut fusionner, la manip devient plus compliquée... pour ne pas dire impossible.
J'espère avoir été claire ds mes explications. Et vous remercie par avance de l'aide que vous pourrez m'apporter.
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 Range("A2").Select For x = 1 To 168 n = 0 Do While ActiveCell.Offset(0, x + n).Value = ActiveCell.Offset(0, x - n - 1).Value And ActiveCell.Offset(0, x + n + 1).Value <> ActiveCell.Offset(0, x + n - 1).Value n = n + 1 v = x + n - 1 MsgBox v ' ici si j'arrivais à trouver ma valeur "a" de départ je pourrais alors fusionner de les cellules pour les colonnes de a => v ... mais je n'en suis pas là If n = 168 Then Exit Do Loop Next x
Partager