Access 2016 : Astuces et techniques

Activer le bouton Parcourir à l'aide du code VBA

Testez gratuitement nos 1309 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Donnez la possibilité au bouton Parcourir d'ouvrir une boîte de dialogue. Cette boîte permettra de parcourir les dossiers sur le disque.
07:31

Transcription

Nous allons maintenant faire le code qui va permettre de donner vie au bouton Parcourir. Alors, je double-clique sur ce bouton Parcourir pour faire apparaître les propriétés, et je vais venir sur l'onglet Événement. Dans cet onglet, je vais aller Sur clic, j'ouvre cette petite boîte et je dis que je veux écrire une Procédure événementielle sur clic de telle sorte que lorsque l'utilisateur va cliquer sur ce bouton, il faut qu'il se passe quelque chose, donc il faut que le code que je vais écrire s'exécute. Je clique maintenant sur les trois petits points qui sont derrière, ce qui me donne accès directement à la fenêtre de programmation VBA. Et là, j'ai une procédure qui se crée, qui s'appelle Sub Parcourir_Click, et c'est pour dire que cette procédure doit s'exécuter au moment de l'événement clic sur le bouton. Là, le mot Parcourir est le nom que j'ai donné à mon bouton. Ce n'est pas le texte qui est écrit dessus, c'est vraiment le nom que j'ai donné à mon bouton, dans ses propriétés. Donc, maintenant, il ne me reste plus qu'à écrire mes lignes de code. Alors, la première ligne, je vais dire que je veux créer une variable de type Objet que je nomme boîte de dialogue, btDialogue. Alors, le btDialogue est un objet qui va me servir à accueillir justement la fenêtre Parcourir qui est quelque chose qui existe déjà à l'intérieur d'Access. Et donc, je vais faire une copie de cette fenêtre préexistante dans Access dans une variable que je baptise btDialogue. Ensuite, je vais donner à cette variable btDialogue le type de boîte de dialogue que je souhaite ouvrir. Une boîte de dialogue Application.fileDialog(3) permet d'accéder aux dossiers et sous-dossiers contenus sur le disque dur. Donc ici, on a plusieurs types, et en fonction du numéro qu'on met, on obtient une boîte qui est différente et propose des fonctionnalités différentes. Ceci étant fait, je vais dire que je souhaite dans ma boîte de dialogue, limiter les possibilités de mon utilisateur. Je ne veux pas que mon utilisateur puisse mettre dans Image autre chose que du JPG. Pour ce faire, je vais dire que dans ma boîte de dialogue, je veux mettre en place un filtre. Pour ce filtre, je commence par vider tout ce qui pourrait être présélectionné et je dis que je n'accepte que le format JPG. Le premier « jpg » que j'ai écrit ici, c'est pour que dans la boîte Parcourir, en bas de cette boîte, on voit écrit « jpg », et le « .jpg » est pour dire que seules les images ayant comme extension .jpg sont accessibles dans cette boîte. Une fois que ceci est écrit, donc que j'ai filtré, je vais pouvoir faire la programmation réelle, c'est-à-dire expliquer ce que je veux faire lorsque l'utilisateur clique sur le bouton. Pour ce faire, on va écrire cette condition. Ici, je vais mettre tout de suite un End If pour ne pas l'oublier. Lorsque vous faites un If, tout de suite après, écrivez le End If correspondant pour être sûr de ne pas l'oublier. C'est un peu comme le With, ici, et j'écris tout de suite derrière End With. D'ailleurs, le End With d'ici, je vais forcément en avoir besoin au bout, quelque part par là. Vous remarquez que mon code est indenté, et je décale chaque ligne pour pouvoir lire facilement. Comme ça, je vois que pour With, eh bien, à l'autre bout, ici, j'ai bien le End With. Avec If, j'ai bien en dessous le End If, et avec With, j'ai bien ici le End With. Donc, il y a bien une corrélation, une ouverture et une fermeture. C'est un peu comme des parenthèses, sauf que là, ce sont des mots de programmation. Maintenant, je dois récupérer le chemin complet. Le chemin complet, c'est quoi ? Eh bien, c'est une variable dans laquelle je vais stocker le chemin qui est contenu dans le nom du fichier sur lequel l'utilisateur a cliqué. Pour récupérer ce chemin complet, c'est-à-dire dans quel disque dur, dans quel dossier ou sous-dossier se trouve le fichier, plus le nom du fichier. Donc, pour récupérer le chemin complet, je mets directement cette information .SelectedItem(1). Donc là, maintenant, j'ai quelque chose du type, je vous le mets entre parenthèses, « c:\user… … \toto, si vous êtes logué en tant que toto, et \… … et derrière je vais trouver le nom du dossier dans lequel se trouve mon fichier, éventuellement le nom du sous-dossier où je suis allé chercher mon fichier et img.jpg sur laquelle l'utilisateur a cliqué. Donc, voilà, ce qu'il y a à l'intérieur de cet élément que je transfère à l'intérieur de cheminComplet. Alors, cheminComplet est une variable, et avant de l'utiliser, il faut que je la déclare. C'est pour cela qu'en début de programme... je reviens ici… je vais écrire « dim cheminComplet as string » pour dire que c'est une chaîne de caractères. Donc, maintenant, dans cheminComplet, j'ai quelque chose de ce type-là en fonction de ce sur quoi l'utilisateur a cliqué. Alors, maintenant, ce n'est plus qu'une question de remplissage. Nous allons remplir les différents éléments qu'il y a dans notre formulaire, les différents contrôles. Pour ce faire, nous allons écrire ces quelques lignes. La première ligne « Me ! » est là pour dire que dans le formulaire actuel il y a un contrôle qui s'appelle Aperçu qui est de type image et dans lequel je veux mettre l'élément qu'on vient de récupérer, c'est-à-dire que je veux mettre, non pas le chemin, évidemment, mais la photo qui s'appelle img.jpg ou bien le nom sur lequel vous avez cliqué. Ensuite, toujours dans le formulaire actif, dans le champ qui s'appelle Dossier… on a un champ Dossier dans notre formulaire… je veux mettre uniquement cette partie-là. Donc là, je lui explique que je veux prendre la partie gauche du cheminComplet, jusqu'à où ? Eh bien, jusqu'à l'endroit où il y a le dernier antislash. Une fois que j'ai fait ça, je n'ai plus qu'à lui dire ici, dans le contrôle qui s'appelle Fichier de mon formulaire, que je veux mettre la partie à droite du chemin, c'est-à-dire le nom du fichier, je veux mettre ceci. Donc, comme ça, mes deux contrôles se remplissent totalement et automatiquement. Donc, là, j'ai terminé. C'est totalement opérationnel, enfin du moins je l'espère. Alors, je ferme cette fenêtre, et il ne me reste plus qu'à revenir en mode Affichage. Nous allons ajouter un enregistrement. Je clique sur Parcourir, et vous voyez que je peux aller chercher telle ou telle image à ma convenance sans aucune espèce de problèmes. Je vais chercher l'image n'importe où sur mon disque dur. Je prends celle-là, et je fais OK. L'image fait son apparition. Le problème que nous allons avoir est que quand on change d'enregistrement, on a toujours la même image. Donc, il faut ajouter quelque chose pour pouvoir, entre guillemets, nettoyer.

Access 2016 : Astuces et techniques

Perfectionnez vos connaissances du logiciel Access 2016 avec votre formateur expert. Gérer les formulaires et la sécurité de vos bases de données pour plus de productivité.

1h50 (24 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :27 févr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !