TCD et problème de filtres

Extractions envoyées en MP. En revanche, une message indique "Erreur : ce membre n'existe pas ou ne souhaite pas être contacté par MP."

Je ne sais pas si tu les as reçu du coup...

RE

Bien reçu

Juste pour information étant donné que tu avais évoqué cette solution.

J'ai bien regardé est pas de Power Query de disponible sur mon poste. Seulement Excel.

Bonjour

PowerQuery est totalement intégré à Excel depuis 2016 : à partir de l'onglet Données...

Bonjour,

Je ne savais pas, très bien. Il n’y a aucun soucis alors.

Bonjour Chris,

Suite aux éléments communiqués, penses-tu pouvoir m'aider afin de mettre en place une solution plus viable que celle adoptée jusqu'à présent avec mon TCD?

Quoi qu'il en soit merci pour ton temps.

Bonne journée.

Bonjour

J'ai passé pas mal de temps mais, si le résultat pour le passage du 1er extrait au second est probant, reste, avant saisie sur les nouvelles lignes, le souci de reconsidérer le résultat comme nouvelle référence pour l'extrait futur.

Il faut forcément à cette étape déconnecter le résultat de la requête qui l'a généré et donc du VBA

Je continue à cogiter sur les 2 pistes : marier PowerQuery et VBA ou tout VBA

Une autre piste de réflexion : avez-vous Access dans votre pack Office ?

Bonjour,

Pour ce qui est du logiciel Access, hélas non, il n'est pas disponible.

Je ne pensais pas que cela serait si compliqué, je suis désolé de te prendre tout ce temps... Merci encore.

J'espère que cela sera tout de même à ma portée. J'aime comprendre, pas faire sans savoir faire.

Mais apprendre seul ce n'est pas évident

Bonjour

Je poste le classeur en MP

Il y a

  • l'onglet Base qui contient un tableau structuré filtrable par Segments, avec des colonnes calculées et d'autres avec des listes déroulantes pour la partie ajoutée à lextraction
  • l'onglet Références qui contient
    • la table des types de réclamations qui alimente la liste déroulante de la Base et le contenu de la colonne Service chargé du suivi et de l'avancement de Base
    • le chemin de l'extraction précédente (Import I-1) et de l'extraction à traiter (Import I)
    • le bouton de lancement (qui peut être déplacé ailleurs)
  • l'onglet Technique qui reçoit les 3 extraits traité par PowerQuery en comparant Import I-1 et Import I
    • les numéros de facture disparus à supprimer de Base
    • les numéros de factures communs dont on copie systématiquement le commentaire de la dernière extraction dans Base
    • les numéros de factures apparus à ajouter à Base
  • l'onglet Brief pour mémoire
  • le code VBA qui :
    • actualise les requêtes à partir des 2 fichiers Import I-1 et Import I ce qui met à jour l'onglet Technique
    • supprime de les lignes des facture disparues
    • met à jour le commentaire des lignes communes
    • ajoute les nouvelles lignes

Ceci part du principe que le contenu du classeur correspond aux données du fichier Import I-1mais il faut sans doute revoir ce point 0 en fonction de votre réalité

Vois déjà ce que cela donne

Bonjour Chris,

Merci pour ce travail et merci de me rappeler par la même occasion à quel point je suis nul sur Excel

Je regarde dans le détail dans la journée mais dans un premier temps ça m'a l'air top!

Mille mercis!

Première utilisation, tout est fluide et limpide.

Erreur de ma part, j'ai oublié d'intégrer un élément dans le projet. Il faudrait qu'il soit possible de visionner le montant total des retards par filtre. Explication :

- Pas de filtre = Montant total

- Filtre sur une région = Montant total pour cette région

- Filtre Code ATC = Montant total pour ce code ATC

Est-ce facilement modifiable?

Dernière chose, je n'arrive pas à changer le chemin d'accès pour les fichiers sources. Lors de l'exécution, il m'est indiqué que le document est introuvable. Je ne comprends pas tout est correct pour moi.

Bonjour

Il suffit d'activer la ligne de totaux du tableau Base et de choisir Somme dans la colonne Mnt Compta

La fonction utilisée par Excel
SOUS.TOTAL(109;[Mnt Compta])
réagit automatiquement en fonction du filtre

La ligne sous-total peut être activé/désactivée à volonté sans perdre ses formules

Sinon tu peux aussi copier cette formule dans une cellule de la ligne 1...

Dernière chose, je n'arrive pas à changer le chemin d'accès pour les fichiers sources. Lors de l'exécution, il m'est indiqué que le document est introuvable. Je ne comprends pas tout est correct pour moi.

Tu utilises bien le fichier fourni et tu modifies bien le contenu de E1 et E2 ?

Lors de nouveaux extraits : il faut remplacer la valeur en E1 par celle qui était en E2 et mettre en E2 le fichier correspondant au nouvel extrait

Attention PowerQuery est sensible à la casse

Edit : si la ligne des totaux est activée l'ajout pose problème dans mon code VBA

Le remplacer par

Option Explicit
Sub MAJ()
    Dim TBase, TKill, TComm
    Dim I As Long, J As Long, ST As Boolean
    ThisWorkbook.RefreshAll
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    With Range("Base").ListObject
        TKill = Application.Transpose(Range("Réglés").ListObject.ListColumns("Num Facture").DataBodyRange)
        TComm = Application.Transpose(Range("Communs").ListObject.DataBodyRange)
        TBase = Application.Transpose(.ListColumns("Num Facture").DataBodyRange)

        For I = UBound(TBase) To 1 Step -1
            For J = 1 To UBound(TKill)
                If TBase(I) = TKill(J) Then
                    .ListRows(I).Delete: Exit For
                End If
            Next J
        Next I

        TBase = Application.Transpose(.ListColumns("Num Facture").DataBodyRange)
        For I = UBound(TBase) To 1 Step -1
            For J = 1 To UBound(TComm, 2)
                If TBase(I) = TComm(1, J) Then
                    .ListColumns("Commentaire Piece").DataBodyRange.Cells(I, 1) = TComm(2, J): Exit For
                End If
            Next J
        Next I

        ST = .ShowTotals = True
        .ShowTotals = False
        Range("Nouveaux").ListObject.DataBodyRange.Copy Destination:=.DataBodyRange.Offset(.ListRows.Count, 0).Resize(1, 1)
        .ShowTotals = ST

    End With
    Application.Calculation = xlCalculationAutomatic
End Sub

Re,

Je ne savais pas que Power Query était sensible à la case. J'ai en effet déplacé les éléments Import I-1 et Import I ainsi que les chemins d'accès.

=> Si nécessaire, comment procéder stp pour effectuer cette action?

Petite question, Power Query est également sensible au type de fichier(xls, xlsx etc)?

Autre élément, est-il possible de faire un "nettoyage" du fichier afin de repartir le cas échant sur une base saine? J'entends par là , un nouveau fichier E1 et E2.

Bonjour

Qui plus est en relisant les commentaires Steelson parle d'un lien que tu m'as proposé, probablement lié à LIREDONNEESTABCROISDYNAMIQUE; Mais je n'ai rien?

@Rafael Carret : Je m'insère juste dans ce fil au sujet de la fonction LIREDONNEETABCROIS dont à parlé Steelson. Juste pour votre info, j'ai fait un tuto il y a quelques années à ce sujet. Consultable ici --> https://forum.excel-pratique.com/viewtopic.php?f=10&t=2574

Je vous laisse avec 78Chris

Cordialement

Bonjour DAN,

Aucun soucis, au contraire, merci pour ton aide

J'aurais bien poursuivi, mais

  • il est entre de bonnes mains
  • le fichier s'est révélé très lourd et long à ouvrir

RE

Voir mon MP avec un nouveau fichier.

Salut Dan.

Rechercher des sujets similaires à "tcd probleme filtres"