XL 2016 Fusionner les cellules ayant la même date en colonne B

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonsoir Le Forum,
Les lignes de codes ci-après ne me fusionnent pas les cellules de la colonne B ayant la même date, cela à partir de la ligne 3.
J'ai dû rater quelque chose...
Pouvez-vous m'indiquer ce qui coince ?
Merci
Webperegrino

VB:
Dim datas, nb As Long
'on explore la colonne B à partir de la ligne 3, vers le bas
datas = [B3].Resize(Cells(Rows.Count, 2).End(3).Row + 1).Value
nb = 1
For lg = 3 To UBound(datas)
  If nb > 3 Then
    If datas(lg, 2) = datas(lg - 1, 2) Then Cells(lg, 2).Offset(-nb).Resize(nb).Merge
  End If
Next
 

laurent950

XLDnaute Accro
Bonsoir @job75

Pas mal cette méthode avec CurrentRegion et la gestion d'erreur.

Grace au With / End With
(1) Le faite de remplacer toutes les dates cibles dans la colonne par le code erreur "#N'A"
la méthode CurrentRegion garde en mémoire la dernière action soit la plage de remplacement
(2) Puis ensuite cette plage connut plage gardée en mémoire sera fusionnée
(3) il est facile ensuite réaffecter les bonnes dates en les substituant par le code erreur précédemment effectuer puisque cette plage et toujours en mémoire (d'où votre belle cette astuce)

Bien vue mais complexe à deviner.

For dat = .Cells(2, 1) To .Cells(.Rows.Count, 1)
(1) .Replace dat, "#N/A"
(2) .SpecialCells(xlCellTypeConstants, 16).Merge
(3) .Replace "#N/A", dat
Next
 

Discussions similaires

Réponses
3
Affichages
577
Réponses
5
Affichages
181

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin