Conception d'un fichier avec de valeurs qui changent chaque semaine

Bonjour

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

Bonne journée

Test_ceiste.xlsx (23,1 Ko)

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.

Merci Mimimathy

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.

Test_ceiste -1.xlsm (125,6 Ko)

Bonjour,

A tester

Macro :

'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

Test Ceiste.xlsm (43,2 Ko)

Bonjour Mimimathy

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

Merci
Bonne fin de journée

Re,

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)

Bonjour,

A tester
Test Ceiste - A.xlsm (81,7 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.

Bonjour Mimimathy

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

Bonne fin de journée
Cordialement

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.