VBA sous Access - CommonDialog : comment y faire appel

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

Messages postés
262
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
19 décembre 2010
9
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
Messages postés
2
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
18 février 2003

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