Macro avec defaut sur ligne cdate

RE Bonsoir

dans ce fichier, la macro (qui fonctionnais tres bien sur un autre fichier) butte sur la ligne avec CDate, je ne trouve pas pourquoi, quelqu'un aurait-il la solution?

https://www.excel-pratique.com/~files/doc/cdate.xls

cordialement

Salut le forum

Maguetlolo, ton tablo commence en ligne 65

Tu veux obtenir quoi au final, juste un tri...

car

If (Tablo(j, 1) - Tablo(i, 2)) < CDate("00:01:01") Then

va te retourner une erreur si Tablo contient ""

A te relire

Mytå

Re Maguetlolo et le forum

A tester sur ton fichier fourni, le tri sur la colonne A en débutant à la ligne 65

avec Pre_lig = .Range("A1").End(xlDown).Row

Sub Fusionner_LignesAA()

Dim i As Integer
Dim j As Integer
Dim k As Byte
Dim Der_Lig As Integer
Dim Pre_lig As Integer
Dim Tablo

With Sheets("Feuil1")
Der_Lig = .Range("A65536").End(xlUp).Row
Pre_lig = .Range("A1").End(xlDown).Row
Tablo = .Range("A" & Pre_lig & ":E" & Der_Lig)
For i = 1 To UBound(Tablo) - 1
  For j = i + 1 To UBound(Tablo)
      If Tablo(i, 1) = Tablo(j, 1) And _
        Tablo(i, 5) = Tablo(j, 5) Then
          If (Tablo(j, 1) - Tablo(i, 2)) < CDate("00:01:01") Then
            Tablo(i, 2) = Tablo(j, 2)
             For k = 1 To 5
              Tablo(j, k) = ""
            Next k
      End If
    End If
  Next j
Next i

.Range("A" & Pre_lig & ":E" & Der_Lig) = Tablo
.Range("A" & Pre_lig & ":E" & Der_Lig).Sort Key1:=Range("A1"), Order1:=xlAscending

End With

End Sub

Mytå

re,

voila, j'ai corrigé

https://www.excel-pratique.com/~files/doc/YXs3ccdate.xls

en fait c'est pour fusionner les lignes mais ca bloque sur la ligne cdate qui est sensée dire: si la difference entre les deux date est inferieur a 1minute (ecart entre deux defauts); on peut fusionner (en plus desautre condition biensur), sur un autre fichier que je n'aiplus, ca fonctionnais mais pas la.

cordialement

re

non,ca ne marche pas

pour les deux premieres lignes par exemple

si A = A ou si A2-B1 < 00:01:00

si D1 = D2

on fusionne les deux ligne en gardant la premiere mais sauf B1 qui deviens B2

et ca pour toutes les lignes

cordialement

Re Maguetlolo

Tu n'auras jamais de résultats

If Tablo(i, 1) = Tablo(j, 1) And

Cette condition ne sera jamais touvée, tu cherches une égalité

Mytå

re

si car il y a des defauts qui en provoque plusieur et sur la liste ils se declenche tous exactement a la meme heure

mais la ou ca bloque c'est sur la ligne avec cdate , ca me met erreur de compilation erreur de syntaxe

en fait il faut mettre ca (i1=j1) "ou" la difference entre la fin d'un defaut et le debut de l'autre est < a 1 minute (donc entre 0 et 1 minute)

j'ai essayer en enlevant la ligne i1=j1 mais c'est pareil sauf que ca me met imcompatibilité de type sur la ligne cdate

cordialement

Re le forum

Et ceci

Sub Fusionner_LignesAA()

Dim i As Integer
Dim j As Integer
Dim k As Byte
Dim Lig As Integer
Dim Tablo

With Sheets("Feuil1")
Lig = .Range("A65536").End(xlUp).Row
Tablo = .Range("A1:E" & Lig)
For i = 1 To UBound(Tablo) - 1
  For j = i + 1 To UBound(Tablo)
      If Tablo(i, 5) = Tablo(j, 5) Then
          If (Tablo(j, 1) - Tablo(i, 2)) < CDate("00:01:01") Then
            Tablo(i, 2) = Tablo(j, 2)
             For k = 1 To 5
              Tablo(j, k) = "0"
            Next k
      End If
    End If
  Next j
Next i
For i = 1 To UBound(Tablo)
For j = 1 To 5
If Tablo(i, j) = 0 Then Tablo(i, j) = ""
Next j
Next i
.Range("A1:E" & Lig) = Tablo
.Range("A1:E" & Lig).Sort Key1:=Range("A1"), Order1:=xlAscending

End With

End Sub

Mytå

re

la au moin il se passe quelque chose et ca fusionne

je verifierais le resultat demain, et te tiendrais au courant

pour l'instant il faut que je dorme (boulot dans 5 heures)

merci pour ton aide

cordialement

Bonsoir tout le monde

Merci Myta, ça marche

Cordialement

Rechercher des sujets similaires à "macro defaut ligne cdate"