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
| Sub test()
Dim imm As Long
Dim i, j, k As Long
Dim valeur As Integer
Dim DateDeb As String
Dim nom As String
Dim prenom As String
Dim DateFin As String
' Chercher les info sur l'abscence d'un salarié donné grace à son immatriculation : identifiant du salarié
imm = "58122"
i = 2
While i < 15
'Workbooks.Open "D:\Documents and Settings\wboudgui\Desktop\test15juillet\abscences1.xls"
'Workbooks("abscences1.xls").Activate
' si la cellule ( i,3) correspond à l'immatriculation qu'on cherche , on extraie les autres infos sur le salarié
If Cells(i, 3).Value = imm Then
Cells.Select
MsgBox "Immatriculation:" & imm
nom = Cells(i, 4).Value
MsgBox "Nom:" & nom
prenom = Cells(i, 5).Value
DateFin = Cells(i, 11).Value
Duree = Cells(i, 12).Value
DateDeb = Cells(i, 10).Value
MsgBox "DateDeb:" & DateDeb
'si j'arrete la boucle ici, tout va bien : mon programme affiche autant de datedeb que d'abscences faites par le salarié; mais une fois j'ouvre le deuxième fichier appelé fie pour le remplir en cochant les abscence: le programme coche la première abscence mais ne rentre plus dans la boucle dans le premier fichier pour extraire les autres abscences
Workbooks.Open "D:\Documents and Settings\wboudgui\Desktop\test15juillet\fievide.xls"
Workbooks("fievide.xls").Activate
For j = 12 To 41
'de 12 à 41 on a 31 jour corrspondant à un mois de travail ou je vais cocher les abscences
If Cells(j, 3) = DateDeb Then
Cells(j, 7).Value = "R"
'R pour dire abscent ici
'je remplie les autres champs du formulaires du salarié: nom, prénoms...
Cells(6, 2).Value = imm
Cells(6, 4).Value = nom
Cells(6, 7).Value = prenom
End If
Next
' Workbooks(" fievide.xls ").Save
' Workbooks(" fievide.xls ").Close
End If
i = i + 1
Wend
End Sub |
Partager