Ajout de données d'un tableau brute actualisé vers d'autres tableaux

Bonjour,

Mon tableau réalise le suivi dosimétrique de personne sur site nucléaire, il consiste à créer à partir d'un tableau brute (provenant d'un rapport csv) où on collerai et remplacerai des données chaque mois. Cela créé un nouvel onglet avec second tableau par mois structuré et mise en forme avec deux boutons.

J'aimerais explorer une solution plus avancée. Idéalement, je voudrais avoir la possibilité, à l'aide de ces deux boutons, d'intégrer les données du second tableau dans un troisième et un quatrième tableau filtré en fonction de la société C ou D.

Je pourrais simplement copier-coller les données en les filtrant par société et par mois, puis calculer les totaux cumulés sur 3 et

12 mois. Cependant, un problème se pose : les données brutes peuvent varier d'un mois à l'autre en raison de nouveaux arrivants ou de départs.

Cela risque de modifier ou d'écraser les données cumulées existantes. Il serait donc nécessaire de figer ces données et de mettre en place un processus de vérification pour éviter toute altération.

N'hésiter pas si vous avez une meilleur solution.

En PJ, le fichier à jour et anonymisé (le module GlobalCumulé n'est pas fonctionnel)

Merci d'avance,

Bonjour

en regardant votre fichier, je ne comprends pas trop pourquoi vous supprimez votre feuille Société CD 2024
Puisque vous avez un tableau structuré pourquoi ne mettez vous pas à jour ce tableau en réimportant les données brutes ?

est-ce que j'ai bien compris ce que vous voulez faire

Cordialement

Bonjour Dan,

J'ai surtout régénéré le deuxième onglet en entier pour pour pouvoir tester le code, cela m'évite de le supprimer à chaque essais.
Dans une utilisation normal, les données du deuxième tableau sera remplacé une fois par mois.

Le troisième et quatrième doivent se remplir avec le deuxième tableau. Mais les données risque de changer d'un moi à un autre.

Cordialement,

J'ai surtout régénéré le deuxième onglet en entier pour pour pouvoir tester le code, cela m'évite de le supprimer à chaque essais.
Dans une utilisation normal, les données du deuxième tableau sera remplacé une fois par mois.

Si j'ai compris on peut garder l'entête et ne remplacer que les données dans le tableau. On a pas besoin de supprimer l'onglet et de le recréer

Exactement , du moment que les formules de l'entête prennent bien en compte les nouvelles données

Cordialement,

Ok. Est-ce que je peux considérer le nom de la feuille Societe_CD sans l'année

Oui, c'est juste un repère , prenez la liberté de le modifier, nous verrons s'il manque des choses ensuite, considéré que toutes ces données brutes sont traitées à la main pour le moment.

Ce fichier doit pouvoir être utilisé dans le temps de manière très simple.

Cordialement,

Re

Voici le code pour exporter les données vers la feuille SOCIETE CD
J'ai ajouté un code RAZ pour supprimer les données au préalable de la feuille SOCIETE CD

Une fois les codes placés dans un module, vous devez lier votre bouton qui se trouve sur la feuille Donnees brutes

Option Explicit
Sub Raz()
Feuil3.ListObjects(1).DataBodyRange.Delete
End Sub

Sub exporter()
Dim wssource As Worksheet
Dim dlg As Integer, i as integer
Dim plage As Range
Dim colonne()
Dim j As Byte

Call Raz 'effacement des donnees en feuille Societe CD

' Spécifiez l'onglet source (Donnees brutes)
Set wssource = ThisWorkbook.Sheets("Donnees brutes")
dlg = wssource.Cells.SpecialCells(xlCellTypeLastCell).Row 
Set plage = wssource.Range("A9:O" & dlg)'definir plage
colonne = Array(3, 11, 10, 13) 'definir les colonnes a importer

ReDim tablo1(dlg - 9, 7)

For i = 0 To dlg - 9
    With plage
            For j = 0 To UBound(colonne)
                tablo1(i, j) = .Item(i + 1, colonne(j))
            Next j
    End With
Next i

colonne = Array(5, 6)
ReDim tablo2(dlg - 9, 1)
j = 0
For i = 0 To dlg - 9
    With plage
        tablo2(i, j) = .Item(i + 1, colonne(j)) & " " & .Item(i + 1, colonne(j) + 1)
    End With
Next i

'ajouter les donnees
With Feuil3.ListObjects(1)
    .ListRows.Add
    .DataBodyRange(1, 2).Resize(UBound(tablo1), 4) = tablo1
    .DataBodyRange.Resize(UBound(tablo2), 1) = tablo2
End With
End Sub

Quelques questions pour les deux autres feuilles:
- je suppose que l'on se base sur la colonne Raison Sociale ? Si oui, on doit placer les données uniquement sur les 5 première colonnes, juste ?
- La colonne Cumul 3 mois vient de quelle colonne ?
- La colonne CAT c'est la colonne Classement ?
- Doit-on ajouter les données dans les feuilles C et D ou doit-on d'abord vider les feuilles avant de réimporter depuis la feuille CD
- Peut-on faire un seul code pour charger les deux feuilles C et D ou voulez-vous avoir un choix via 2 boutons ?

Rechercher des sujets similaires à "ajout donnees tableau brute actualise tableaux"