• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

foto of plaatje koppelen aan klantnummer

Status
Niet open voor verdere reacties.

franssack

Gebruiker
Lid geworden
1 jun 2021
Berichten
58
Goedemorgen,

Misschien dat iemand mij kan helpen. Ik kwam dit voorbeeldbestand tegen en nu wil ik weten of je bij ieder klantnummer in kolom A een verschillend plaatje kan laten ophalen.
Dus wat ik zoek is bij nummer 11 plaatje 1, 22 plaatje 2, 33 plaatje 3 enz, enz.
Bijgaand ff het voorbeeldbestand.


Gr, Frans
 

Bijlagen

Gebruik de macrorecorder eens om een plaatje in het werkblad te zetten.
 
Hoi,

Dat is niet wat ik wil, ik probeer een code te maken zodat ik in het userform bij het selecteren van een nummer automatisch de foto krijg van die daar aan is gekoppeld.
 
Hierbij een voorbeeldje.

De plaatjes staan niet in het werkboek, dat zou bij honderden of meer plaatjes veel te log worden en dus traag.

De plaatje staan in DEZELFDE map als het werkboek en hebben de zelfde naam als het klantnummer, of wat je maar wilt.


Dit werkt vanwege de code Workbook.Path helaas niet in een cloud omgeving of OneDrive, dan moet je een exacte adressering gebruiken.
Dus plaats deze bijgevoegde map bijvoorbeeld eens in de root, bv C:\

Dus je maakt een map bv C:\Fotonummer en daarin plaats je deze sheet en bv drie foto`s met de namen 11.jpg 22.jpg en 33.jpg

Of pak het zip bestand uit in een locale map...

Succes
 

Bijlagen

Laatst bewerkt:
Foto of plaatje

Beste franssack
Hierbij een voorbeeldje wat je misschien kunt gebruiken in combinatie met de vorige tekst.
Nu kun je ook de gegevens van de klant weergeven.
Mijn foto's staan wel op het werkblad omdat er niet veel klantnamen worden gebruikt.
De foto dus gewoon aanpassen en invoegen.
Succes.
 

Bijlagen

Bedankt voor jullie energie, maar net niet wat ik zoek.
Wat ik zoek is dat het plaatje zichtbaar wordt in het userform en niet het blad zelf.
Daarnaast komt het werkbestand hoogstwaarschijnlijk in een OneDrive omgeving, dus moet ff kijken hoe ik dit ga aanvliegen.
 
Dat kan dan zo:
Code:
Private Sub TextBox1_AfterUpdate()
    If TextBox1.Text <> "" Then
        pic = ThisWorkbook.Path & "\" & TextBox1.Text & ".jpg"
        If Dir(pic) <> "" Then
            Image1.Picture = LoadPicture(pic)
        Else
            Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Leeg.jpg")
        End If
    Else
        Image1.Picture = LoadPicture(ThisWorkbook.Path & "\Leeg.jpg")
    End If
End Sub
 
Mijn voorkeur:

Code:
Private Sub TextBox1_Change()
  c00 = ThisWorkbook.Path & "\" & TextBox1 & ".jpg"
  If Dir(00) <> "" Then Image1.Picture = LoadPicture(c00)
End Sub
 
Zoals vermeld in mijn eerste antwoord:
ThisWorkbook.Path werkt (althans bij mij) in een OneDrive omgeving. Dan moet je het exacte adres gebruiken of eea in locale.
 
Code werk, bedankt! en net wat je zegt, werkt niet in een OneDrive omgeving.
ff puzzelen hoe ik dit ga oplossen.
 
Ik heb een aanpassing gemaakt naar jou formulier. Stond niet in je vraag.

Plaats deze ook in dezelfde map. De oude mag overschreven...
 

Bijlagen

Super! - thnx, zit alleen nog even te puzzelen hoe ik dit in een OneDrive omgeving werkend ga maken.
 
Zoals gezegd: gebruik een volledig pad zonder ThisWorkbook.Path

Dus bv : ="c:\mijnpad\mijnbestand"
 
Mogelijk maar soms wilt Excel het internet adres van je OD map.

Het beste is dan:

Ga in de Verkenner naar je root, dus c:
Dan doorklikken per stap omhoog, bv Users
Ik
OneDrive
Bureaublad
Mijnmap

Dan met de muis rechts klikken in de adres balk
Kopiëren
En in je VBA code plakken tussen de ""
En uiteraard nog aanvullen met \bestand.xlsb
 
Dit geprobeerd
Code:
Private Sub ListBox1_Click()
 TextBox1.Value = ListBox1.Column(0)
 TextBox3.Value = ListBox1.Column(1)
 TextBox4.Value = ListBox1.Column(2)
 
Dim strFileJPG As String
strFileJPG = ThisWorkbook.Path = "C:\Users\frsa1\OneDrive - bedrijf naam\test" & "\" & ListBox1.Column(0) & ".jpg"
If Dir(strFileJPG) <> "" Then Me.Image1.Picture = LoadPicture(strFileJPG) Else Me.Image1.Picture = LoadPicture(vbNullString)
End Sub

Private Sub UserForm_Initialize()
 ListBox1.List = Blad2.ListObjects(1).DataBodyRange.Value
End Sub
, maar doet niets. Ik zal vast iets fout doen. Alles staat in 1 map.
 
Verander

Code:
strFileJPG = ThisWorkbook.Path = "C:\Users\frsa1\OneDrive - bedrijf naam\test" & "\" & ListBox1.Column(0) & ".jpg"

eens in

Code:
strFileJPG =  "C:\Users\frsa1\OneDrive - bedrijf naam\test\ & ListBox1.Column(0) & ".jpg"

Zoals gezegd: Thisworkbook.Path niet gebruiken
 
Thnx... dit werkt super.
Ik loop nu alleen tegen het probleem aan dat deze code alleen bij mij werkt (frsa1) en niet bij een collega, is daar nog iets op te verzinnen?
 
Dat is lastig...
Je kunt natuurlijk twee keer dezelfde code plaatsen met andere gebruikersnaam,

maar dan wordt alleen het bestand bij de gebruiker aangepast, dus niet bij allebei.

Ik ga er nog mee stoeien.

Er zijn uiteraard veel helpers die van deze materie meer weten dan ik.

Misschien kan zoiets ook met Office 365. Daar heb ik niet veel kennis van...

Wel kun je een inputbox in de code zetten, maar dan blijft staan dat alleen het plaatselijke bestand wordt aangepast..
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan