Bonjour,
J'ai une macro qui récupère des infos sur un onglet et dans lequel je dois convertir la date. Parfois, cet onglet est vide et la conversion fait planter la macro et l'empêche tourner. Je cherche à contourner ce problème, voici le code que j'utilise :
Sheets("feuil1").Select
For Each c In Range("L1:L" & Range("L" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("R1:R" & Range("R" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("P1" & Range("P" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AG1:AG" & Range("AG" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AH1:AH" & Range("AH" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AB1:AB" & Range("AB" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AC1:AC" & Range("AC" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AD1:AD" & Range("AD" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
Pouvez vous m'aider svp ?
Merci d'avance,
Gabo29
J'ai une macro qui récupère des infos sur un onglet et dans lequel je dois convertir la date. Parfois, cet onglet est vide et la conversion fait planter la macro et l'empêche tourner. Je cherche à contourner ce problème, voici le code que j'utilise :
Sheets("feuil1").Select
For Each c In Range("L1:L" & Range("L" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("R1:R" & Range("R" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("P1" & Range("P" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AG1:AG" & Range("AG" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AH1:AH" & Range("AH" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AB1:AB" & Range("AB" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AC1:AC" & Range("AC" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
For Each c In Range("AD1:AD" & Range("AD" & Rows.Count).End(xlUp).Row)
If Not IsDate(c.Value) Then
c.Value = DateSerial(Left(c.Value, 4), Mid(c.Value, 5, 2), Right(c.Value, 2))
End If
Next c
Pouvez vous m'aider svp ?
Merci d'avance,
Gabo29