taj88
Messages postés113Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention28 août 2007
-
11 juil. 2007 à 09:41
chonburi
Messages postés8Date d'inscriptionmardi 15 janvier 2008StatutMembreDernière intervention16 mai 2011
-
20 mars 2009 à 09:45
Bonjour,
j'aimerais savoir comment on peut inserer une image sur un commandbutton
si quelqu'un à une idée je suis preneur.
@+
Je viens de découvrir le bonheur de programmer et le VB me le rend bien
taj88
Messages postés113Date d'inscriptionmercredi 9 mai 2007StatutMembreDernière intervention28 août 2007 11 juil. 2007 à 10:59
En fait j'utilise une webcam dont je récupére l'image toute les seconde dans image1
et en fait je voudrais insérer toute les seconde cette image dans le CommandButton, pour avoir seconde par seconde la visualisation de ma webcam
Donc comme j'utilisa la fonction Sleep, apparement je ne peu faire cela que dans un module
En fait, j'en suis arivée à l'idée du command bouton car au debut j'inserais mon image toute les seconde avec :
Sub Commencer()
Temporisation
End Sub
Sub Temporisation()
Application.OnTime Now + TimeValue("00:00:01"), "Macro1"
End Sub
Sub Temporisation2()
Application.OnTime Now + TimeValue("00:00:01"), "efface"
End Sub
Sub Macro1()
ActiveSheet.Pictures.Insert( _
"C:\Documents and Settings\steven thomas\My Documents\My Pictures\image1.jpg" _
).Select
Temporisation
Sleep 200
Temporisation2
End Sub
Sub efface()
Dim P As Object
For Each P In ActiveSheet.Pictures
If TypeOf P Is Picture Then Call P.Delete
Next
End Sub
Mais le PB c'est que l'image ce met sur la cellule selectionnée alors que je voudrait qu'elle s'insert "automatiquement en haut à gauche de ma feuille" et que je puisse utyiliser le reste de ma feuille librement
Voilà c'est un peu compliquer, mais j'étudie ses pistes
Je viens de découvrir le bonheur de programmer et le VB me le rend bien
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 11 juil. 2007 à 11:02
Bonjour RenField,
je crois qu'il ne crée pas dynamiquement mais souhaite simplement définir l'image depuis un module, ce qu'il peut faire en se référant à son bouton de commande et à la Form qui le contient.
chonburi
Messages postés8Date d'inscriptionmardi 15 janvier 2008StatutMembreDernière intervention16 mai 2011 20 mars 2009 à 09:45
Bonjour,
Je crois que c'est mon premier post sur ce forum alors je me présente, je vis en Thaïlande où je travaille comme principal d'un collège, j'ai 57 ans et suis autodidacte au niveau VBA. Je me suis mis à programmer en VBA dès la sortie d'Excel 5, mais pas de façon continue.
C'est un autre problème sur le même sujet "Picture"qui m'amène, J'ai une feuille Excel appellé "Form" qui contient plusieurs images (des photos d'élèves), le code suivant génère un message d'erreur:
Sub TotoTriesToReset()
Dim obj
For Each obj In Worksheets("Form").OLEObjects
obj.Object.Picture = Nothing
Next
End Sub
Il s'agit d'une petite routine que j'ai écrite pour tenter de trouver l'origine de l'erreur, il n'y a bien sûr aucun autre type d'objet sur cette feuille.
Si j'essaye obj.Object.Picture = LoadPicture(), j'ai le même message d'erreur:
"Run-time error '-2147417848 (80010108)
Method 'Picture' of Object 'IImage' failed"
le code complet qui ,si je me souviens bien, fonctionnait, est le suivant:
Sub Reinitialise()
Dim b%
Dim ws as Worksheet
Dim strNameSheet$
Dim s
b = 1
For Each ws In ThisWorkbook.Sheets
strNameSheet = ws.Name
If Left(strNameSheet, 5) = "Form" Then
If Len(strNameSheet) > 5 Then
ws.Delete 'deletes the copies of "Form : Form(2), Form(3) etc."
End If
End If
Next
With Sheets("Form")
.Range("C1:C32").ClearContents
.Range("G1:G32").ClearContents
For Each s In .Shapes
.OLEObjects(b).Object.PictureSizeMode = fmPictureSizeModeStretch
.OLEObjects(b).Object.Picture = LoadPicture() 'unload the picture
b = b + 1
Next
End With
End Sub
Ce qui est curieux c'est qu'après avoir lancé le programme et bug, la feuille propriété de l'image indique
Picture (None)
alors que l'image est toujours présente...
Quelqu'un pourrait-il m'aider à me sentir un peu moins C...[javascript:Insert_Emoticon('/imgs2/smile_blush.gif'); ]
Merci