Bonjour,
Je découvre le VB, et ce forum par la même occasion, et je viens vers vous pour un petit problème.
Pour résumer cela rapidement, je souhaite fusionner deux cellules B(x) et B(x+1) si B(x)=B(x+1) et A(x)=A(x+1).
J'ai un code qui gère la première condition, mais je n'arrive pas à prendre en compte la deuxième. Voici le code en question :
Sans la condition en rouge, le code exécute bien la fusion si une cellule est égale à celle du dessous. En ajoutant la seconde condition, les résultats sont totalement faux.
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 Sub FusionBis() Dim n As Integer Dim m As Integer Dim colonne As String n = InputBox("Nombre de lignes ?") m = InputBox("Nombre de modalités ?") m = m + 2 colonne = ConvertToLetter(m) For Each c In Worksheets("Exemple1").Range("B2", Cells(2, colonne)) c.Activate Application.DisplayAlerts = False Départ = ActiveCell.Address Do While ActiveCell.Row < n + 1 If (ActiveCell <> ActiveCell.Offset(1, 0)) And (ActiveCell.Offset(0, -1) <> ActiveCell.Offset(1, -1)) Then Range(Départ, ActiveCell.Address).Merge Départ = ActiveCell.Offset(1, 0).Address End If ActiveCell.Offset(1, 0).Activate Loop Next End Sub
Quelqu'un a-t-il une solution / correction pour ajouter la 2ème condition ?
Par avance, merci.
Partager