| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 
 | Sub tt()
 
Set f = ActiveSheet 'ou Worksheets("Feuil1")
 
With f.Cells
 
 Set rg = .Find(what:="*", After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlPart, SearchFormat:=False, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
 If Not rg Is Nothing Then
  derniereColonne = rg.Column
 Else
  MsgBox "Il y a un probleme"
  Exit Sub
 End If
 
End With
 
dern = f.Cells(Rows.Count, 1).End(xlUp).Row
 
Set r = f.Range("A1:A" & dern)
 
For i = 1 To dern
 Set c = f.Cells(i, 1)
 
 If Trim(c.Value) = "" Then
 Else
  t = Split(c.Value, "/")
  If UBound(t) = 2 Then
   converti = t(1) & "/" & t(0) & "/" & t(2)
   Set dest = f.Cells(c.Row, derniereColonne + 1)
   dest.NumberFormat = "m/d/yyyy"
   dest.FormulaLocal = converti
   d = TypeName(dest.Value)
   If premier = "" Then
    premier = d
   Else
    If d <> premier Then
     dest.Select
     MsgBox "Probleme potentiel ici. Types de donnees differents"
    End If
   End If
  End If
 End If
Next
Call AujourdhuiMoinsLaDate(f)
End Sub
 
Sub AujourdhuiMoinsLaDate(f)
 
dernligne = f.Cells(Rows.Count, 1).End(xlUp).Row
 
Set rg = f.Cells.Find(what:="*", After:=f.Cells(1, 1), LookIn:=xlValues, LookAt:=xlPart, SearchFormat:=False, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
 If Not rg Is Nothing Then
  dernColonne = rg.Column
 Else
  MsgBox "Il y a un probleme"
  Exit Sub
 End If
 
Set r = f.Range(f.Cells(1, dernColonne + 1), f.Cells(dernligne, dernColonne + 1))
r.NumberFormat = "General"
Set premier = r.Cells(1, 1)
 
Set ref2 = premier.Offset(, 1)
ref2.FormulaLocal = "=AUJOURDHUI()"
addr2 = ref2.Address(RowAbsolute:=True, columnabsolute:=True)
 
Set ref1 = premier.Offset(, -1)
addr1 = ref1.Address(RowAbsolute:=False, columnabsolute:=False)
 
formule = "=DATEDIF(" & addr1 & ";" & addr2 & ";" & """y""" & ")"
premier.FormulaLocal = formule
premier.AutoFill Destination:=r, Type:=xlFillDefault
 
 Stop
r.FormulaLocal = r.Value 'Remplace les formules par les valeurs
ref2.Formula = ""
End Sub |