Notifications
Clear all

"procv" de imagens numa planilha de dados

7 Posts
1 Usuários
0 Reactions
1,531 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!

Já procurei em todo o fórum e não encontrei uma solução de busca de mais de uma imagem numa mesma planilha. Exemplo:

Tenho um relatório com aproximadamente 730 funcionários, onde gostaria de incluir a foto ao lado de cada um deles, com referência em sua matrícula (mesmo nome da foto, que está na rede).

Com base na pesquisa que fiz aqui, fiz um relatório que faz essa busca, mas somente 1 imagem por vez, em determinada posição (no script ele aponta as coordenadas da posição onde a foto aparecerá).

A planilha de dados é simples, pode ser definida apenas como : Nome, Matrícula

E gostaria que a imagem de referência aparecesse na mesma linha, na célula ao lado do nome. Para todos os 730 funcionários... Alguém pode me ajudar com isso?

Muito obrigado!

 
Postado : 08/06/2016 1:24 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite,

Já tentou adaptar as seguintes soluções?

PROCV com Imagem no Excel
Procv com imagens
Procura Vertical (PROCV) com imagens
Lista Dinâmica Excel com Imagens – Procv com Imagens

Abraço

 
Postado : 08/06/2016 3:31 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!

Dei uma olhada nos links, e o que mais se aproxima do que eu preciso é esse aqui:

http://www.mprinformatica.com.br/blog/i ... m-imagens/

Minha dúvida é a seguinte: NOs comentários ele diz que pode replicar o código e criar várias crontroles no active x...

Preciso de uma forma de replicar este código para todas as células da coluna de referência, pra não ter que "copiar e colar" todo o código e modificar item a item... :/

Private Sub Worksheet_Change(ByVal Target As Range)
‘Lembrando que target é a referência para a célula modificada

‘verifica se a célula que contém o número do cliente foi modificada
‘Nesse caso é a célula B1
If Target.Row = 1 And Target.Column = 2 Then
‘Carrega imagem de acordo com o caminho indicado na procura vertical
‘A função LoadPicture carrega um caminho de imagem na propriedade Picture
‘O seu uso é necessário
imgfoto.Picture = LoadPicture(Range(“B3”).Value)
End If
End Sub
 
Postado : 09/06/2016 7:04 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Inclui esse arquivo que retirei do link que postei acima, e inclui uma planilha com a visão que eu preciso...

A minha base de dados tem aproximadamente 750 linhas, preciso que o código leia todas e me retorne a respectiva imagem... :roll:

 
Postado : 09/06/2016 7:18 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Não entendi, porque no modelo que colocou faz o que está escrito "ESSE É O EXEMPLO, ONDE MODIFICARIA O NÚMERO DO CLIENTE E MUDARIA A IMAGEM...", ao digtar em "B1" em B3 é retornado o caminho da imagem que está na aba tabela e carrega a imagem.
De qualquer forma, de uma olhada no link abaixo, tem vários modelos e alguns identicos ao que pretende.

http://boisgontierjacques.free.fr/pages ... images.htm

[]s

 
Postado : 09/06/2016 7:06 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Muito obrigado, Mauro!

Já vi que tem vários modelos e vou tentar adaptar ao meu trabalho. Valeu!

Não entendi, porque no modelo que colocou faz o que está escrito "ESSE É O EXEMPLO, ONDE MODIFICARIA O NÚMERO DO CLIENTE E MUDARIA A IMAGEM...", ao digtar em "B1" em B3 é retornado o caminho da imagem que está na aba tabela e carrega a imagem.
De qualquer forma, de uma olhada no link abaixo, tem vários modelos e alguns identicos ao que pretende.

http://boisgontierjacques.free.fr/pages ... images.htm

[]s

 
Postado : 10/06/2016 7:59 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Para encerrar o tópico, consegui resolver com este código:
Agora só falta colocar um script para deletar as imagens quando atualizar! ;) :lol: :lol: :lol:

Sub ImportImages()
ActiveSheet.DrawingObjects.Delete
  répertoirePhoto = "c:mesdoc"
  nf = Dir(répertoirePhoto & "*.jpg") ' premier fichier
  Range("b2").Select
  Do While nf <> ""
    Set img = ActiveSheet.Pictures.Insert(répertoirePhoto & nf)
    img.Top = ActiveCell.Top
    img.Left = ActiveCell.Left
    img.Name = Left(nf, Len(nf) - 4) ' Donne un nom à l'image
    ActiveCell.Offset(0, -1) = Application.Proper(Left(nf, Len(nf) - 4))
    ActiveCell.EntireRow.RowHeight = img.Height + 2
    nf = Dir ' suivant
    ActiveCell.Offset(1, 0).Select
  Loop
End Sub
 
Postado : 10/06/2016 11:25 am