1 2 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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| Sub maj()
'mise à jour
Dim wbClasseur1 As Workbook
Dim ws2 As Worksheet, ws1 As Worksheet
Dim strFeuille2 As String, strFeuille1 As String
Set wbClasseur1 = Nothing
Set ws2 = Nothing
Set ws1 = Nothing
Set wbClasseur1 = Workbooks("MonClasseur.xls")
If (wbClasseur1 Is Nothing) = False Then
strFeuille2 = "Feuil2"
Set ws2 = wbClasseur1.Sheets(strFeuille2)
strFeuille1 = "Feuil1"
Set ws1 = wbClasseur1.Sheets(strFeuille1)
''Test debut ok fonctionne bien du fait que strCodeChaineARechercher = "MaChaine"
Dim rColCode As Excel.Range
Dim rCodeChaine As Excel.Range
Dim strCodeChaineARechercher As String
strCodeChaineARechercher = "MaChaine"
Set rColCode = wbClasseur1.Sheets(strFeuille1).Range("A1").EntireColumn
Set rCodeChaine = rColCode.Find(strCodeChaineARechercher, lookat:=xlWhole)
''Test fin
If (Not (ws2Ref Is Nothing Or ws1ref Is Nothing)) Then
Call majChainedepuisFeuil1(ws2Ref, ws1ref)
Sub majChainedepuisFeuil1(ws2 As Worksheet, ws1 As Worksheet)
Dim lChaine As Long
Dim dAujourdhui As Date
Dim strCode2 As String
Dim dAvant2 As Date
Dim strAvant2 As String
Dim dApres2 As Date
Dim strApres2 As String
Dim dApres1 As Date
Dim nNb1trt As Long
Dim nNb1ouvert As Long
Dim nNb1ferme As Long
Proc10:
nNb1trt = 0
nNb1ouvert = 0
nNb1ferme = 0
Proc20:
dAujourdhui = Date
For lChaine = ws1.Range("A65536").End(xlUp).Row To 2 Step -1
'Vérifie Chaine le Chaine existe dans Chaine_Nat et Chaine oui en récupère les dates de création et de Apres
strCode2 = ""
dAvant2 = Empty
dApres2 = Empty
strAvant2 = ""
strApres2 = ""
dApres1 = Empty
Call getChaine(ws2, ws1.Cells(lChaine, 1), _
strCode2, strAvant2, dAvant2, strApres2, dApres2)
Private Sub getChaine(wsFeuille As Worksheet, strCodeChaineARechercher As String, _
strCodeChaineResultatRecherche As String, strAvant As String, dAvant As Date, strApres As String, dApres As Date)
'Test debut
Dim rColCode As Excel.Range
Dim rCodeChaine As Excel.Range
'Dim strCodeChaineARechercher As String
'strCodeChaineARechercher = "MaChaine" 'TODO ok
Set rColCode = wsFeuille.Range("A1").EntireColumn
Set rCodeChaine =rColCode.Find(strCodeChaineARechercher)
If (rCodeChaine Is Nothing) Then
strCodeChaineResultatRecherche = ""
dAvant = Empty
strAvant = ""
dApres = Empty
strApres = ""
Else
strCodeChaineResultatRecherche = rCodeChaine.Offset(0, 0).Value
strAvant = rCodeChaine.Offset(0, 21).Value
dAvant = rCodeChaine.Offset(0, 21).Value
strApres = rCodeChaine.Offset(0, 24).Value
dApres = rCodeChaine.Offset(0, 24).Value
End If
If rCodeChaine Is Nothing Then |
Partager