Saut vers la fin après l'insertion d'une ligne

Fermé
faracha179 Messages postés 2 Date d'inscription lundi 4 novembre 2013 Statut Membre Dernière intervention 28 décembre 2013 - 4 nov. 2013 à 22:13
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 30 déc. 2013 à 08:07
Bonsoir,
Merci d'avance pour avoir pris la peine de lire le message, et ... voilà
je suis nouveau en programmation vba et mon problème est le suivant :

J'ai créé une petite app. pour dresser sur un tableau (préétabli) les heures supp. de chaque équipe,
normalement tout fonctionne bien (de 1. à 14.), mais lorsqu'il s'agit d'introduire deux périodes en une seule journée (de 15. à 22.), seulement la seconde est enregistrée sur ce tableau en deux fois (une sur la ligne originale et l'autre sur la ligne copiée et insérée.

Lorsque j(applique le débogueur, il se révèle que le programme tourne jusqu'à la ligne 20. et va directement sur la fin de la condition.

H7 = 0:00
H1 = L'heure de sortie
H2 = L'heure de retour
H3 = 4:00
H5 = 8:00
H6 = 16:30
H4 = 21:00


1. ElseIf WeekDay((numerojour), vbMonday) = 1 Or 2 Or 3 Or 4 Or 5 Then
2. If H7 <= H1 And H1 < H3 And H7 < H2 And H2 <= H3 Then
3. Range("B" & Compteur).Value = TextBox4.Value
4. Range("C" & Compteur).Value = TextBox8.Value
5. Range("D" & Compteur).Value = TextBox10.Value
6. ElseIf H7 <= H1 And H1 < H3 And H3 < H2 And H2 <= H5 Then
7. Range("B" & Compteur).Value = TextBox4.Value
8. Range("C" & Compteur).Value = TextBox8.Value
9. Range("D" & Compteur).Value = TextBox10.Value
10. ElseIf H7 <= H1 And H1 < H3 And H5 < H2 And H2 <= H6 Then
11. Range("B" & Compteur).Value = TextBox4.Value
12. Range("C" & Compteur).Value = "8:00"
13. Range("D" & Compteur).Value = TextBox10.Value
14.
15. ElseIf H7 <= H1 And H1 < H3 And H6 < H2 And H2 <= H4 Then
16. Range("B" & Compteur).Value = "16:30"
17. Range("C" & Compteur).Value = TextBox8.Value
18. Range("D" & Compteur).Value = TextBox10.Value
19. Range("B" & Compteur).EntireRow.Copy
20. Selection.Insert.Row
21.
22. Range("A14").Value = TextBox4.Value
23. Range("A15").Value = TextBox8.Value
24.
25.
26.
27.
.
.
.
51. end if


Je ne sais pas comment faire pour que ca ne saute pas de la 20. à 51. afin que ce puisse copier les valeurs des TB4 et 8. (selon une instruction simplifiée (je suis nouveau))

J'espère être bien clair et je vous remercie encore.
A voir également:

3 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
5 nov. 2013 à 09:36
Bonjour,

Ce serait plus simple avec ton fichier (que tu pourrais poser sur https://www.cjoint.com/ ), mais je crois que c'est lié au fait que tu insères une ligne au niveau de celle que tu es en train de traiter et non en-dessous.

A+
0
faracha179 Messages postés 2 Date d'inscription lundi 4 novembre 2013 Statut Membre Dernière intervention 28 décembre 2013
28 déc. 2013 à 22:45
ReSalut à toutes & à tous,
J'ai bien fait du temps, mais voilà, les deux fichiers sont compressés sous format .rar sur le lien https://www.cjoint.com/c/CLCwKVvPTsw .

Je vous rappelle qu'il s'agit d'un état mensuel des heures supplémentaires (entre 0:00 et 8:00 du mat. et entre 16:30 et 24:00) de chaque agent de mon équipe. Lorsqu'il s'agit de jours fériés et lorsque le travail comence normalement à 8:00, il n'y a aucun problème mais lorsque c'est un jour ouvrable et que câ commence avant 8:00 , ca me casse la tête à vouloir insérer :
une première ligne : de xx:xx à 8:00 =======> Heures sup. avant 8:00
une seconde ligne : de 16:30 à yy:yy =======> H.S après 16:30.

Merci encore de bien vouloir m'aider à finir cette petite app.
merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
30 déc. 2013 à 08:07
Bonjour
Mettre la pièce jointe (maxi: 1 Mo) au format .zip et non .rar
merci
0