Image contrôle

Bonjour à toutes et à tous

Je suis nouveau sur le forum.

J’ai un petit souci dans un fichier Excel que j’ai conçu en VBA j’ai réussi à rechercher dans un dossier image des photos par apport à leurs noms cela fonctionne cependant quand je demande un nom qui n’est pas dans le dossier j’ai un message d’erreur (erreur d’exécution 53) fichier introuvable.

Là où je bloc c’est que je voudrai sélectionner une photo par défaut dans le même dossier plus un message d’alerte quand je demande un nom non répertorié.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$F$2" Then

répertoirePhoto = "C:\Users\laurent\Pictures\aisser exel"

Me.Image1.Picture = LoadPicture(répertoirePhoto & "\" & Target & ".jpg")

End If

End Sub

Bonjour,

Il te suffit de créer une image contenant un sigle d'alerte que tu nommes "Alerte.jpg"

et d'ajouter à ta macro un ELSE comme l'exemple ci- dessous

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$F$2" Then
    répertoirePhoto = "C:\Users\laurent\Pictures\aisser exel"
    Me.Image1.Picture = LoadPicture(répertoirePhoto & "\" & Target & ".jpg")
  Else
    Me.Image1.Picture = LoadPicture(répertoirePhoto & "\Alerte.jpg")
  End If
End Sub

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$2" Then
répertoirePhoto = "C:\Users\laurent\Pictures\aisser exel"

if Dir(répertoirePhoto ) <>"" Then
Me.Image1.Picture = LoadPicture(répertoirePhoto & "\" & Target & ".jpg")
Else
MsgBox "Aucune photo ne porte ce nom"
End If

End Sub

Tu peux bien sur remplacer le message box par l'affichage d'une photo par défaut quand il ne trouve pas

dans ce cas tu lui indique le chemin et l'image de remplacement :

Me.Image1.Picture = LoadPicture("C:\Users\laurent\Pictures\aisser exel\defaut.jpg")

il suffit d'avoir une image toute blanche ou toute noire enregistrée sous le nom defaut.jpg

Il bug toujour sur

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$F$2" Then

répertoirePhoto = "C:\Users\laurent\Pictures\aisser exel"

Me.Image1.Picture = LoadPicture(répertoirePhoto & "\" & Target & ".jpg")

Re,

Voici un modèle tout fait, il te suffit de modifier pour les liens et le dossier

https://mon-partage.fr/f/8OG0wu5f/

Bizzare ton premier commentaire semblait dire que cela fonctionnait mais pas quand le nom de l'image n'existe pas

tu es sur du nom du sous répertoire ? "aisser exel" d'autant que d'ordinaire un essai c'est mieux ?

  • Vérifier le chemin si il est bien correcte.
  • Ajouter la variable 'Maphoto" afin de pouvoir vérifier lors d'un "pas à pas ce que excel trouve.
  • Que contient F2 ? le nom de l'image sans l'extension "jpg" ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$2" Then
répertoirePhoto = "C:\Users\laurent\Pictures\aisser exel"
Maphoto=range("F2").value

if Dir(répertoirePhoto ) <>"" Then
Image1.Picture = LoadPicture(répertoirePhoto & "\" & Maphoto & ".jpg")
Else
MsgBox "Aucune photo ne porte ce nom"
Image1.Picture = LoadPicture("C:\Users\laurent\Pictures\aisser exel\defaut.jpg")
End If

End Sub

Re,

Ou aussi avec une image dans le même dossier nommée Alerte.jpg

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$F$2" Then
     répertoirePhoto = "C:\Users\Public\Pictures\Sample Pictures"
     On Error GoTo suite
     Me.Image1.Picture = LoadPicture(répertoirePhoto & "\" & Target & ".jpg")
   Else
suite:
     Me.Image1.Picture = LoadPicture(répertoirePhoto & "\Alerte.jpg")
   End If
End Sub

Re,

Ou aussi avec une image dans le même dossier nommée Alerte.jpg

Bien sur M12 Alerte.jpg ou Defaut.jpg le principe est le même j'ai juste ajouté la varaible "Maphoto" pour

vérification en cas de macro lancé en "pas à pas"

plus facile de relire le chemin et le nom de fichier

Merci bien vous ête des as

ceci fonctionne à merveille

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$F$2" Then
     répertoirePhoto = "C:\Users\laurent\Pictures\aisser exel"
     On Error GoTo suite
     Me.Image1.Picture = LoadPicture(répertoirePhoto & "\" & Target & ".jpg")
   Else
    MsgBox "Aucune photo ne porte ce nom"
suite:
Me.Image1.Picture = LoadPicture(répertoirePhoto & "\Alerte.jpg")
   End If
End Sub

Je suis content de mettre inscri et voir des personnes comme vous partager leurs connaissance.

Rechercher des sujets similaires à "image controle"