Modification d'un chemin d'accès dans code par boite de dialogue
3 réponses
ydemarin
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible.
Néanmoins j'ai dévellopé un petit programme très simple de gestion de stock
spécifique dans excel.
Et dans mon code vba, je fais appel à deux reprises à des fichiers excel qui
se trouvent sur le disque dur avec un chemin d'accès fixe. Mais souhaitant
pouvoir distribuer facilement le classeur-programme, je cherche à concevoir
une macro qui me permetterait à la première ouverture duclasseur, de
paramétrer les chemins d'accès. (Et donc laisser le choix à l'utilisateur
d'installer où il le souhaite le programme; d'autant plus quej'ai prévu
d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses:
Seulement lors de la première ouverture du classeur (bloquer la répétition
du processus par une option du genre :" ne plus poser cette question
aprochaine fois" à cocher)
Puis une boite de dialogue invite l'utilisateur à indiquer le chemin d'accès
à un répértoire spécifique dans lequel se trouve les fichiers excel qui
doivent être ouverts pendant l'utilisation du programme.
Enfin une confirmation est donnée comme quoi le chemin d'accès a bien été
pris en compte.
Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. La macro suivante utilise une feuille cachée pour stocker le chemin.
Sub test() On Error Resume Next Sheets("Repert").Visible = True If Err.Number <> 0 Then Err.Clear Sheets.Add ActiveSheet.Name = "Repert" With Application.FileDialog(msoFileDialogFolderPicker) .Show Sheets("Repert").Range("A1") = .SelectedItems(1) End With End If Sheets("Repert").Visible = xlVeryHidden End Sub
Cordialement. Daniel "ydemarin" a écrit dans le message de news:
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible. Néanmoins j'ai dévellopé un petit programme très simple de gestion de stock spécifique dans excel. Et dans mon code vba, je fais appel à deux reprises à des fichiers excel qui se trouvent sur le disque dur avec un chemin d'accès fixe. Mais souhaitant pouvoir distribuer facilement le classeur-programme, je cherche à concevoir une macro qui me permetterait à la première ouverture duclasseur, de paramétrer les chemins d'accès. (Et donc laisser le choix à l'utilisateur d'installer où il le souhaite le programme; d'autant plus quej'ai prévu d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses: Seulement lors de la première ouverture du classeur (bloquer la répétition du processus par une option du genre :" ne plus poser cette question aprochaine fois" à cocher) Puis une boite de dialogue invite l'utilisateur à indiquer le chemin d'accès à un répértoire spécifique dans lequel se trouve les fichiers excel qui doivent être ouverts pendant l'utilisation du programme. Enfin une confirmation est donnée comme quoi le chemin d'accès a bien été pris en compte. Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.
Bonjour.
La macro suivante utilise une feuille cachée pour stocker le chemin.
Sub test()
On Error Resume Next
Sheets("Repert").Visible = True
If Err.Number <> 0 Then
Err.Clear
Sheets.Add
ActiveSheet.Name = "Repert"
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Sheets("Repert").Range("A1") = .SelectedItems(1)
End With
End If
Sheets("Repert").Visible = xlVeryHidden
End Sub
Cordialement.
Daniel
"ydemarin" <ydemarin@discussions.microsoft.com> a écrit dans le message de
news: 59F3DE37-4694-4628-B4A1-C386D454091D@microsoft.com...
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible.
Néanmoins j'ai dévellopé un petit programme très simple de gestion de
stock
spécifique dans excel.
Et dans mon code vba, je fais appel à deux reprises à des fichiers excel
qui
se trouvent sur le disque dur avec un chemin d'accès fixe. Mais
souhaitant
pouvoir distribuer facilement le classeur-programme, je cherche à
concevoir
une macro qui me permetterait à la première ouverture duclasseur, de
paramétrer les chemins d'accès. (Et donc laisser le choix à l'utilisateur
d'installer où il le souhaite le programme; d'autant plus quej'ai prévu
d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses:
Seulement lors de la première ouverture du classeur (bloquer la répétition
du processus par une option du genre :" ne plus poser cette question
aprochaine fois" à cocher)
Puis une boite de dialogue invite l'utilisateur à indiquer le chemin
d'accès
à un répértoire spécifique dans lequel se trouve les fichiers excel qui
doivent être ouverts pendant l'utilisation du programme.
Enfin une confirmation est donnée comme quoi le chemin d'accès a bien été
pris en compte.
Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.
Bonjour. La macro suivante utilise une feuille cachée pour stocker le chemin.
Sub test() On Error Resume Next Sheets("Repert").Visible = True If Err.Number <> 0 Then Err.Clear Sheets.Add ActiveSheet.Name = "Repert" With Application.FileDialog(msoFileDialogFolderPicker) .Show Sheets("Repert").Range("A1") = .SelectedItems(1) End With End If Sheets("Repert").Visible = xlVeryHidden End Sub
Cordialement. Daniel "ydemarin" a écrit dans le message de news:
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible. Néanmoins j'ai dévellopé un petit programme très simple de gestion de stock spécifique dans excel. Et dans mon code vba, je fais appel à deux reprises à des fichiers excel qui se trouvent sur le disque dur avec un chemin d'accès fixe. Mais souhaitant pouvoir distribuer facilement le classeur-programme, je cherche à concevoir une macro qui me permetterait à la première ouverture duclasseur, de paramétrer les chemins d'accès. (Et donc laisser le choix à l'utilisateur d'installer où il le souhaite le programme; d'autant plus quej'ai prévu d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses: Seulement lors de la première ouverture du classeur (bloquer la répétition du processus par une option du genre :" ne plus poser cette question aprochaine fois" à cocher) Puis une boite de dialogue invite l'utilisateur à indiquer le chemin d'accès à un répértoire spécifique dans lequel se trouve les fichiers excel qui doivent être ouverts pendant l'utilisation du programme. Enfin une confirmation est donnée comme quoi le chemin d'accès a bien été pris en compte. Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.
ydemarin
Merci de m'avoir répondu aussi vite. La solution proposée est en effet très intéréssante;
Mais j'aurais deux questions:
1) comment et où récupérer l'information (et donc le chemin d'accès) saisie dans la boîte de dialogue?
2) comment faire en sorte que cette macro s'execute automatiquement à l'ouverture du classeur.
Merci beaucoup.
Bonjour. La macro suivante utilise une feuille cachée pour stocker le chemin.
Sub test() On Error Resume Next Sheets("Repert").Visible = True If Err.Number <> 0 Then Err.Clear Sheets.Add ActiveSheet.Name = "Repert" With Application.FileDialog(msoFileDialogFolderPicker) .Show Sheets("Repert").Range("A1") = .SelectedItems(1) End With End If Sheets("Repert").Visible = xlVeryHidden End Sub
Cordialement. Daniel "ydemarin" a écrit dans le message de news:
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible. Néanmoins j'ai dévellopé un petit programme très simple de gestion de stock spécifique dans excel. Et dans mon code vba, je fais appel à deux reprises à des fichiers excel qui se trouvent sur le disque dur avec un chemin d'accès fixe. Mais souhaitant pouvoir distribuer facilement le classeur-programme, je cherche à concevoir une macro qui me permetterait à la première ouverture duclasseur, de paramétrer les chemins d'accès. (Et donc laisser le choix à l'utilisateur d'installer où il le souhaite le programme; d'autant plus quej'ai prévu d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses: Seulement lors de la première ouverture du classeur (bloquer la répétition du processus par une option du genre :" ne plus poser cette question aprochaine fois" à cocher) Puis une boite de dialogue invite l'utilisateur à indiquer le chemin d'accès à un répértoire spécifique dans lequel se trouve les fichiers excel qui doivent être ouverts pendant l'utilisation du programme. Enfin une confirmation est donnée comme quoi le chemin d'accès a bien été pris en compte. Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.
Merci de m'avoir répondu aussi vite.
La solution proposée est en effet très intéréssante;
Mais j'aurais deux questions:
1) comment et où récupérer l'information (et donc le chemin d'accès) saisie
dans la boîte de dialogue?
2) comment faire en sorte que cette macro s'execute automatiquement à
l'ouverture du classeur.
Merci beaucoup.
Bonjour.
La macro suivante utilise une feuille cachée pour stocker le chemin.
Sub test()
On Error Resume Next
Sheets("Repert").Visible = True
If Err.Number <> 0 Then
Err.Clear
Sheets.Add
ActiveSheet.Name = "Repert"
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Sheets("Repert").Range("A1") = .SelectedItems(1)
End With
End If
Sheets("Repert").Visible = xlVeryHidden
End Sub
Cordialement.
Daniel
"ydemarin" <ydemarin@discussions.microsoft.com> a écrit dans le message de
news: 59F3DE37-4694-4628-B4A1-C386D454091D@microsoft.com...
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible.
Néanmoins j'ai dévellopé un petit programme très simple de gestion de
stock
spécifique dans excel.
Et dans mon code vba, je fais appel à deux reprises à des fichiers excel
qui
se trouvent sur le disque dur avec un chemin d'accès fixe. Mais
souhaitant
pouvoir distribuer facilement le classeur-programme, je cherche à
concevoir
une macro qui me permetterait à la première ouverture duclasseur, de
paramétrer les chemins d'accès. (Et donc laisser le choix à l'utilisateur
d'installer où il le souhaite le programme; d'autant plus quej'ai prévu
d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses:
Seulement lors de la première ouverture du classeur (bloquer la répétition
du processus par une option du genre :" ne plus poser cette question
aprochaine fois" à cocher)
Puis une boite de dialogue invite l'utilisateur à indiquer le chemin
d'accès
à un répértoire spécifique dans lequel se trouve les fichiers excel qui
doivent être ouverts pendant l'utilisation du programme.
Enfin une confirmation est donnée comme quoi le chemin d'accès a bien été
pris en compte.
Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.
Merci de m'avoir répondu aussi vite. La solution proposée est en effet très intéréssante;
Mais j'aurais deux questions:
1) comment et où récupérer l'information (et donc le chemin d'accès) saisie dans la boîte de dialogue?
2) comment faire en sorte que cette macro s'execute automatiquement à l'ouverture du classeur.
Merci beaucoup.
Bonjour. La macro suivante utilise une feuille cachée pour stocker le chemin.
Sub test() On Error Resume Next Sheets("Repert").Visible = True If Err.Number <> 0 Then Err.Clear Sheets.Add ActiveSheet.Name = "Repert" With Application.FileDialog(msoFileDialogFolderPicker) .Show Sheets("Repert").Range("A1") = .SelectedItems(1) End With End If Sheets("Repert").Visible = xlVeryHidden End Sub
Cordialement. Daniel "ydemarin" a écrit dans le message de news:
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible. Néanmoins j'ai dévellopé un petit programme très simple de gestion de stock spécifique dans excel. Et dans mon code vba, je fais appel à deux reprises à des fichiers excel qui se trouvent sur le disque dur avec un chemin d'accès fixe. Mais souhaitant pouvoir distribuer facilement le classeur-programme, je cherche à concevoir une macro qui me permetterait à la première ouverture duclasseur, de paramétrer les chemins d'accès. (Et donc laisser le choix à l'utilisateur d'installer où il le souhaite le programme; d'autant plus quej'ai prévu d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses: Seulement lors de la première ouverture du classeur (bloquer la répétition du processus par une option du genre :" ne plus poser cette question aprochaine fois" à cocher) Puis une boite de dialogue invite l'utilisateur à indiquer le chemin d'accès à un répértoire spécifique dans lequel se trouve les fichiers excel qui doivent être ouverts pendant l'utilisation du programme. Enfin une confirmation est donnée comme quoi le chemin d'accès a bien été pris en compte. Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.
Daniel
1. Le répertoire est représenté par : .SelectedItems(1) stocké pour éviter la question lors des utilisations suivantes dans : Sheets("Repert").Range("A1") : Dim Chemin as String Chemin = .SelectedItems(1) 2. tu places ce code dans "ThisWorkbook" :
Private Sub Workbook_Open() On Error Resume Next Sheets("Repert").Visible = True If Err.Number <> 0 Then Err.Clear Sheets.Add ActiveSheet.Name = "Repert" With Application.FileDialog(msoFileDialogFolderPicker) .Show Sheets("Repert").Range("A1") = .SelectedItems(1) End With End If Sheets("Repert").Visible = xlVeryHidden End Sub
Daniel "ydemarin" a écrit dans le message de news:
Merci de m'avoir répondu aussi vite. La solution proposée est en effet très intéréssante;
Mais j'aurais deux questions:
1) comment et où récupérer l'information (et donc le chemin d'accès) saisie dans la boîte de dialogue?
2) comment faire en sorte que cette macro s'execute automatiquement à l'ouverture du classeur.
Merci beaucoup.
Bonjour. La macro suivante utilise une feuille cachée pour stocker le chemin.
Sub test() On Error Resume Next Sheets("Repert").Visible = True If Err.Number <> 0 Then Err.Clear Sheets.Add ActiveSheet.Name = "Repert" With Application.FileDialog(msoFileDialogFolderPicker) .Show Sheets("Repert").Range("A1") = .SelectedItems(1) End With End If Sheets("Repert").Visible = xlVeryHidden End Sub
Cordialement. Daniel "ydemarin" a écrit dans le message de news:
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible. Néanmoins j'ai dévellopé un petit programme très simple de gestion de stock spécifique dans excel. Et dans mon code vba, je fais appel à deux reprises à des fichiers excel qui se trouvent sur le disque dur avec un chemin d'accès fixe. Mais souhaitant pouvoir distribuer facilement le classeur-programme, je cherche à concevoir une macro qui me permetterait à la première ouverture duclasseur, de paramétrer les chemins d'accès. (Et donc laisser le choix à l'utilisateur d'installer où il le souhaite le programme; d'autant plus quej'ai prévu d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses: Seulement lors de la première ouverture du classeur (bloquer la répétition du processus par une option du genre :" ne plus poser cette question aprochaine fois" à cocher) Puis une boite de dialogue invite l'utilisateur à indiquer le chemin d'accès à un répértoire spécifique dans lequel se trouve les fichiers excel qui doivent être ouverts pendant l'utilisation du programme. Enfin une confirmation est donnée comme quoi le chemin d'accès a bien été pris en compte. Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.
1. Le répertoire est représenté par : .SelectedItems(1)
stocké pour éviter la question lors des utilisations suivantes dans :
Sheets("Repert").Range("A1") :
Dim Chemin as String
Chemin = .SelectedItems(1)
2. tu places ce code dans "ThisWorkbook" :
Private Sub Workbook_Open()
On Error Resume Next
Sheets("Repert").Visible = True
If Err.Number <> 0 Then
Err.Clear
Sheets.Add
ActiveSheet.Name = "Repert"
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Sheets("Repert").Range("A1") = .SelectedItems(1)
End With
End If
Sheets("Repert").Visible = xlVeryHidden
End Sub
Daniel
"ydemarin" <ydemarin@discussions.microsoft.com> a écrit dans le message de
news: 0A9F8133-3FD9-4EE1-B577-9076F94505C6@microsoft.com...
Merci de m'avoir répondu aussi vite.
La solution proposée est en effet très intéréssante;
Mais j'aurais deux questions:
1) comment et où récupérer l'information (et donc le chemin d'accès)
saisie
dans la boîte de dialogue?
2) comment faire en sorte que cette macro s'execute automatiquement à
l'ouverture du classeur.
Merci beaucoup.
Bonjour.
La macro suivante utilise une feuille cachée pour stocker le chemin.
Sub test()
On Error Resume Next
Sheets("Repert").Visible = True
If Err.Number <> 0 Then
Err.Clear
Sheets.Add
ActiveSheet.Name = "Repert"
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Sheets("Repert").Range("A1") = .SelectedItems(1)
End With
End If
Sheets("Repert").Visible = xlVeryHidden
End Sub
Cordialement.
Daniel
"ydemarin" <ydemarin@discussions.microsoft.com> a écrit dans le message
de
news: 59F3DE37-4694-4628-B4A1-C386D454091D@microsoft.com...
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible.
Néanmoins j'ai dévellopé un petit programme très simple de gestion de
stock
spécifique dans excel.
Et dans mon code vba, je fais appel à deux reprises à des fichiers
excel
qui
se trouvent sur le disque dur avec un chemin d'accès fixe. Mais
souhaitant
pouvoir distribuer facilement le classeur-programme, je cherche à
concevoir
une macro qui me permetterait à la première ouverture duclasseur, de
paramétrer les chemins d'accès. (Et donc laisser le choix à
l'utilisateur
d'installer où il le souhaite le programme; d'autant plus quej'ai prévu
d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses:
Seulement lors de la première ouverture du classeur (bloquer la
répétition
du processus par une option du genre :" ne plus poser cette question
aprochaine fois" à cocher)
Puis une boite de dialogue invite l'utilisateur à indiquer le chemin
d'accès
à un répértoire spécifique dans lequel se trouve les fichiers excel qui
doivent être ouverts pendant l'utilisation du programme.
Enfin une confirmation est donnée comme quoi le chemin d'accès a bien
été
pris en compte.
Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.
1. Le répertoire est représenté par : .SelectedItems(1) stocké pour éviter la question lors des utilisations suivantes dans : Sheets("Repert").Range("A1") : Dim Chemin as String Chemin = .SelectedItems(1) 2. tu places ce code dans "ThisWorkbook" :
Private Sub Workbook_Open() On Error Resume Next Sheets("Repert").Visible = True If Err.Number <> 0 Then Err.Clear Sheets.Add ActiveSheet.Name = "Repert" With Application.FileDialog(msoFileDialogFolderPicker) .Show Sheets("Repert").Range("A1") = .SelectedItems(1) End With End If Sheets("Repert").Visible = xlVeryHidden End Sub
Daniel "ydemarin" a écrit dans le message de news:
Merci de m'avoir répondu aussi vite. La solution proposée est en effet très intéréssante;
Mais j'aurais deux questions:
1) comment et où récupérer l'information (et donc le chemin d'accès) saisie dans la boîte de dialogue?
2) comment faire en sorte que cette macro s'execute automatiquement à l'ouverture du classeur.
Merci beaucoup.
Bonjour. La macro suivante utilise une feuille cachée pour stocker le chemin.
Sub test() On Error Resume Next Sheets("Repert").Visible = True If Err.Number <> 0 Then Err.Clear Sheets.Add ActiveSheet.Name = "Repert" With Application.FileDialog(msoFileDialogFolderPicker) .Show Sheets("Repert").Range("A1") = .SelectedItems(1) End With End If Sheets("Repert").Visible = xlVeryHidden End Sub
Cordialement. Daniel "ydemarin" a écrit dans le message de news:
Bonjour,
Sous Excel 2003
Mon niveau en VBA est assez faible. Néanmoins j'ai dévellopé un petit programme très simple de gestion de stock spécifique dans excel. Et dans mon code vba, je fais appel à deux reprises à des fichiers excel qui se trouvent sur le disque dur avec un chemin d'accès fixe. Mais souhaitant pouvoir distribuer facilement le classeur-programme, je cherche à concevoir une macro qui me permetterait à la première ouverture duclasseur, de paramétrer les chemins d'accès. (Et donc laisser le choix à l'utilisateur d'installer où il le souhaite le programme; d'autant plus quej'ai prévu d'utiliser un programme d'installation automatique tel que InnoSetup).
Voila comment je conçois les choses: Seulement lors de la première ouverture du classeur (bloquer la répétition du processus par une option du genre :" ne plus poser cette question aprochaine fois" à cocher) Puis une boite de dialogue invite l'utilisateur à indiquer le chemin d'accès à un répértoire spécifique dans lequel se trouve les fichiers excel qui doivent être ouverts pendant l'utilisation du programme. Enfin une confirmation est donnée comme quoi le chemin d'accès a bien été pris en compte. Reprise du cours normal du programme.
J'espère avoir été assez clair.
Je vous remercie d'avance de l'aide que vous pourriez m'apporter.