XL 2016 Fusionner les doublons de date

  • Initiateur de la discussion Initiateur de la discussion scrib
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

scrib

XLDnaute Nouveau
Bonjour,
Je voudrais fusionner les cases qui ont la même date, mais le code que j'ai fais ne fonctionne pas, pouvez-vous m'aider?
L'erreur que je reçois est :
Ligne => "Un.Add.Cell , CDate(Cell)"
instruction => "CDate(Cell)"
Erreur retournée => erreur compilation: argument non facultatif

VB:
Dim Plage As Range
    Dim Cell As Range
    Dim Un As New Collection
    Dim Tableau() As Integer
    Dim Nombre As Integer
     Set Plage = Sheets("feuil2").Crange("A2:A1048521")
    On Error Resume Next
    For Each Cell In Plage
        Un.Add.Cell , CDate(Cell)
        If Err.Number <> 0 Then
            Nombre = Nombre + 1
            ReDim Preserve Tableau(1 To Nombre)
            Tableau(Nombre) = Cell.Row
            Err.Clear
        End If
    Next Cell
    On Error GoTo 0
    If Nombre = 0 Then
        Exit Sub
    End If
    For nomnbre = UBound(Tableau) To LBound(Tableau) Step -1
        Sheets("Feuil2").Cells(Tableau(Nombre)).Merge
    Next Nombre

Merci pour vos futures réponses
 
Solution
Bonjour scrib

Je te suggère cette macro
VB:
Sub fusion()
For n = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
   If IsDate(Range("A" & n)) And Range("A" & n - 1) = Range("A" & n) Then
    Application.DisplayAlerts = False
      Range("A" & n & ":A" & n - 1).MergeCells = True
    Application.DisplayAlerts = True
   End If
Next
End Sub
Bonjour scrib, le forum
Peux-tu nous fournir un fichier exemple stp ?
En attendant,
il y a quelques fautes de frappe dans ton code :

Ligne 6 (remplace Crange par range)
Code:
Set Plage = Sheets("feuil2").Crange("A2:A1048521")

Ligne 9 (remplace Un.Add.Cell par Un.Add Cell
Code:
Un.Add.Cell , CDate(Cell)

Ligne 21 (remplace nomnbre par nombre)
Code:
For nomnbre = UBound(Tableau) To LBound(Tableau) Step -1

Cordialement.
 
Bonjour scrib

Je te suggère cette macro
VB:
Sub fusion()
For n = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
   If IsDate(Range("A" & n)) And Range("A" & n - 1) = Range("A" & n) Then
    Application.DisplayAlerts = False
      Range("A" & n & ":A" & n - 1).MergeCells = True
    Application.DisplayAlerts = True
   End If
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
162
Réponses
4
Affichages
177
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
144
Réponses
5
Affichages
232
Retour