Copier une ligne entière dans un onglet en fonction de mot clé

je suis juste curieux (en ma qualité de Black Belt lean manufacturing & lean office, désolé pour ce franglais) de savoir comment on peut rebâtir et simplifier

@Black Belt Officer,

En ayant connaissance du dossier complet, du pourquoi du comment des données, de la façon de les remplir, compléter, consulter, qui, que, quoi, donc, où... choses parfois ô combien difficiles à obtenir!

Tu as sans doute raison : une bonne BDD et quelques feuilles suffiraient probablement.

Question subsidiaire : ai-je le temps de jouer, moi qui ne suis qu'un obscur anonyme?

Réponse : vite cpin! Et bien... avant que le soufflé ne retombe!

A+

Bonsoir curulis57,

Je vais envoyer le dossier complet anonymisé mais j'ai besoin un peu de temps dans une heure à peu près surtout ne fais pas retombé le soufflé je m'en occupe de suite

A+

Bonsoir

J'ai anonymisé le dossier : les tableaux sont identiques dans les onglets, il y a un onglet P puis un onglet T correspondant. Pour chaque onglet P il y a une nombre de ligne totalement différent en fonction de l'onglet P. par contre la structuration des onglets sont identiques (colonne identique). Au départ ce fichier sert à renseigner un R (risque) en face duquel correspond plusieurs A (actions), à partir de là, il y a un responsable de nommer avec un tableau de Gatt. A ce jour il y a 25 onglets P.

Pour l'instant deux seules personnes remplissent ce tableau. Ce tableau s'alimente au jour le jour.

L'objectif de ces calculs est de connaitre en instantanée le taux de réalisation du P (soit le nombre de A réalisé par rapport au nombre prévu) à la fin du 1er trimestre du 2ème et 3ème et en fin d'année (voilà le pourquoi de mes calcul dans le module 1)

Ensuite j'ai souhaité quand un instant t, le responsable sache le travail restant voilà pourquoi j'ai demandé de réaliser un tableau dans filtre des noms faisant apparaître les A restant pour un responsable donné.

En dernier lieu le top serait que quand le responsable a son tableau, il le mette à jour sur l'onglet filtre des noms et que cette mise à jour se fasse dans l'onglet correspondant : c'est à dire si j'ai une ligne 4 P1 rouge, la personne réalise le A et alors il passe la case rouge en vert et que ce vert se mette à jour aussi dans l'onglet P1 ligne 4.

J'espère que j'ai été claire dans mes explications je vous joins une copie du tableau anonymisé avec l'ensemble des onglets P de 1 à 17H.

A+

la pièce jointe même zippé est trop volumineuse : help !

Essaie de passer par le site CJOINT.COM !

https://www.cjoint.com/c/HEAvGKElaFj

en espérant que ce soit bon

A+

Salut cpin,

ton fichier est passé!

Malheureusement, j'ai constaté que les tableaux-statistiques en 'P...' ne sont pas tous placés dans les mêmes colonnes : certains commencent en [AO], d'autres en [AL], d'autres encore n'ont pas le tableau pour 2019. Cela met le bouzin dans le potage!

Procure-moi un fichier unifié, stp! Je n'ai pas le temps de jouer à ça!

A part cela, j'ai fait ce que tu demandais, à savoir la mise à jour directe entre le filtre et le 'P...' correspondant.

Question : veux-tu que l'écran bascule sur le 'P...' dès la mise à jour ou préfères-tu que l'utilisateur reste sur 'Filtre' pour continuer sa consultation?

Suite au prochain numéro...

A+

Merci Christelle pour ce fichier et ces explications.

Tu es la seule juge ... mais en effet on pourrait simplifier la maintenance de ces nombreuses données au prix d'une refonte complète de leur organisation. Ce qui te permettrait de dégager du temps (on atteint facilement 50% -j'ai été jusqu'à 95% dans certains cas !-) et te consacrer à la maîtrise des processus.

Je ne "comprends" pas la signification de toutes les colonnes, mais je vais m'attacher dans les jours qui suivent à montrer sur un cas sans doute plus simple ce qu'il est possible de faire. Il faudrait en effet une collaboration étroite pour mettre ceci avec le minimum de macro et de formules, en utilisant les filtres avancés, et les MFC, voire un TCD pour la synthèse.

Je rends néanmoins hommage à l'excellentissime travail de curulis57 !

Bonjour,

J'ai unifié le tableau désolé : toutes mes cellules commencent en AL pour 2018 et AZ pour 2019. Par contre je préfère qu'il reste sur filtre pour continuer à consulter.

https://www.cjoint.com/c/HEBpOB57Mwj

Je te remercie infiniment

A+

Salut cpin,

voilà ton fichier de retour.

Pour ta dernière demande, dans 'Filtre', un clic sur une cellule-couleur (pas blanche!) bascule dans la couleur inverse, également en 'P...' avec actualisation du calcul-statistiques.

Pour aller dans un 'P...' quelconque à partir de 'Filtre', un clic dans la cellule souhaitée en [C].

Bien évidemment, cette version implique que le monde s'arrête de tourner le 31/12/2018!!! Rien n'est prévu pour le passage en 2019!!!

On peut y réfléchir ou, comme le suggérait Steelson, tu repenses l'organisation générale de tes feuilles 'P...' et 'T...' afin de pouvoir créer une BDD de toutes ces données qui permettrait de réduire considérablement le nombre de feuilles, d'accélérer le traitement en 'Filtre' et bien d'autres avantages que Steelson énumérait très justement.

Avec plaisir,

A+

Bonjour,

j'ai commencé à y travailler, mais je suis encore très très loin du compte !

je ne connais pas en effet toutes les fonctions

je laisse un brouillon ... si dans l'avenir tu souhaitais simplifier la gestion chronophage de ton fichier, n'hésite pas (que ce soit moi, curulis ou un autre expert)

l'idée ici est de

  • rassembler en un onglet (des MFC allègent la présentation)
  • extraire dans un autre onglet en fonction de critères (processus, responsable etc.) = pas fait
  • faire des synthèses d'avancement (je n'ai pas calculé le % car je n'ai pas compris la formule)

Salut cpin, steelson,

macro corrigée à coller dans le module de 'Filtre'.

Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim tData
Dim sData As String, sNom As String, sSheet As String
'
Application.EnableEvents = False
Application.ScreenUpdating = False
'
If Not Intersect(Target, Range("D6")) Is Nothing Then               'si changement en [D6]
    sNom = Target                                                  'sData = nom
    iRow = Range("D" & Rows.Count).End(xlUp).Row                    'fond de la colonne [C] pour nettoyage...
    If iRow > 24 Then                                               '... si c'est déjà rempli
        Range("A25:F" & iRow).ClearContents
        Range("G25:R" & iRow).Interior.Color = xlNone
        Range("A25:R" & iRow).Borders.LineStyle = xlNone
    End If
    iRow = 24
    'préparation pour nouvel affichage
    For x = 1 To Sheets.Count
        If Left(Sheets(x).Name, 1) = "P" Then
            sSheet = Sheets(x).Name                                     'choix des feuilles à scanner...
            With Worksheets(sSheet)
                For y = 4 To .Range("K" & Rows.Count).End(xlUp).Row     '... jusqu'au fond de la colonne [K]
                    If InStr(.Cells(y, 11), sNom) > 0 Then                      'si cellule contient sNom
                        sData = .Cells(y, 11)
                        If Right(sData, 1) <> Chr(10) Then sData = .Cells(y, 11) & Chr(10)
                        tData = Split(sData, Chr(10))
                        If WorksheetFunction.CountIf(.Range("M" & y).Resize(1, 12), "2") > 0 Then
                            iRow = iRow + 1                                 'ligne d'affichage
                            Cells(iRow, 3) = sSheet & "  -  " & y           'nom feuille + ligne
                            Cells(iRow, 4) = sNom                           'nom
                            For Z = 5 To 6
                                If .Range(IIf(Z = 5, "D", "J") & y).MergeCells Then
                                    Cells(iRow, Z) = .Range(IIf(Z = 5, "D", "J") & y).MergeArea.Cells(1, 1)
                                Else
                                    Cells(iRow, Z) = .Range(IIf(Z = 5, "D", "J") & y).Value      'risque
                                End If
                            Next
                            For Z = 1 To 12                                 'couleurs
                                Cells(iRow, 6 + Z).Interior.Color = .Cells(y, 12 + Z).Interior.Color
                            Next
                            If UBound(tData) > 1 Then
                                For Z = 0 To UBound(tData) - 1
                                    If Trim(tData(Z)) <> sNom Then
                                        iRow = iRow + 1
                                        Cells(iRow, 4) = tData(Z)
                                    End If
                                Next
                            End If
                        End If
                    End If
                Next
            End With
        End If
    Next
    iRow = Range("D" & Rows.Count).End(xlUp).Row
    If iRow > 24 Then Range("C25:R" & iRow).Borders.LineStyle = xlContinuous
End If
'
Application.ScreenUpdating = True
Application.EnableEvents = True
'
End Sub

@Steelson : joli essai!

Je dois maintenant trouver l'inspiration pour terminer un travail pour Aziler. Je reviens après pour suivre ceci de près.

A+

@Steelson : joli essai!

non, symphonie inachevée ...

Spoiler
symphonieinachevee

Bonsoir curulis57 et steelson

Je suis en train de réfléchir parce qu'effectivement le nouveau fichier de curulis57 répond en totalité à mon besoin : maintenant j'essaie de voir comment faire ces tableaux à partir d'une base de donnée j'ai déjà utilisé access mais j'aimerai le faire sur excel et vous solliciter pour faire le lien car vous êtes des pros...

En fait j'ai une cartographie des risques en lien avec des processus pré définis : dans chaque processus des risques sont définis pour lequel j'ai des actions avec des responsables qui à leur tour ont un tableau de gantt pour réaliser les actions.

Au final il faut que l'on puisse intégrer dans une base des risques avec des actions et un responsable et que chaque responsable puisse voir son tableau d'actions. Je sais pas si je suis assez claire mais je vais voir avec le travail débuté ce que je peux faire tout en sachant que le programme me plait bien sauf qu'il est long en terme de réalisation mais vous pouvez pas vous imaginer comme cela me simplifie la tache j'aimerai arriver au même résultat par une BDD.

A+

Bonjour,

Je n'arrive plus à accéder à cjoint avec le fichier modifié. Pourriez vous le renvoyer merci

Bonjour,

merci pour l'envoi

Rechercher des sujets similaires à "copier ligne entiere onglet fonction mot cle"