Exporter des résultats stockés dans une table ds un nouvel onglet

Bonjour à tous,

J’aimerais pouvoir exporter des résultats stockés dans une table et les afficher dans un nouvel onglet.

Explications :

J’ai un portefeuille Excel avec plusieurs opérations. Une opération a un Code Père (CP) et plusieurs opérations peuvent avoir le même code père.

Je stocke dans une table différentes données du portefeuille (table Data_WH (i,j,0)). Puis j'effectue une série de tests et stocke les résultats de ces tests dans la table (Data_WH (i,j,1)). Ces tests et leurs résultats sont dans le fichier « Module_TestCP.vb » ci-joint.

J'aimerais réaliser une fonction qui crée un nouvel onglet excel avec la liste des opérations, regroupées par Code Père, pour lesquelles les tests présentent des anomalies cad où les tests ne sont pas « OK ».

En d'autres termes, je voudrais afficher dans un nouvel onglet un tableau regroupant les Codes Pères, puis les années concernées avec à côté le résultats des tests de la table où ceux-ci ne sont pas "OK".

Je vous transmets le fichier « Module_TestCP.vb » comportant les tests et leurs résultats.dans la table Data_WH (i,j,1).

Merci pour votre aide.

Benoit

11module-testcp.txt (1.99 Ko)

bonjour

explications embrouillées et pas de fichier xlsx joint, du coup tu n'as pas d'aide

fais un xlsx exemple, simplifié. Avec le résultat attendu.

Bonjour,

Ci joint un fichier excel avec le portefeuille en question et un onglet avec le résultat souhaité.

Dans le code "Module_TestCP" envoyé dans le message précédent je fais plusieurs tests pour savoir si les opérations répondent à certains critères.

Tests effectués :

- Code Père <= 5 minutes Perdues par voie

Je stocke le résultats de ces tests dans la table Data_WH (9,9,1) (cf Module_TestCP).

Ce que je souhaite c'est extraire les résultats des tests de cette table et les exporter/afficher dans un nouvel onglet. Je ne souhaite afficher que les anomalies, cad les résultats des tests qui ne sont pas "OK"(cf Module_TestCP) à la manière de l'onglet "Résultat souhaité" dans l'excel joint.

Merci

8portefeuille.xlsx (38.40 Ko)

bon,

pas clair "Data_WH (9,9,1) (cf Module_TestCP)"

ma suggestion : ajouter des colonn1;1;0)s dans l'onglet de saisie

nouvelle colonne 1 = test1 = SI(test1;1;0)

idem 2, 3 et 4

et dernière colonne = somme des 4

filtrer ou faire un TCD

ou bien des SPOMMEPROD()

tu connais ?

Merci de ta réponse jmd.

Je connais la fonction SOMMEPROD() mais ne vois pas comment l'utiliser dans mon cas.

En fait je récupère dans ma table Data_WH (i,j,0) les différents éléments de mon portefeuille et dans ma table Data_WH (i,j,1) je fais des tests et stocke les résultats de ces tests (par ex : "Coût trop faible", "Coût trop elevé", "Plusieurs Compte F", ""Chantier générant plus de 220 jours de chantier" ...). Je veux ensuite afficher les résultats des tests issus de cette table dans un nouvel onglet que j'appelle "Rapport Anomalies".

Je vous transmets le code que j'ai commencé à créer. Mais je ne sais pas comment associer chaque anomalie à la bonne année. Puis à associer l'anomalie au bon Code Père.

'Création d'un onglet Rapport Anomalies
Sub AjouterFeuilleDerriereUneAutreFeuille()
Sheets.Add.Name = "Rapport Anomalies" After:=Worksheets("Portefeuille") 'ajoute une Feuille "Rapport Anomalies" derrière la Feuille "Portefeuille"
End Sub

'Définition tailles des colonnes
Worksheets("Rapport Anomalies").Columns("A:A").ColumnWidth = 15
Worksheets("Rapport Anomalies").Columns("B:B").ColumnWidth = 15
Worksheets("Rapport Anomalies").Columns("C:C").ColumnWidth = 30

'Fonction qui permet de restituer les résultats des anomalies dans un nouvel onglet
'A faire : Associer avec CP et année : 2 boucles à faire ? 
Function Restit(Data_WH)
    Dim Data_WH(9,9,1) as variant
    'Balayage de la table
    for i = 1 to 9 
        for j= 1 to 9
            If Data_WH(i,j,1)<> "OK" Then  'On ne traite que les anomalies
                If j=0 Then 'Restitution des années dans la 2ème clonne. Les anomalies sont dans la 3ème colonne de l'onglet Rapport Anomalie
                Worksheets("Rapport Anomalie").Cells(i1, 2).Value = Data_WH(i,1,0)
                Else If j=1 Then 'Anomalie colonne des euros
                Worksheets("Rapport Anomalie").Cells(i1, 3).Value = Data_WH(i,1,1) & " -  Coût : " & Data_WH(i,1,0) & "€"
                Else If j=2 Then 'Anomalie colonne des comptes C6
                Worksheets("Rapport Anomalie").Cells(i1, 3).Value = Data_WH(i,2,1) & " - Comptes F :" & Data_WH(i,2,0)
                Else If j=3 Then 'Anomalie colonne FEM 
                Worksheets("Rapport Anomalie").Cells(i1, 3).Value = Data_WH(i,3,1) & " - FEM associées :" & Data_WH(i,3,0)
                Else If j=4 Then 'Anomalie Nb de jour de chantier
                Worksheets("Rapport Anomalie").Cells(i1, 3).Value = Data_WH(i,4,1) & " - Chantier de :" & Data_WH(i,4,0) & " jours"
                Else If j=5 Then 'Anomalie Minutes perdues Voie Unique
                Worksheets("Rapport Anomalie").Cells(i1, 3).Value = Data_WH(i,5,1) & " - " & Data_WH(i,5,0) & " minutes perdues"
                Else If j=6 Then 'Anomalie Minutes perdues Voie 1
                Worksheets("Rapport Anomalie").Cells(i1, 3).Value = Data_WH(i,6,1) & " - " & Data_WH(i,6,0) & " minutes perdues"
                Else If j=7 Then 'Anomalie Minutes perdues Voie 2
                Worksheets("Rapport Anomalie").Cells(i1, 3).Value = Data_WH(i,7,1) & " - " & Data_WH(i,7,0) & " minutes perdues"
                Else If j=8 Then 'Anomalie Minutes perdues Voie Autres
                Worksheets("Rapport Anomalie").Cells(i1, 3).Value = Data_WH(i,8,1) & " - " & Data_WH(i,8,0) & " minutes perdues"
            End if
        Next j
    Next i    

End    

re

plutôt que ton code, joins un fichier exemple simple avec des mots compréhensibles

et un exemple du résultat attendu.

Rechercher des sujets similaires à "exporter resultats stockes table nouvel onglet"