Bonjour,
J'ai un problème avec une boucle.
Je fais un fichier sur des heures de travail. J'ai une table dans access qui comprends :
Les heures par jour - numérique
Le numero de mission - texte
Le mois concerne - date
La date - date
Bos le jour de la semaine concerné par cette mission - texte
Private Sub Commande12_Click()
Dim a As String, b As String, c As String, i As Integer, e As Integer, f As Integer, g As Date, m As Variant
Dim mission As String, heures As Integer, mois As Date, jour As Date
Mois concerné par les données
g = InputBox("entrez le mois concerné par ces entrées")
nombre de jours que comprends le mois concerné
e = InputBox("combien de jours comprends ce mois ?")
nombre de missions effectuées pendant ce mois
f = InputBox("combien de missions avez vous effectué ce mois-ci ?")
For i = 1 To f
Boucle qui demande combien d'heures ont été effectuées par les missions concernées
m = InputBox("entrez le nombre d'heures effectuées pour la mission " & i)
Dim j As String
j = 8
Do Until j = 0
Tant que l'operateur ne repond pas 0 l'operateur tape les jours de 1 à 7 de la semaine
j = InputBox("si la mission m " & i & "se fait le : " & Chr(10) & "lundi " & vbTab & vbTab & "tapez : 1" & Chr(10) & "mardi " & vbTab & vbTab & "tapez : 2" & Chr(10) & "mercredi " & vbTab & "tapez : 3" & Chr(10) & "jeudi " & vbTab & vbTab & "tapez : 4" & Chr(10) & "vendredi " & vbTab & "tapez : 5" & Chr(10) & "samedi " & vbTab & vbTab & "tapez : 6" & Chr(10) & "dimanche " & vbTab & "tapez : 7")
Loop
Et c'est là que cela ne fonctionne pas. Tout s'enregistre bien dans ma table mais pas cette boucle. Je ne vois pas où je fais erreur
If j = 1 Then Form_travail!bos = "lundi"
If j = 2 Then Form_travail!bos = "mardi"
If j = 3 Then Form_travail!bos = "mercredi"
If j = 4 Then Form_travail!bos = "jeudi"
If j = 5 Then Form_travail!bos = "vendredi"
If j = 6 Then Form_travail!bos = "samedi"
If j = 7 Then Form_travail!bos = "dimanche"
Boucle qui me fait ma durée de travail pour tout le mois suivant les heures de missions et le nombre de missions
For t = 0 To e
Form_travail!mission = "m" & i
Form_travail!heures = m
Form_travail!mois = g + t
Form_travail!date = g + t
DoCmd.GoToRecord , , acNext
Next
Next
Pour éviter les dimanches et jours à supprimer j'avais fait des macros faisant ouvrir des requêtes d'effacement. Mais j'ai abandonné cette méthode.
'DoCmd.SetWarnings False
'DoCmd.RunMacro "lundi"
'DoCmd.SetWarnings False
'DoCmd.SetWarnings False
'DoCmd.RunMacro "Macro1"
'DoCmd.SetWarnings False
End Sub
A l'issue de ces entrées je dois avoir une table avec : un champ d'heures en centième, un champ de numero de mission concerné, un champ mois, un champ date et un champ bos (jour de la semaine bossé) qui ne fonctionne pas... partie en rouge
j'espère que vous allez m'aider... merci beaucoup.