Boucle et function pour charger des photos .

romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009 - 7 avril 2009 à 20:33
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009 - 28 avril 2009 à 08:30
Bonsoir tout le monde,

j'essaye de faire un code me permettant de charger des photos ( 10 20 30
40 peu importe) dans des images.picure ( rebaptisés photo1.picture ,
photo2.picture etc...)

je veux que la photo 1 soit dans le photo1picture etc...

j'ai essayé avec le code suivant , j'ai créer une fonction charger(i)

et puis je l'appelle quand je clique sur un bouton ....

et là c'est le drame... ça ne fonctionne pas.....

je précise que j'ai débuté hier en VBA,

Si vous pouviez m'aider avec une bonne explication svp ....

Merci

------------------------------------

function charger(i As Byte)

               Controls("photo" & i).Picture = LoadPicture(ThisWorkbook.Path & "\images" & i & ".gif")

End function

---------------------------------

Private Sub CommandButton10_Click()

      for a = 1 to 100

 

              Call charger(a)

       next

End Sub

2 réponses

cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
8 avril 2009 à 01:00
salut

L'erreur vient du nom du fichier, car "i" est un byte et non un string

LoadPicture(ThisWorkbook.Path & "\images" & i & ".gif")

il faut donc écrire

LoadPicture(ThisWorkbook.Path & "\images" & CStr(i) & ".gif")

CStr est une fonction de conversion d'une expression en String
0
romain3430 Messages postés 16 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 31 août 2009
28 avril 2009 à 08:30
Salut,

Ça ne venait pas de là, car les noms de fichiers sont des nombres.... cela venait du fait que ma fonction été dans un module, et que je n'avais pas mis la référence de l'userform  :

---------------

function charger(i As Byte)
               userform1.Controls("photo" & i).Picture = LoadPicture(ThisWorkbook.Path & "\images" & i & ".gif")
End function

-------------

Private Sub CommandButton10_Click()

      for a = 1 to 100
 
              Call charger(a)

       next

End Sub

------

Merci en tout cas !
0
Rejoignez-nous