Notifications
Clear all

Historico de compras do cliente

18 Posts
2 Usuários
0 Reactions
3,758 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Ola, de novo pedindo a ajuda .

Em anexo esta um formulario ao qual gostaria de puxar o historico de compras dos clientes.
Agradeço a ajuda em colocar para funcionar, pois nao consegui fazer devido ter multiplos critérios.

O criterio 1 será pelo Codigo do Cliente

Devera ser observado que a ordem que vai aparecer na ListView será os mais recentes em primeiro, conforme esta na aba Vendas feitas, observando-se o recibo e sua data que tb estao na aba Vendas Feitas.

Se puderem novamente me ajudar , ficarei como sempre feliz.

Na coluna A de Plan1, coloquei os codigos dos Clientes que serao usados em Plan1.Range("D4") .

Andre

 
Postado : 17/06/2017 9:13 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

fazerbem,

Boa tarde!

Pra começar, algumas coisas que não entendi no seu arquivo:
1 - La na aba Plan1 você colocou um texto dizendo "Os codigos da coluna A serao escolhidos na celula D5", entretanto, no arquivo enviado o código está na célula D4. Afinal, como é que é isso de verdade? Que célula estará no seu arquivo real?
2 - Ainda na aba Plan1, no primeiro quadro de texto, você diz "Porem perceba que na ListView aparece o Fabricante e este estara na Aba Produtos. ao qual seu fabricante sera puxado para dentro da list View pelo seu codigo."
Na aba Vendas Feitas, colunas N e O você tem o código e o nome do produto. Nessa aba o código do produto Suco Detox Nº 5 é 340 (imagem abaixo). Na aba Produtos, entretanto, o código do produto Suco Detox Nº 5 é 55 (imagem abaixo). Como é isso? Como pode puxar o nome do fabricante do produto com códigos diferentes?

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 17/06/2017 1:16 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Wagner vc ta certo em tudo, e que fiz as oressas ja fechando a ooja.

Pra começar, algumas coisas que não entendi no seu arquivo:
1 - La na aba Plan1 você colocou um texto dizendo "Os codigos da coluna A serao escolhidos na celula D5", entretanto, no arquivo enviado o código está na célula D4. Afinal, como é que é isso de verdade? Que célula estará no seu arquivo real?

Aqui o correto é de fato D4

2 - Ainda na aba Plan1, no primeiro quadro de texto, você diz "Porem perceba que na ListView aparece o Fabricante e este estara na Aba Produtos. ao qual seu fabricante sera puxado para dentro da list View pelo seu codigo."
Na aba Vendas Feitas, colunas N e O você tem o código e o nome do produto. Nessa aba o código do produto Suco Detox Nº 5 é 340 (imagem abaixo). Na aba Produtos, entretanto, o código do produto Suco Detox Nº 5 é 55 (imagem abaixo). Como é isso? Como pode puxar o nome do fabricante do produto com códigos diferentes?

Aqui o correto e o codico 340, desconsidere os codogos na coluna A de plan1

Desculpe

 
Postado : 17/06/2017 1:58 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Tudo bem. Tranquilo. As perguntas são apenas porque em programação os mínimos detalhes são importantes. Do contrário o código pode não funcionar quando transferido para o arquivo real.

No caso, aconselho então, quando você tiver um tempo adequado, postar aqui o arquivo com os dados corretos com os códigos corretos. Para fazer programação, precisamos nos referenciar pelos códigos e da forma que está fica complicado.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 17/06/2017 2:32 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Segue a planilha

 
Postado : 17/06/2017 3:43 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

fazerbem,

Bom dia!

Solicitamos, por gentileza, não utilizar a ferramenta CITAR em suas respostas. Não há necessidade disso. Essa ferramenta deve ser utilizada apenas para se destacar trechos que não ficaram claramente entendidos.

Quanto a sua demanda, o arquivo remetido é o mesmo ou a questão dos códigos dos produtos está do mesmo jeito e a célula na Plan1 onde você digita o código do cliente que deverá ser pesquisado, que você afirma na sua postagem que no seu arquivo é D4, agora está em C4.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 18/06/2017 4:57 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Perfeito, agora fiz certo aqui, dessa vez sai uma resposta.

Ao precionar a MACRO, gostaria que dentro de list View aparecesse uma filtragem somente dos produtos comprados pelo Codigo do Produto 340, se outro codigo digitado, entao outros produtos. Porem perceba que na ListView aparece o Fabricante e este estara na Aba Produtos. ao qual seu fabricante sera puxado para dentro da list View pelo seu codigo.

Os codigos da coluna N em vendas feitas serao escolhidos na celula D4 e pesquisados na ABA Vendas Feitas. Perceba que em Vendas Feitas o Codigo 340 aparece mais de 1 vez entao ao abrir a ListView ira aparecer 1 abaixo do outro.

Grato pelas correções observadas, pois de fato confundem mesmo !

Andre

 
Postado : 18/06/2017 7:13 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Pois é... uma comunicação só escrita é complexa de entendimento se não for muito bem redigida e não tiver nos mínimos detalhes... principalmente quando essa comunicação é sobre um pedido de programação.

Se você tivesse feito assim desde o começo nós não teríamos desperdiçado tantas mensagens nesse vai e vem.

Fiz conforme seu último pedido. Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 18/06/2017 10:13 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Opa Wagner era isso mesmo !!! porem digitando os codigos 319, 65 e 286 a QNT sai no sabor , nao aparece o fabricante e demais aparece, trocados e total fica zerado

vou tentar solucionar mais tarde mas se puder ajeitar agradeço.

desde ja desculpe por quaisquer coisa e meu muito obrigado de novo.

Andre

 
Postado : 18/06/2017 10:56 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

aqui ele pula
If Sheets("Produtos").Range("A" & j).Value = Sheets("Plan1").Range("D4").Value Then
'Caso positivo, coloca o nome do fabricante (coluna C da planilha Produtos) na _
coluna 5 do Listview
li.ListSubItems.Add Text:=(Sheets("Produtos").Range("C" & j).Value) ´aqui pula se usar algum codigo com sabor

 
Postado : 18/06/2017 11:08 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Mudei assim e parece que funcionou, mas analisa se esta td correto mesmo.

Private Sub UserForm_Initialize()
    '====================================================================================
    'Macro Desenvolvida em 18/07/2017 por Wagner Morel para carregar dados em um listview
    '====================================================================================
    'Declaração de variáveis
    Dim i As Long
    Dim j As Long
    Dim UltimaLinhaVendas As Long
    Dim UltimaLinhaProdutos As Long
    Dim li As ListItem
    
    'Armazena a última linha com dados, pela coluna N da planilha Vendas Feitas
    UltimaLinhaVendas = Sheets("Vendas Feitas").Cells(Cells.Rows.Count, 3).End(xlUp).Row
    'Garante que os dados comecam na linha 2
    If UltimaLinhaVendas < 2 Then UltimaLinhaVendas = 2
    
    'Armazena a última linha com dados, pela coluna A da planilha Produtos
    UltimaLinhaProdutos = Sheets("Produtos").Cells(Cells.Rows.Count, 1).End(xlUp).Row
    'Garante que os dados comecam na linha 2
    If UltimaLinhaProdutos < 2 Then UltimaLinhaProdutos = 2
    
    'Adiciona o nome e a largura das colunas
      With ListView1
        .Gridlines = True
        .View = lvwReport
        .FullRowSelect = True
        .ColumnHeaders.Add Text:="COD", Width:=30
        .ColumnHeaders.Add Text:="Data", Width:=70, Alignment:=2
        .ColumnHeaders.Add Text:="Recibo", Width:=50, Alignment:=2
        .ColumnHeaders.Add Text:="Produto", Width:=150, Alignment:=2
        .ColumnHeaders.Add Text:="Fabricante", Width:=100, Alignment:=2
        .ColumnHeaders.Add Text:="QNT", Width:=30, Alignment:=2
        .ColumnHeaders.Add Text:="Sabor", Width:=66, Alignment:=2
        .ColumnHeaders.Add Text:="Apres.", Width:=50, Alignment:=2
        .ColumnHeaders.Add Text:="Unit", Width:=50, Alignment:=2
        .ColumnHeaders.Add Text:="Total", Width:=50, Alignment:=2
    End With

    'Limpa o ListView
    ListView1.ListItems.Clear
    
    'Laço para preencher os dados das vendas
    For i = 2 To UltimaLinhaVendas
        'Verifica se o código contido em cada uma das células da coluna N é igual o código que está em D4
        If Sheets("Vendas Feitas").Range("C" & i).Value = Sheets("Plan1").Range("D4").Value Then
            'Caso positivo, coloca o código da coluna N (código do produto) na primeira coluna do ListView
            Set li = ListView1.ListItems.Add(Text:=Sheets("Vendas Feitas").Range("N" & i).Value)
            'Coloca o valor da coluna E (Data da Venda) na segunda coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("E" & i).Value)
            'Coloca o valor da coluna B (RECIBO) na terceira coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("B" & i).Value)
            'Coloca o valor da coluna O (PRODUTO) na quarta coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("O" & i).Value)
            'Laço para percorrer as linhas da planilha Produtos para buscar o fabricante
            For j = 2 To UltimaLinhaProdutos
                'Verifica se o código do produto na planilha Produtos (coluna A) é igual ao código do _
                do produto (coluna N) que está na célula D4 (Plan1)
              '  If Sheets("Produtos").Range("A" & j).Value = Sheets("Plan1").Range("D4").Value Then
                    'Caso positivo, coloca o nome do fabricante (coluna C da planilha Produtos) na _
                    coluna 5 do Listview
                    li.ListSubItems.Add Text:=(Sheets("Produtos").Range("C" & j).Value)
              '   End If
                Exit For
            Next
            'Coloca o valor da coluna P (QNT) na sexta coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("P" & i).Value)
            'Coloca o valor da coluna Q (Sabor) na sétima coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("Q" & i).Value)
            'Coloca o valor da coluna R (Caps) na oitava coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("R" & i).Value)
            'Coloca o valor da coluna S (Unidade) na nona coluna do ListView
            li.ListSubItems.Add Text:=Format((Sheets("Vendas Feitas").Range("S" & i).Value), "#,##0.00")
            'Coloca o valor da coluna T (Total Unitário) na décima coluna do ListView
            li.ListSubItems.Add Text:=Format((Sheets("Vendas Feitas").Range("T" & i).Value), "#,##0.00")
        End If
    Next
End Sub

a sim terei que por os codigos e datas em todas as linhas mas isso e e comigo aqui.

obrigado

Andre

 
Postado : 18/06/2017 11:33 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

WAGNER mando a tabela com a correcao a unica coisa que esta pegando e que o fabricante esta indo errado so isso.
para isso digite o codigo do cliente 135 e vai entender.

grato

 
Postado : 18/06/2017 11:44 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

consegui aqui Wagner

Private Sub UserForm_Initialize()
    '====================================================================================
    'Macro Desenvolvida em 18/07/2017 por Wagner Morel para carregar dados em um listview
    '====================================================================================
    'Declaração de variáveis
    Dim i As Long
    Dim j As Long
    Dim UltimaLinhaVendas As Long
    Dim UltimaLinhaProdutos As Long
    Dim li As ListItem
    
    'Armazena a última linha com dados, pela coluna N da planilha Vendas Feitas
    UltimaLinhaVendas = Sheets("Vendas Feitas").Cells(Cells.Rows.Count, 3).End(xlUp).Row
    'Garante que os dados comecam na linha 2
    If UltimaLinhaVendas < 2 Then UltimaLinhaVendas = 2
    
    'Armazena a última linha com dados, pela coluna A da planilha Produtos
    UltimaLinhaProdutos = Sheets("Produtos").Cells(Cells.Rows.Count, 1).End(xlUp).Row
    'Garante que os dados comecam na linha 2
    If UltimaLinhaProdutos < 2 Then UltimaLinhaProdutos = 2
    
    'Adiciona o nome e a largura das colunas
      With ListView1
        .Gridlines = True
        .View = lvwReport
        .FullRowSelect = True
        .ColumnHeaders.Add Text:="COD", Width:=30
        .ColumnHeaders.Add Text:="Data", Width:=70, Alignment:=2
        .ColumnHeaders.Add Text:="Recibo", Width:=50, Alignment:=2
        .ColumnHeaders.Add Text:="Produto", Width:=150, Alignment:=2
        .ColumnHeaders.Add Text:="Fabricante", Width:=100, Alignment:=2
        .ColumnHeaders.Add Text:="QNT", Width:=30, Alignment:=2
        .ColumnHeaders.Add Text:="Sabor", Width:=66, Alignment:=2
        .ColumnHeaders.Add Text:="Apres.", Width:=50, Alignment:=2
        .ColumnHeaders.Add Text:="Unit", Width:=50, Alignment:=2
        .ColumnHeaders.Add Text:="Total", Width:=50, Alignment:=2
    End With

    'Limpa o ListView
    ListView1.ListItems.Clear
    
    'Laço para preencher os dados das vendas
    For i = 2 To UltimaLinhaVendas
        'Verifica se o código contido em cada uma das células da coluna N é igual o código que está em D4
        If Sheets("Vendas Feitas").Range("C" & i).Value = Sheets("Plan1").Range("D4").Value Then
            'Caso positivo, coloca o código da coluna N (código do produto) na primeira coluna do ListView
            Set li = ListView1.ListItems.Add(Text:=Sheets("Vendas Feitas").Range("N" & i).Value)
            'Coloca o valor da coluna E (Data da Venda) na segunda coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("E" & i).Value)
            'Coloca o valor da coluna B (RECIBO) na terceira coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("B" & i).Value)
            'Coloca o valor da coluna O (PRODUTO) na quarta coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("O" & i).Value)
            'Laço para percorrer as linhas da planilha Produtos para buscar o fabricante
             For j = 2 To UltimaLinhaProdutos
                'Verifica se o código do produto na planilha Produtos (coluna A) é igual ao código do _
                do produto (coluna N) que está na célula D4 (Plan1)
                  If Sheets("Produtos").Range("A" & j).Value = li Then  ' Sheets("Plan1").Range("D4").Value Then
                    'Caso positivo, coloca o nome do fabricante (coluna C da planilha Produtos) na _
                    coluna 5 do Listview
                    li.ListSubItems.Add Text:=(Sheets("Produtos").Range("C" & j).Value)
                  End If
       '          Exit For
             Next
            'Coloca o valor da coluna P (QNT) na sexta coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("P" & i).Value)
            'Coloca o valor da coluna Q (Sabor) na sétima coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("Q" & i).Value)
            'Coloca o valor da coluna R (Caps) na oitava coluna do ListView
            li.ListSubItems.Add Text:=(Sheets("Vendas Feitas").Range("R" & i).Value)
            'Coloca o valor da coluna S (Unidade) na nona coluna do ListView
            li.ListSubItems.Add Text:=Format((Sheets("Vendas Feitas").Range("S" & i).Value), "#,##0.00")
            'Coloca o valor da coluna T (Total Unitário) na décima coluna do ListView
            li.ListSubItems.Add Text:=Format((Sheets("Vendas Feitas").Range("T" & i).Value), "#,##0.00")
        End If
    Next
End Sub
 
Postado : 18/06/2017 12:41 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Vou deixar aqui a quem possa interessar e meus agradecimentos a vc Wagner por mais esta ajuda.

Andre

 
Postado : 18/06/2017 12:48 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

desculpe ficou um erro ainda perceba que na ListView em QNT fica preenchido errado o 1 item restante fica correto. Usei o Codigo cliente 62 .

Estou tentando aqui achar o erro se achar antes agradeco

andre

 
Postado : 18/06/2017 12:59 pm
Página 1 / 2