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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Bonjour Romain,
Je te propose un exemple, et pour ce faire j'ai fait quelques suppositions :
A ) que tu as des contrôles "Image" dans ta feuille de calcul qui proviennent de la barre d'outils "Contrôles"
B ) Que dans ton répertoire, tu as suffisamment d'images pour en afficher une par contrôle.
'----------------------------------------------- Sub test()
Dim Pc As Object Dim Chemin As String Dim NbControl As Integer Dim X As Integer
'Indique où sont tes images Chemin = "C:UsersDMDocuments" 'S'ils sont dans le même répertoire que ton fichier excel Chemin = ThisWorkbook.Path & ""
'Cette section cherche à compter le nombre de contrôle "Image" 'que tu as parmi toutes les "shapes" de la Feuil2 'Feuil2 n'est pas le nom de l'onglet de la feuille mais la propriété 'Name de l'objet Feuille visible dans l'éditeur de code
For Each Sh In Feuil2.OLEObjects If TypeName(Sh.Object) = "Image" Then NbControl = NbControl + 1 End If Next
'Identifier la première image de ton répertoire 'à toi de définir l'extension de tes fichiers images Fichier = Dir(Chemin & "*.jpeg")
'Boucle jusqu'au moment où tous les contrôles images 'auront eu leur image Do While X <= NbControl For Each Sh In Feuil2.OLEObjects If TypeName(Sh.Object) = "Image" Then 'Chargement de l'image dans le contrôle Sh.Object.Picture = LoadPicture(Chemin & Fichier) 'Chargement dans la variable "Fichier" le nom 'du fichier image suivant Fichier = Dir() ' mise à jour du compteur X = X + 1 End If Next Loop
End Sub '-----------------------------------------------
"Romain" a écrit dans le message de groupe de discussion : # 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)
Je te propose un exemple, et pour ce faire j'ai fait quelques suppositions :
A ) que tu as des contrôles "Image" dans ta feuille de calcul qui proviennent
de la barre d'outils "Contrôles"
B ) Que dans ton répertoire, tu as suffisamment d'images pour en afficher
une par contrôle.
'-----------------------------------------------
Sub test()
Dim Pc As Object
Dim Chemin As String
Dim NbControl As Integer
Dim X As Integer
'Indique où sont tes images
Chemin = "C:UsersDMDocuments"
'S'ils sont dans le même répertoire que ton fichier excel
Chemin = ThisWorkbook.Path & ""
'Cette section cherche à compter le nombre de contrôle "Image"
'que tu as parmi toutes les "shapes" de la Feuil2
'Feuil2 n'est pas le nom de l'onglet de la feuille mais la propriété
'Name de l'objet Feuille visible dans l'éditeur de code
For Each Sh In Feuil2.OLEObjects
If TypeName(Sh.Object) = "Image" Then
NbControl = NbControl + 1
End If
Next
'Identifier la première image de ton répertoire
'à toi de définir l'extension de tes fichiers images
Fichier = Dir(Chemin & "*.jpeg")
'Boucle jusqu'au moment où tous les contrôles images
'auront eu leur image
Do While X <= NbControl
For Each Sh In Feuil2.OLEObjects
If TypeName(Sh.Object) = "Image" Then
'Chargement de l'image dans le contrôle
Sh.Object.Picture = LoadPicture(Chemin & Fichier)
'Chargement dans la variable "Fichier" le nom
'du fichier image suivant
Fichier = Dir()
' mise à jour du compteur
X = X + 1
End If
Next
Loop
End Sub
'-----------------------------------------------
"Romain" <romain.-supprimertirets-vazquez@gmail.com> a écrit dans le message de groupe de
discussion : #xhjEp6tJHA.248@TK2MSFTNGP06.phx.gbl...
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)
Je te propose un exemple, et pour ce faire j'ai fait quelques suppositions :
A ) que tu as des contrôles "Image" dans ta feuille de calcul qui proviennent de la barre d'outils "Contrôles"
B ) Que dans ton répertoire, tu as suffisamment d'images pour en afficher une par contrôle.
'----------------------------------------------- Sub test()
Dim Pc As Object Dim Chemin As String Dim NbControl As Integer Dim X As Integer
'Indique où sont tes images Chemin = "C:UsersDMDocuments" 'S'ils sont dans le même répertoire que ton fichier excel Chemin = ThisWorkbook.Path & ""
'Cette section cherche à compter le nombre de contrôle "Image" 'que tu as parmi toutes les "shapes" de la Feuil2 'Feuil2 n'est pas le nom de l'onglet de la feuille mais la propriété 'Name de l'objet Feuille visible dans l'éditeur de code
For Each Sh In Feuil2.OLEObjects If TypeName(Sh.Object) = "Image" Then NbControl = NbControl + 1 End If Next
'Identifier la première image de ton répertoire 'à toi de définir l'extension de tes fichiers images Fichier = Dir(Chemin & "*.jpeg")
'Boucle jusqu'au moment où tous les contrôles images 'auront eu leur image Do While X <= NbControl For Each Sh In Feuil2.OLEObjects If TypeName(Sh.Object) = "Image" Then 'Chargement de l'image dans le contrôle Sh.Object.Picture = LoadPicture(Chemin & Fichier) 'Chargement dans la variable "Fichier" le nom 'du fichier image suivant Fichier = Dir() ' mise à jour du compteur X = X + 1 End If Next Loop
End Sub '-----------------------------------------------
"Romain" a écrit dans le message de groupe de discussion : # 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)
Si j'ai bien compris cela marche quelque soit le nombre de shape picture et si il y a suffisamment de photos?
Je vais tester tout ça , mais en fait je pense que le nombre de shape sera une valeur connu..
Merci
MichDenis a écrit :
Bonjour Romain,
Je te propose un exemple, et pour ce faire j'ai fait quelques suppositions :
A ) que tu as des contrôles "Image" dans ta feuille de calcul qui proviennent de la barre d'outils "Contrôles"
B ) Que dans ton répertoire, tu as suffisamment d'images pour en afficher une par contrôle.
'----------------------------------------------- Sub test()
Dim Pc As Object Dim Chemin As String Dim NbControl As Integer Dim X As Integer
'Indique où sont tes images Chemin = "C:UsersDMDocuments" 'S'ils sont dans le même répertoire que ton fichier excel Chemin = ThisWorkbook.Path & ""
'Cette section cherche à compter le nombre de contrôle "Image" 'que tu as parmi toutes les "shapes" de la Feuil2 'Feuil2 n'est pas le nom de l'onglet de la feuille mais la propriété 'Name de l'objet Feuille visible dans l'éditeur de code
For Each Sh In Feuil2.OLEObjects If TypeName(Sh.Object) = "Image" Then NbControl = NbControl + 1 End If Next
'Identifier la première image de ton répertoire 'à toi de définir l'extension de tes fichiers images Fichier = Dir(Chemin & "*.jpeg")
'Boucle jusqu'au moment où tous les contrôles images 'auront eu leur image Do While X <= NbControl For Each Sh In Feuil2.OLEObjects If TypeName(Sh.Object) = "Image" Then 'Chargement de l'image dans le contrôle Sh.Object.Picture = LoadPicture(Chemin & Fichier) 'Chargement dans la variable "Fichier" le nom 'du fichier image suivant Fichier = Dir() ' mise à jour du compteur X = X + 1 End If Next Loop
End Sub '-----------------------------------------------
"Romain" a écrit dans le message de groupe de discussion : # 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)
Si j'ai bien compris cela marche quelque soit le nombre de shape picture
et si il y a suffisamment de photos?
Je vais tester tout ça , mais en fait je pense que le nombre de shape
sera une valeur connu..
Merci
MichDenis a écrit :
Bonjour Romain,
Je te propose un exemple, et pour ce faire j'ai fait quelques suppositions :
A ) que tu as des contrôles "Image" dans ta feuille de calcul qui proviennent
de la barre d'outils "Contrôles"
B ) Que dans ton répertoire, tu as suffisamment d'images pour en afficher
une par contrôle.
'-----------------------------------------------
Sub test()
Dim Pc As Object
Dim Chemin As String
Dim NbControl As Integer
Dim X As Integer
'Indique où sont tes images
Chemin = "C:UsersDMDocuments"
'S'ils sont dans le même répertoire que ton fichier excel
Chemin = ThisWorkbook.Path & ""
'Cette section cherche à compter le nombre de contrôle "Image"
'que tu as parmi toutes les "shapes" de la Feuil2
'Feuil2 n'est pas le nom de l'onglet de la feuille mais la propriété
'Name de l'objet Feuille visible dans l'éditeur de code
For Each Sh In Feuil2.OLEObjects
If TypeName(Sh.Object) = "Image" Then
NbControl = NbControl + 1
End If
Next
'Identifier la première image de ton répertoire
'à toi de définir l'extension de tes fichiers images
Fichier = Dir(Chemin & "*.jpeg")
'Boucle jusqu'au moment où tous les contrôles images
'auront eu leur image
Do While X <= NbControl
For Each Sh In Feuil2.OLEObjects
If TypeName(Sh.Object) = "Image" Then
'Chargement de l'image dans le contrôle
Sh.Object.Picture = LoadPicture(Chemin & Fichier)
'Chargement dans la variable "Fichier" le nom
'du fichier image suivant
Fichier = Dir()
' mise à jour du compteur
X = X + 1
End If
Next
Loop
End Sub
'-----------------------------------------------
"Romain" <romain.-supprimertirets-vazquez@gmail.com> a écrit dans le message de groupe de
discussion : #xhjEp6tJHA.248@TK2MSFTNGP06.phx.gbl...
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)
Si j'ai bien compris cela marche quelque soit le nombre de shape picture et si il y a suffisamment de photos?
Je vais tester tout ça , mais en fait je pense que le nombre de shape sera une valeur connu..
Merci
MichDenis a écrit :
Bonjour Romain,
Je te propose un exemple, et pour ce faire j'ai fait quelques suppositions :
A ) que tu as des contrôles "Image" dans ta feuille de calcul qui proviennent de la barre d'outils "Contrôles"
B ) Que dans ton répertoire, tu as suffisamment d'images pour en afficher une par contrôle.
'----------------------------------------------- Sub test()
Dim Pc As Object Dim Chemin As String Dim NbControl As Integer Dim X As Integer
'Indique où sont tes images Chemin = "C:UsersDMDocuments" 'S'ils sont dans le même répertoire que ton fichier excel Chemin = ThisWorkbook.Path & ""
'Cette section cherche à compter le nombre de contrôle "Image" 'que tu as parmi toutes les "shapes" de la Feuil2 'Feuil2 n'est pas le nom de l'onglet de la feuille mais la propriété 'Name de l'objet Feuille visible dans l'éditeur de code
For Each Sh In Feuil2.OLEObjects If TypeName(Sh.Object) = "Image" Then NbControl = NbControl + 1 End If Next
'Identifier la première image de ton répertoire 'à toi de définir l'extension de tes fichiers images Fichier = Dir(Chemin & "*.jpeg")
'Boucle jusqu'au moment où tous les contrôles images 'auront eu leur image Do While X <= NbControl For Each Sh In Feuil2.OLEObjects If TypeName(Sh.Object) = "Image" Then 'Chargement de l'image dans le contrôle Sh.Object.Picture = LoadPicture(Chemin & Fichier) 'Chargement dans la variable "Fichier" le nom 'du fichier image suivant Fichier = Dir() ' mise à jour du compteur X = X + 1 End If Next Loop
End Sub '-----------------------------------------------
"Romain" a écrit dans le message de groupe de discussion : # 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)