VBA sous Access - CommonDialog : comment y faire appel
cs_8pool
Messages postés2Date d'inscriptiondimanche 16 février 2003StatutMembreDernière intervention18 février 2003
-
16 févr. 2003 à 21:24
cs_8pool
Messages postés2Date d'inscriptiondimanche 16 février 2003StatutMembreDernière intervention18 février 2003
-
18 févr. 2003 à 12:37
Sous access (donc en VBA) :
Dans un ImageBox ou PictureBox fe formulaire, je veux en cliquant dessus ouvrir la boîte de dialogue qui me permettra d'afficher cette image dans mon controle.
Je ne sais pas comment appeler les commonDialog.
Je ne pense pas pouvoir utiliser LoadPicture tout simplement parce que je ne connais pas à l'avance le nom du fichier à utiliser (et qu'il changera à chaque fois).
cs_wape
Messages postés262Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention19 décembre 201012 18 févr. 2003 à 01:29
Tout d'abord il faut ajouter le contrôle CommonDialog sur ton formulaire. Pour cela tu cliques sur le bouton "Autres contrôles" qui se trouve dans la boîte à outils. Puis dans la liste qui s'affiche tu cliques sur "Microsoft Common Dialog Control, version X.0". Ensuite tu positionnes le contrôle sur le formulaire (l'endroit est indifférent). Tu peux éventuellement renommer le contrôle (p.ex. en CommonDialog1).
Enfin tu ajoutes le code dans l'événement Click de ton ImageBox. Voici un exemple qui affiche la boîte de dialogue "Ouvrir", dans laquelle apparaissent par défaut les fichiers *.bmp du répertoire C:\Temp :
Private Sub Image1_Click()
With CommonDialog1
.CancelError = False
.FileName = ""
.InitDir = "C:\Temp"
.Filter = "Bmp (*.bmp)|*.bmp|Tous (*.*)|*.*"
.ShowOpen
If .FileName <> "" Then
MsgBox "Le fichier sélectionné est : " & .FileName
Else
MsgBox "Aucune sélection !"
End If
End With
cs_8pool
Messages postés2Date d'inscriptiondimanche 16 février 2003StatutMembreDernière intervention18 février 2003 18 févr. 2003 à 12:37
Merci. Mais apparemment, si VB n'est pas installé sur la machine, une licence d'exploitation est requise pour l'utilisation des CommonDlg. En tous cas, c'est la conclusion à laquelle j'arrive après avoir essayé toutes les manips auxquelles j'ai pensé pour les appeler (qui me retournent soit erreur purement et simplement soit un MessageBox de MS me disant que je n'ai pas la licence d'exploitation de ce controle). Bouh...
Merci quand même pour la réponse
8pool