Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 Barbatruc
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…