Public Function LoadImage() As Object
For Each pics In sheetImages.Shapes
If (CStr(pics.Name) = CStr(currpartImage)) Then
Me.ImagePreview.Picture =PictureFromShape(sheetImages.Shapes(currImage))
Me.ImagePreview.PictureSizeMode = 3
currImageRow = sheetImages.Shapes(currpartImage).TopLeftCell.row + 1
End If
Next
End Function
Je suis en train d'avoir un appel formUtilisateur cette fonction de mon module principal et l'ont mis l'ImageBox que la forme ... il fonctionne très bien lorsque cette fonction est en le code userform mais j'essaie d'éviter d'avoir à copier ce code pour toutes mes userforms .... quand je mets cette fonction dans le userform- "moi". & « comme objet » sont supprimésont la fonction d'appel userform du module principal et Populate ImageBox
'Me' n'est valide que dans un module objet (userform/sheet/class) et fait référence à l'instance de l'objet elle-même (dans votre cas, le userform). Si vous souhaitez accéder à un élément spécifique (contrôle, etc.) à partir d'un code dans un module normal, vous devez l'ajouter en tant que paramètre à votre fonction et transmettre l'élément à partir du code appelant. Aussi, il serait plus logique que votre code soit Sub et pas une fonction, car il ne renvoie pas de valeur. –
Comment accéder au contrôle de l'image? Serait-ce quelque chose comme Userform.Controls (ImagePreview) .Picture = .... –