Bonjour,

je vous expose mon problème en espérant que vous pourrez m'aider.

sur une feuille j'ai 36 controls active x image.picture .
Pour afficher l'image dans une control j'utilise le code suivant sachant que le nom du jpg viens de la feuil "BD" col 10 et ligne x defini plus haut :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Fichier1 = "C:\xxxxxx\picto\" & Worksheets("BD").Cells(pos, 10).Value & ".jpg"
 
    'Vérifie si le fichier existe.
      If Dir(Fichier1) <> "" Then
 
        'si le fichier existe, il est chargé pour visualisation.
 
        Image4.Picture = LoadPicture(Fichier1)
     Else
        'Sinon, affiche aucune image.
        Image4.Picture = LoadPicture("")
 
    End If
cela fonctionne très bien

mais je ne trouve pas le moyen de faire une boucle pour que le control suivant c'est à dire image5.picture puissent afficher l'image dont le nom viens de la page BD même ligne mais colonne11 , image6.picture puissent afficher l'image dont le nom viens de la page BD même ligne mais colonne12 , ect......

je ne sais pas si mes explications sont claires mais et je m'en excuse

merci de votre aide


j'ai testé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Dim Fichier1 As String
    Dim i As Byte
    Dim a As Integer
     a = 9
   For i = 3 To 38
          Fichier1 = "C:\Users\jaushua_fixe\Documents\picto\interdiction\" & Worksheets("BD").Cells(pos, a).Value & ".jpg"
  'Vérifie si le fichier existe.
          If Dir(Fichier1) <> "" Then
               Sheets("Fiche").Shapes("image" & i).Picture = LoadPicture(Fichier1)
        Else
             Sheets("Fiche").Shapes("image" & i).Picture = LoadPicture("")
       End If
  a = a + 1
Next i
Mais j'ai une "erreur 448 objet ou méthode non gérée par cette objet" sur la ligne 11