Voir la santé de mes données

bonjour ,

je souhaiterais connaitre la qualité de mes données .

Pour cela , j'ai un fichier Excel avec plusieurs onglets .

Dans chaque onglets , des valeurs , dont la 1ere colonne représente mes données(références) , style " 123545"

Pour chaque onglets j'ai une "hiérarchie " de mes écarts , de 1 à 3 , 1 étant le plus élevé.

1er Onglet : criticité 1

2eme onglets : criticité 2

3eme onglets : criticité 1

4eme onglets : criticité 3

et ainsi de suite .

Mon objectif est de pouvoir comptabiliser le nombre de référence qui a une criticité de 1 , de 2 et de 3 ( attention il est possible qu'une référence soit se retrouve dans plusieurs onglets et donc prendre la criticité la plus élevée ) . Pour un total que je choisirais .

Puis de réaliser une pondération de ces écarts . Pour au final avoir une jauge permettant de dire que nos données sont fiable à x %.

En espérant avoir été clair ( ce qui est moins sur ) et qu'une bonne âme pourra m' aider .

Merci d'avance

Bonjour,

Tu consolides tes données dans un nouvel onglet.

Tu crées ensuite un TCD et pour les champs Valeurs tu demandes le Nombre et le Max.

En espérant que cela puisse t'aider.

A te relire, peut-être avec en sus, un petit fichier.

Cdlt.

Bonjour,

Désolé de n'avoir pas respecté les règles !!

Voici un fichier en exemple .

Une des difficultés est d'éviter les doublons de ref et de ne prendre que celle qui ont une criticité la plus élevée

merci encore

15exemple.xlsx (36.35 Ko)

Bonjour,

Ci-joint une proposition à tester (même idée que Jean-Eric).

Je te laisse faire le graph

Bonne journée

Bouben

21santedonnees.xlsm (57.87 Ko)

Re,

Bonjour Bouben,

La même chose différente.

Pour le graphique, il y a un large choix sur le Web.

Cdlt.

14exemple.xlsm (31.54 Ko)
Option Explicit

Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim lo As ListObject
Dim rStart As Range, rng As Range
Dim lastRow As Long

    Application.ScreenUpdating = False
    Set lo = Me.ListObjects(1)
    If Not lo.DataBodyRange Is Nothing Then lo.DataBodyRange.Delete

    For Each ws In ActiveWorkbook.Worksheets
        If ws.Name <> Me.Name Then
            lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
            ws.Cells(1).Offset(1, 0).Resize(lastRow - 1, 2).Copy
            If lo.InsertRowRange Is Nothing Then
                Set rStart = lo.HeaderRowRange.Cells(1).Offset(lo.ListRows.Count + 1)
            Else
                Set rStart = lo.InsertRowRange.Cells(1)
            End If
            rStart.PasteSpecial xlPasteValues
            Application.CutCopyMode = False
        End If
    Next ws

    With Me.PivotTables(1)
        .PivotCache.Refresh
        Set rng = .PivotFields("Max").DataRange
    End With

    With Me
        .[I7] = Application.CountIfs(rng, 1)
        .[I8] = Application.CountIfs(rng, 2)
        .[I9] = Application.CountIfs(rng, 3)
    End With

    Set rng = Nothing: Set rStart = Nothing
    Set lo = Nothing

End Sub

super , merci a jean Eric et Bouben .

Chapeau et merci pour la réactivité

Je vais regarder pour le graphe .

Merci encore

Rechercher des sujets similaires à "voir sante mes donnees"