J’ ai une fois de plus besoin de vous.
Sur le fichier joint,chaque semaine les conducteurs (ANDRE,PAUL et LEO)
fournissent la consommation de leurs Véhicules.
Pour avoir le total de la semaine pas de difficultés (reste à savoir si la méthode est bonne).
Par contre comment faire en automatique pour ajouter chaque semaine dans les onglets Janvier,février,etc
Merci pour l’aide que vous voudrez bien m’apporter
Bonjour,
Ton principe de conception n’est pas très ergonomique pour ce genre de travail
En laissant les feuilles des chauffeurs pour la compta par semaine
–> Une macro qui récupère les données sur un onglet pour la totalité de l’année (toutes les semaines)
-Macro obligatoire pour fixer les données.
Sur un autre onglet, un TCD avec un filtre par semaine voir même une Chronologie pour sélectionner plusieurs semaines
Sinon, c’est passer par macro complète.
Ensuite savoir qu’il peut y avoir 53 semaines dans une année.
Suite à tes conseils,j’ai crée une macro qui copie le mois de janvier dans les cases adéquates de l’onglet Total semaine cumulées.
Mais qu’en sera t’ il des autres semaines dois je faire une macro pour chaque semaine ,et comment les copier dans les cases correspondantes (cases forcement vides)?
Pour le tableau croisé dynamique,je découvre en meme temps donc ce n’est pas gagné.
Ton avis et tes conseils m’ intéressent.
Je joins le fichier avec les modifications
Merci encore et bonne soirée.
'Déclaration des variables
Dim Dl%, i%
Dim wb As Workbook, ws As Worksheet
Set wb = ThisWorkbook
Application.ScreenUpdating = False
For Each ws In wb.Sheets 'Boucle sur les onglets du classeur
'sauf certains onglets
If ws.Name <> "Total semaine en cours" Or ws.Name <> "total_semaine_cumulées" Or ws.Name <> "TCD" Then
Dl = Feuil5.Range("B" & Rows.Count).End(xlUp).Row 'Derniére ligne de la feuille 5
For i = 5 To Dl 'boucle sur les N° semaine
'si le N° semaine et le noms correspondent
If Feuil5.Cells(i, 2).Value = ws.Range("C2").Value And Feuil5.Cells(i, 3).Value = ws.Range("C4").Value Then
ws.Range("F15:H15").Copy 'je copie la plage (Km - GO - Ess)
Sheets(5).Select 'et je colle les valeurs dans la feuille 5
Sheets(5).Cells(i, 4).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End If
Next i
End If
Next ws
Sheets("TCD").Select 'je sélectionne la feuille TCD pour la mise à jour
Range("B3").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Range("A1").Select
Sheets("total_semaine_cumulées").Select
Application.ScreenUpdating = True
End Sub
Le fichier tel qu’il est correspond au résultat attendu.
Quand je le transpose sur le fichier original en modifiant certaines valeurs (parce que fichier différend),les difficultés commencent. Copie d’une ligne identique sur la totalité des noms d’une meme semaine.
Pour remédier à cela j’aurais besoin de comprendre cette partie
For i = 5 To Dl 'boucle sur les N° semaine
'si le N° semaine et le noms correspondent
If Feuil5.Cells(i, 2).Value = ws.Range(“C2”).Value And Feuil5.Cells(i, 3).Value = ws.Range(“C4”).Value Then
ws.Range(“F15:H15”).Copy 'je copie la plage (Km - GO - Ess)
Sheets(5).Select 'et je colle les valeurs dans la feuille 5
Sheets(5).Cells(i, 4).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Dans le classeur que tu présentes, la macro est détaillée avec ses indices
Si tu n’est pas capable de le reproduire à l’identique dans ton classeur par manque de connaissance
place un classeur qui représente ta demande et non pas une copie qui ne se trouve pas avec les mêmes indices
Bonjour Mimimathy
Merci pour la patience accordée
Je reviens vers toi avec un fichier qui est très proche du fichier original
Résultat escompté
A L’aide d’une macro
1 Obtenir dans la feuille Total_semaines_cumulées les données de chaque chef d’équipe (L5:V5 des semaines successives.
2 Mettre à jour le Tableau croisé dynamique
Sera il possible une fois que la macro est finalisée de rajouter des chefs d’ équipes (en modifiant au préalable le tableau de destination (Total_semaines_cumulées), la macro permet elle cela?
Merci encore bonne journée.
Cordialement Test Ceiste - A.xlsm (84,1 Ko)
> Sera il possible une fois que la macro est finalisée de rajouter des chefs d’ équipes (en modifiant au préalable le tableau de destination (Total_semaines_cumulées), la macro permet elle cela?
Si tu rajoutes des chefs d’équipes, il faudra reprendre l’onglet Total_semaines_cumulées toutes les semaines pour l’intégrer.
Une macro n’est pas un programme “Intuitif” qui devine ce que tu as envie de mettre dans ta tête et qui le reproduit
Une macro reproduit ce qu’on lui demande de faire avec des cellules, plages, onglets, classeur, etc qui sont connues
Évite aussi de modifier les noms des onglets (majuscule par exemple) le VBA est sensible à la casse des majuscule, chose qui n’est pas dans le tableur.
Merci pour les services rendus,après migration vers le fichier original cela fonctionne bien,
ce problème est donc résolu.
Je retiens pour la suite qu’il faudrait présenter sur le forum une copie qui ressemble de très prés à l’original,histoire de ne pas revenir plusieurs fois sur le même fichier et de ne pas te faire gaspiller de l’énergie et du temps inutilement.
Merci encore