Listing filtré dans une nouvelle feuille

Bonjour,

Je dispose d'un document Excel avec diverses feuilles qui se rapportent à des listings de produits de catégories différentes par onglet.

Ce document permet de commander des produits en fonction d'un nombre encodé à la main dans une colonne commande fournisseur (colonne "8")

Je tente avec une macro qui est à exécuter (avec un bouton d'activation) de notifier dans un onglet "COM TRE BOISSONS", tous les produits dont le nombre à commander est <> de "" (rien) afin d'envoyer au fournisseur seulement le listing des produits nécessaires avec leur code (colonne 4), désignation (colonne 7) et quantité désirée (colonne "8").

J'ai pour ce faire cette macro mais elle bug dès le premier "if" :

Pourriez-vous m'aider svp ...

Dans l'attente,

Bonne journée et merci,

Loadlucas

Sub COMTRENDBOISSONS()
        Dim d As Object, k, n%, i%, j%, wbf$, clr&, Tpm()
        Application.EnableEvents = False
        With ThisWorkbook.Worksheets("BOISSONS")
            n = .Cells(.Rows.Count, 4).End(xlUp).Row
            clr = RGB(0, 0, 0)
                For i = 3 To n
                k = .Cells(i, 4)
                If d.exists(k) <> "" Then
                    If CDbl(d(k)) <> "" Then
                        .Cells(i, 8).Interior.Color = clr
                        j = j + 1: ReDim Preserve Tpm(2, j)
                        Tpm(0, j) = k: Tpm(1, j) = .Cells(i, 7): Tpm(2, j) = .Cells(i, 8)
                    End If
                End If
            Next i
        End With

        If j = 0 Then Exit Sub
        Tpm(0, 0) = "CODE": Tpm(1, 0) = "Désignation": Tpm(2, 0) = "Commande"
        With Worksheets("COM TRE BOISSONS")
            .UsedRange.Clear
            With .Range("A1:C" & j + 1)
                .Value = WorksheetFunction.Transpose(Tpm)
                .Columns(1).HorizontalAlignment = xlCenter
                .Columns(2).AutoFit
                .Rows(1).HorizontalAlignment = xlCenter
                .Borders.Weight = xlThin
            End With
        End With
        Application.EnableEvents = True
    End Sub
Rechercher des sujets similaires à "listing filtre nouvelle feuille"