Démultiplication de code
Résolu
Co_nexion
Messages postés
328
Date d'inscription
Statut
Membre
Dernière intervention
-
Co_nexion Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
Co_nexion Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai souhaité agrémenté ce code pour qu'il remplisse le même tableau mais une ligne au-dessus. Juste au niveau hebdo et non au niveau mensuel.
J'ai modifié les informations qui m'ont paru nécessaire pour faire fonctionner ce code.
Il fonctionne mais le problème est que les informations sont les mêmes. Et je ne vois pas d'où le problème peut venir.
J'espère que sans le fichier vous pourrez m'aider. En gras ce que j'ai rajouté au code d'origine.
Merci d'avance à tous
J'ai souhaité agrémenté ce code pour qu'il remplisse le même tableau mais une ligne au-dessus. Juste au niveau hebdo et non au niveau mensuel.
J'ai modifié les informations qui m'ont paru nécessaire pour faire fonctionner ce code.
Il fonctionne mais le problème est que les informations sont les mêmes. Et je ne vois pas d'où le problème peut venir.
J'espère que sans le fichier vous pourrez m'aider. En gras ce que j'ai rajouté au code d'origine.
Merci d'avance à tous
'Mettre à jour les Heures sup mensuelles puis hebdo Sub synthese() Dim Plage As Range, cel As Range Dim Compte_Semaine(53) As Single, Compte_Mois(12) As Single Dim Num_Mois As Integer, Num_Sem As Integer, mois Dim Nb_Sem As Integer Erase Compte_Semaine, Compte_Mois 'pour la dernière ligne de la colonne A Derlig = Worksheets("HS").Range("A" & Rows.Count).End(xlUp).Row Set Plage = Worksheets("HS").Range("O2:O" & Derlig) For Each cel In Plage If Worksheets("HS").Cells(cel.Row, "P") <> "" Then 'Mois ValO = Worksheets("HS").Cells(cel.Row, "O") mois = Left(ValO, Len(ValO) - 5) 'Semaine ValP = Worksheets("HS").Cells(cel.Row, "P") Num_Sem = CInt(Left(ValP, Len(ValP) - 5)) Else Exit Sub End If Select Case mois Case Is = "janv." Num_Mois = 1 Case Is = "fév." Num_Mois = 2 Case Is = "mars" Num_Mois = 3 Case Is = "avril" Num_Mois = 4 Case Is = "mai" Num_Mois = 5 Case Is = "juin" Num_Mois = 6 Case Is = "juil." Num_Mois = 7 Case Is = "août" Num_Mois = 8 Case Is = "sept." Num_Mois = 9 Case Is = "oct." Num_Mois = 10 Case Is = "nov." Num_Mois = 11 Case Is = "déc." Num_Mois = 12 Case Else 'cellule vide ou autre End Select 'EAM Compte_Semaine(Num_Sem) = Compte_Semaine(Num_Sem) + Worksheets("HS").Cells(cel.Row, "E") Compte_Mois(Num_Mois) = Compte_Mois(Num_Mois) + Worksheets("HS").Cells(cel.Row, "E") 'Duplication 25/09 'Heures Compte_Semaine(Num_Sem) = Compte_Semaine(Num_Sem) + Worksheets("HS").Cells(cel.Row, "C") Next cel 'Ecriture des Cumuls EAM 'Cumul Mois EAM For i = 1 To 12 If Compte_Mois(i) > 0 Then Worksheets("Synthèse").Cells(33, 1 + i) = CSng(Format(Compte_Mois(i), "###.##")) Else Worksheets("Synthèse").Cells(33, 1 + i) = "" End If Next i 'Cumul Semaine EAM If Worksheets("Synthèse").Range("F20") = "" Then Nb_Sem = 52 Else Nb_Sem = 53 End If 'Coordonnees des cellules Semaine EAM For i = 1 To 52 lig = Choose(i, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, _ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, _ 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, _ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, _ 22, 22, 22, 22) col = Choose(i, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, _ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, _ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, _ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, _ 2, 3, 4, 5, 6) If Compte_Semaine(i) > 0 Then Worksheets("Synthèse").Cells(lig, col) = CSng(Format(Compte_Semaine(i), "###.##")) Else Worksheets("Synthèse").Cells(lig, col) = "" End If Next i 'Duplication 25/09 'Ecriture des Cumuls Heures 'Cumul Semaine Heures If Worksheets("Synthèse").Range("F20") = "" Then Nb_Sem = 52 Else Nb_Sem = 53 End If 'Coordonnees des cellules Semaine Heures For j = 1 To 52 lig = Choose(j, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, _ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, _ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, _ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, _ 21, 21, 21, 21) col = Choose(j, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, _ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, _ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, _ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, _ 2, 3, 4, 5, 6) If Compte_Semaine(j) > 0 Then Worksheets("Synthèse").Cells(lig, col) = CSng(Format(Compte_Semaine(j), "###.##")) Else Worksheets("Synthèse").Cells(lig, col) = "" End If Next j End Sub
A voir également:
- Démultiplication de code
- Code ascii - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
Et merci !
Compte_Semaine(Num_Sem) = Compte_Semaine(Num_Sem) + Worksheets("HS").Cells(cel.Row, "E")
et un peu en dessous:
Compte_Semaine(Num_Sem) = Compte_Semaine(Num_Sem) + Worksheets("HS").Cells(cel.Row, "C")
Il est sur qu'a la fin c'est la meme chose. Il faut utiliser une autre variable pour la deuxieme ligne!!!!
Dim Compte_Semaine1(53) As Single
Compte_Semaine1(Num_Sem) = Compte_Semaine1(Num_Sem) + Worksheets("HS").Cells(cel.Row, "C")