Actualiser une feuil excel ou la fermer et le reouvrir

bengir33

XLDnaute Nouveau
Bonjour à tous,

Voilà une journée que j'essaye d'actualiser une feuil excel.
Je vous expose mon problème :
J'ai écrit les codes suivants :

Sub CommandButton5_Click()
Dim chem As String
Application.Goto Range(CommandButton5.Caption)
chem = ActiveCell.Value
ChDir chem
Application.FileDialog(msoFileDialogOpen).Show
ThisWorkbook.FollowHyperlink Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
End Sub

Sub CommandButton6_Click()
Dim chem As String
Application.Goto Range(CommandButton6.Caption)
chem = ActiveCell.Value
ChDir chem
Application.FileDialog(msoFileDialogOpen).Show
ThisWorkbook.FollowHyperlink Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)


Chaque code correspond à un bouton. Quand je clic sur le bouton, une fenetre windows s'ouvre et me permet d'ouvrir un fichier dans un dossier deja renseigné. Le chemin du dossier est spécifier dans une cellule qui porte le nom de mon bouton. cela me permet de faire varier le chemin sans à avoir à modifier le code de la macro.

Chaque bouton a un chemin d'acces different.

Jusque la pas de probleme. Le premier clic sur n'importe qu'elle bouton fonctionne, mais lorsque je fait un clic sur un autre bouton, il conserve le chemin d'acces du premier bouton cliqué. Hors ce que je veux c'est recuperer le chemin indiquer par ma cellule qui porte le nom de mon bouton.

j'ai trouvé une solution, qui consiste à fermer puis a réouvrir mon classeur. je pense que le classeur doit se réinitialiser ou quelque chose comme ca. Mais cette manipulation manuel est contraignante.

Quelqu'un a t-il une idée de ce que je pourrai faire ????:):)

Merci d'avance
 
G

Guest

Guest
Re : Actualiser une feuil excel ou la fermer et le reouvrir

Bonjour Bengir33

Si c'est toi, comme tu l'as écrit dans ton premier post qui a construit les macros que tu donnes, tu dois pouvoir regarder dans l'aide VBA. Il y a même des exemples. Faire des essais et revenir s'il y a problème.


Bonne journée
 

bengir33

XLDnaute Nouveau
Re : Actualiser une feuil excel ou la fermer et le reouvrir

Re bonjour Hasco,
voici le code que j'ai fait et il fonctionne parfaitement.

Sub CommandButton1_Click()
'Declaration d'une variable comme un FileDialog object
Dim fd As FileDialog
'Declaration du chemin comme un string
Dim chem As String
'Création d'un FileDialog object comme un File Picker dialog box.
Set fd = Application.FileDialog(msoFileDialogFilePicker)

With fd
'Indication du nom de la cellule à allé chercher
'(La celulle à allé chercher contien le chemin d'acces du dossier à ouvrir)
'(Le nom de la celulle à allé chercher est égal au texte qu'il y a sur le bouton cliquer)
'CommandeButton1.Caption renvoi le nom du bouton
'Application.Goto Range permet d'aller chercher la celulle selectionnée
Application.Goto Range(CommandButton1.Caption)
'Activation de la celulle selectionnée
chem = ActiveCell.Value
'Mise à jour du chemin d'acces
.InitialFileName = chem
'Si l'utilisateur clic sur le bouton il ouvre la fenetre Dialog
If .Show = -1 Then
'Si l'utilisateur selectionne un fichier, ce dernier s'ouvre
ThisWorkbook.FollowHyperlink Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
Else
'Si l'utilisateru clic sur Annuler la fenetre se ferme
End If

End With
Range("Q7").Select

End Sub


C'est grace a tes conseils que j'ai pu l'établir.
En ce qui concerne l'aide VBA elle est en anglais et ce n'est pas mon fort donc...

Un grand merci HASCO

Bonne journée
 

Papou-net

XLDnaute Barbatruc
Re : Actualiser une feuil excel ou la fermer et le reouvrir

Bonjour bengir33, Hasco, le Forum,

Ne voulant pas avoir réfléchi dans le vide, voici une proposition qui tient en 2 lignes :

Code:
Private Sub CommandButton1_Click()
Application.FileDialog(msoFileDialogOpen).InitialFileName = Range(CommandButton1.Caption).Value
If Application.FileDialog(msoFileDialogFilePicker).Show = -1 Then ThisWorkbook.FollowHyperlink Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
End Sub

Private Sub CommandButton2_Click()
Application.FileDialog(msoFileDialogOpen).InitialFileName = Range(CommandButton2.Caption).Value
If Application.FileDialog(msoFileDialogFilePicker).Show = -1 Then ThisWorkbook.FollowHyperlink Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
End Sub

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 009
Membres
101 865
dernier inscrit
MLL