Le bouton de mon exemple est un objet "WordArt", mais dans Excel les objets boutons, shapes, textbox, etc... peuvent servir à déclencher une macro.
Dans la macro proprement dite j'ai mis en oeuvre :
GetOpenFilename("Classeur (*.xls),*.xls,Fichiers texte (*.txt),*.txt", , "Ouvrir un classeur ?") limitant ainsi le choix aux fichiers texte et classeur Excel.
Si tu modifies GetOpenFilename comme ceci :
GetOpenFilename(,, "Ouvrir un fichier ?") l'acces est alors ouvert à toutes les extentions .xls, .xla, .txt, .eml, etc ... mais attention Excel n'ouvre pas tout et tu risques le message d'erreur ! le texte "Ouvrir un fichier ?" est optionnel cela pourait être "Maman chérie".
L'aide VBA est trés explicite à ce sujet recherche "GetOpenFilename"
Pour un bouton normal tu le selectionne avec clique/droit puis "Affecter une macro", ou encore si tu le crées il demande automatiquement quelle macro ?
Cordialement