VBA sous Access - CommonDialog : comment y faire appel

cs_8pool Messages postés 2 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 18 février 2003 - 16 févr. 2003 à 21:24
cs_8pool Messages postés 2 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 18 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).

2 réponses

cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 12
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

End Sub

Slts

wape
0
cs_8pool Messages postés 2 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 18 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
0
Rejoignez-nous