Simplification code VBA

Bonjour

Quelqu'un peut il m'aider a simplifier ce code, svp?

Merci

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("G2").Value <> "" Then
Image1.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G2").Value & ".jpg")
End If

If Range("G3").Value <> "" Then
Image2.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G3").Value & ".jpg")
End If

If Range("G4").Value <> "" Then
Image3.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G4").Value & ".jpg")
End If

If Range("G5").Value <> "" Then
Image4.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G5").Value & ".jpg")
End If

If Range("G6").Value <> "" Then
Image5.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G6").Value & ".jpg")
End If

If Range("G7").Value <> "" Then
Image6.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G7").Value & ".jpg")
End If

If Range("G8").Value <> "" Then
Image7.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G8").Value & ".jpg")
End If

If Range("G9").Value <> "" Then
Image8.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G9").Value & ".jpg")
End If

If Range("G10").Value <> "" Then
Image9.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G10").Value & ".jpg")
End If

If Range("G11").Value <> "" Then
Image10.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G11").Value & ".jpg")
End If

If Range("G12").Value <> "" Then
Image11.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G12").Value & ".jpg")
End If

If Range("G13").Value <> "" Then
Image12.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G13").Value & ".jpg")
End If

If Range("G14").Value <> "" Then
Image13.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G14").Value & ".jpg")
End If

If Range("G15").Value <> "" Then
Image14.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G15").Value & ".jpg")
End If

If Range("G16").Value <> "" Then
Image15.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G16").Value & ".jpg")
End If

If Range("G17").Value <> "" Then
Image16.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G17").Value & ".jpg")
End If

If Range("G18").Value <> "" Then
Image17.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G18").Value & ".jpg")
End If

If Range("G19").Value <> "" Then
Image18.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G19").Value & ".jpg")
End If

If Range("G20").Value <> "" Then
Image19.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G20").Value & ".jpg")
End If

If Range("G21").Value <> "" Then
Image20.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G21").Value & ".jpg")
End If

If Range("G22").Value <> "" Then
Image21.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G22").Value & ".jpg")
End If

If Range("G23").Value <> "" Then
Image22.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G23").Value & ".jpg")
End If

If Range("G24").Value <> "" Then
Image23.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G24").Value & ".jpg")
End If

If Range("G25").Value <> "" Then
Image24.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G25").Value & ".jpg")
End If

If Range("G26").Value <> "" Then
Image25.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G26").Value & ".jpg")
End If

If Range("G27").Value <> "" Then
Image26.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G27").Value & ".jpg")
End If

If Range("G28").Value <> "" Then
Image27.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G28").Value & ".jpg")
End If

If Range("G29").Value <> "" Then
Image28.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G29").Value & ".jpg")
End If

If Range("G30").Value <> "" Then
Image29.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G30").Value & ".jpg")
End If

If Range("G31").Value <> "" Then
Image30.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G31").Value & ".jpg")
End If

If Range("G32").Value <> "" Then
Image31.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G32").Value & ".jpg")
End If

If Range("G33").Value <> "" Then
Image32.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G33").Value & ".jpg")
End If

If Range("G34").Value <> "" Then
Image33.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G34").Value & ".jpg")
End If

If Range("G35").Value <> "" Then
Image34.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G35").Value & ".jpg")
End If

If Range("G36").Value <> "" Then
Image35.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G36").Value & ".jpg")
End If

If Range("G37").Value <> "" Then
Image36.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G37").Value & ".jpg")
End If

If Range("G38").Value <> "" Then
Image37.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G38").Value & ".jpg")
End If

If Range("G39").Value <> "" Then
Image38.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G39").Value & ".jpg")
End If

If Range("G40").Value <> "" Then
Image39.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G40").Value & ".jpg")
End If

If Range("G41").Value <> "" Then
Image40.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G41").Value & ".jpg")
End If

If Range("G42").Value <> "" Then
Image41.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G42").Value & ".jpg")
End If

If Range("G43").Value <> "" Then
Image42.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G43").Value & ".jpg")
End If

If Range("G44").Value <> "" Then
Image43.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G44").Value & ".jpg")
End If

If Range("G45").Value <> "" Then
Image44.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G45").Value & ".jpg")
End If

If Range("G46").Value <> "" Then
Image45.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G46").Value & ".jpg")
End If

If Range("G47").Value <> "" Then
Image46.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G47").Value & ".jpg")
End If

If Range("G48").Value <> "" Then
Image47.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G48").Value & ".jpg")
End If

If Range("G49").Value <> "" Then
Image48.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G49").Value & ".jpg")
End If

If Range("G50").Value <> "" Then
Image49.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G50").Value & ".jpg")
End If

If Range("G51").Value <> "" Then
Image50.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G51").Value & ".jpg")
End If

If Range("G52").Value <> "" Then
Image51.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G52").Value & ".jpg")
End If

If Range("G53").Value <> "" Then
Image52.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G53").Value & ".jpg")
End If

If Range("G54").Value <> "" Then
Image53.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G54").Value & ".jpg")
End If

If Range("G55").Value <> "" Then
Image54.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G55").Value & ".jpg")
End If

If Range("G56").Value <> "" Then
Image55.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G56").Value & ".jpg")
End If

If Range("G57").Value <> "" Then
Image56.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G57").Value & ".jpg")
End If

If Range("G58").Value <> "" Then
Image57.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G58").Value & ".jpg")
End If

If Range("G59").Value <> "" Then
Image58.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G59").Value & ".jpg")
End If

If Range("G60").Value <> "" Then
Image59.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G60").Value & ".jpg")
End If

If Range("G61").Value <> "" Then
Image60.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G61").Value & ".jpg")
End If

If Range("G62").Value <> "" Then
Image61.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G62").Value & ".jpg")
End If

If Range("G63").Value <> "" Then
Image62.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G63").Value & ".jpg")
End If

If Range("G64").Value <> "" Then
Image63.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G64").Value & ".jpg")
End If

If Range("G65").Value <> "" Then
Image64.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G65").Value & ".jpg")
End If

If Range("G66").Value <> "" Then
Image65.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G66").Value & ".jpg")
End If

If Range("G67").Value <> "" Then
Image66.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G67").Value & ".jpg")
End If

If Range("G68").Value <> "" Then
Image67.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G68").Value & ".jpg")
End If

If Range("G69").Value <> "" Then
Image68.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G69").Value & ".jpg")
End If

If Range("G70").Value <> "" Then
Image69.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G70").Value & ".jpg")
End If

If Range("G71").Value <> "" Then
Image70.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G71").Value & ".jpg")
End If

If Range("G72").Value <> "" Then
Image71.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G72").Value & ".jpg")
End If

If Range("G73").Value <> "" Then
Image72.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G73").Value & ".jpg")
End If

If Range("G74").Value <> "" Then
Image73.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G74").Value & ".jpg")
End If

If Range("G75").Value <> "" Then
Image74.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G75").Value & ".jpg")
End If

If Range("G76").Value <> "" Then
Image75.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G76").Value & ".jpg")
End If

If Range("G77").Value <> "" Then
Image76.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G77").Value & ".jpg")
End If

End Sub

Bonjour,

Un test malgré que sans fichier nous travaillons à l'aveugle.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim IMAGE$
If Not Application.Intersect(Target, Range("G2:G77")) Is Nothing Then
    If Not IsEmpty(Target.Value) Then
    IMAGE = "Image" & Target.Row - 1
    IMAGE.Picture = LoadPicture("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G" & Target.Row).Value & ".jpg")
    End If
End If
End Sub

Cdlt,

Bonjour et merci mais cela ne fonctionne pas, voir image. merci

erreur 1

Bonjour,

Il n'est à priori pas possible de remplacer une image par un autre par VBA. Comme expliqué, sans fichier difficile de tout reproduire.

Une alternative :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("G2:G77")) Is Nothing Then
    If Not IsEmpty(Target.Value) Then
        Shapes("Image" & Target.Row - 1).Delete
        Pictures.Insert("C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\" & Range("G" & Target.Row).Value & ".jpg").Select
        Selection.Name = "Image" & Target.Row - 1
    End If
End If
End Sub

Cdlt,

bonjour,

Essaie :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim k%, chemin$
chemin = "C:\Users\thierry\Desktop\a sauvegarder\monnaies\france\nouveau\"
If Not Application.Intersect(Target, Range("G2:G77")) Is Nothing Then
    If Not IsEmpty(Target.Value) Then
      k = Target.Row - 1
      ActiveSheet.DrawingObjects("Image" & k).Object.Picture = LoadPicture(chemin & k & ".jpg")
    End If
End If
End Sub

Testé et approuvé !

A+

Bonjour galopin,

Merci pour le coup de main ! Si je comprend bien, ton code veut donc dire que les images sont des objets de formes/dessins ?

Je ne pensais pas comme le menu contextuel sur Excel affichait Outils de dessin pour les formes et Outils d'image pour les images !

Merci beaucoup.

Passe une bonne journée !

Bonjour

Ca me signale une erreur, voir image.

Merci

erreur 2

Bonjour galopin,

Merci pour le coup de main ! Si je comprend bien, ton code veut donc dire que les images sont des objets de formes/dessins ?

Je ne pensais pas comme le menu contextuel sur Excel affichait Outils de dessin pour les formes et Outils d'image pour les images !

Merci beaucoup.

Passe une bonne journée !

Non, ce ne sont pas des dessins, ce sont des imanges insérées via "devellopeur/insérer/controle activex/image"

Merci

Oui ça n'a rien à voir avec la traduction littérale : C'est une ancienne syntaxe entrée dans l'oubli. Et pour l'erreur sur cette ligne il fallait remplacer k par :

Target.Row).Value

A+

Toujours pareil, ca ne fonctionne pas.

Merci

Ça ne fonctionne pas n'est pas une réponse : Il se passe forcément quelque chose : Quel est le message d'erreur ?

On peut supposer que rien d'autre n'ayant changé on est toujours sur cette ligne :

ActiveSheet.DrawingObjects("Image" & k).Object.Picture = LoadPicture(chemin & Target).Value & ".jpg")

Vous pouvez aussi essayer cette autre syntaxe supposée être identique ?

ActiveSheet.DrawingObjects("Image" & k).Object.Picture = LoadPicture(chemin & Range("G" & Target.Row).Value & ".jpg")

Ça me signale une erreur ? Quelle erreur ? Texte du message SVP.

Bonjour

Cela fonctionne. Merci a tous

Rechercher des sujets similaires à "simplification code vba"