A partie d'une feuille excel, j'aimerais pouvoir activer une autre
feuille excel afin d'y faire rouler une macro. En fait, il n'y aura
jamais plus que deux feuilles actives; celle qui contiendra les
instructions que j'appelle data, et celle qui aura toujours un nom
diff=E9rent. C'est cette feuill-l=E0 que je veux activer et sur laquelle
je ferai rouler ma macro.
En fait, les succursales nous enverront une feuille g=E9n=E9rique qui aura
donc toujours la m=EAme pr=E9sentation. L'usager ouvrira la feuille Data
et celle de la succursale. En cliquant un bouton sur la feuille Data,
l'autre feuille (celle de la succursale) s'ativera et je pourrai faire
rouler ma macro. Seulement, je ne sais pas comment faire pour activer
une feuille sans y inscrire le nom. Et comme la feuille n'aura jamais
le m=EAme nom, alors, je bloque.
Une seule personne sera affectée à ce travail qui devrait durer six mois. Alors ce sera à elle de s'assurer de ne pas ouvrir d'autres fichiers. de plus, après avoir effectué les transformations voulues, je m'assurerai que le fichier se ferme en sauvegardant les données....
Merci beaucoup et désolé encore pour la confusion.......
Denys
On Jan 28, 10:09 am, "michdenis" <michde...@hotmail.com> wrote:
Isabelle t'a donné une solution...
Mais qu'est-ce qui se passe si tu devais à l'occasion avoir plus de 2 c lasseurs ouverts ?
Comment identifier l'autre classeur, le bon ?
Une seule personne sera affectée à ce travail qui devrait durer six
mois. Alors ce sera à elle de s'assurer de ne pas ouvrir d'autres
fichiers. de plus, après avoir effectué les transformations voulues,
je m'assurerai que le fichier se ferme en sauvegardant les données....
Merci beaucoup et désolé encore pour la confusion.......
Une seule personne sera affectée à ce travail qui devrait durer six mois. Alors ce sera à elle de s'assurer de ne pas ouvrir d'autres fichiers. de plus, après avoir effectué les transformations voulues, je m'assurerai que le fichier se ferme en sauvegardant les données....
Merci beaucoup et désolé encore pour la confusion.......
Denys
Denys
Bon,
Voici le résultat final...
For Each wk In Application.Workbooks If ThisWorkbook.Name <> wk.Name Then wk.Activate Next
Merci encore Isabelle et Denis
Bonne fin de semaine
Denys
Bon,
Voici le résultat final...
For Each wk In Application.Workbooks
If ThisWorkbook.Name <> wk.Name Then wk.Activate
Next
For Each wk In Application.Workbooks If ThisWorkbook.Name <> wk.Name Then wk.Activate Next
Merci encore Isabelle et Denis
Bonne fin de semaine
Denys
isabelle
bonjour Denys,
une autre solution serait de faire une demande d'ouverture de fichier des l'ouverture du fichier Data,
Private Sub Workbook_Open() Dim Wk As Workbook, FD As FileDialog Set FD = Application.FileDialog(msoFileDialogFilePicker) FD.AllowMultiSelect = False 'autoriser la sélection d'un seul fichier FD.Filters.Clear FD.Filters.Add Description:="Excel Files", Extensions:="*.xls;*.xlsx" 'filtrer sur les fichiers excel FD.Show 'afficher la boite de dialogue Set Wk = Application.Workbooks.Open(fileName:ý.SelectedItems(1)) End Sub
isabelle
Le 2011-01-28 10:21, Denys a écrit :
On Jan 28, 10:09 am, "michdenis" wrote:
Isabelle t'a donné une solution...
Mais qu'est-ce qui se passe si tu devais à l'occasion avoir plus de 2 classeurs ouverts ? Comment identifier l'autre classeur, le bon ?
Une seule personne sera affectée à ce travail qui devrait durer six mois. Alors ce sera à elle de s'assurer de ne pas ouvrir d'autres fichiers. de plus, après avoir effectué les transformations voulues, je m'assurerai que le fichier se ferme en sauvegardant les données....
Merci beaucoup et désolé encore pour la confusion.......
Denys
bonjour Denys,
une autre solution serait de faire une demande d'ouverture de fichier
des l'ouverture du fichier Data,
Private Sub Workbook_Open()
Dim Wk As Workbook, FD As FileDialog
Set FD = Application.FileDialog(msoFileDialogFilePicker)
FD.AllowMultiSelect = False 'autoriser la sélection d'un seul fichier
FD.Filters.Clear
FD.Filters.Add Description:="Excel Files", Extensions:="*.xls;*.xlsx"
'filtrer sur les fichiers excel
FD.Show 'afficher la boite de dialogue
Set Wk = Application.Workbooks.Open(fileName:ý.SelectedItems(1))
End Sub
isabelle
Le 2011-01-28 10:21, Denys a écrit :
On Jan 28, 10:09 am, "michdenis"<michde...@hotmail.com> wrote:
Isabelle t'a donné une solution...
Mais qu'est-ce qui se passe si tu devais à l'occasion avoir plus de 2 classeurs ouverts ?
Comment identifier l'autre classeur, le bon ?
Une seule personne sera affectée à ce travail qui devrait durer six
mois. Alors ce sera à elle de s'assurer de ne pas ouvrir d'autres
fichiers. de plus, après avoir effectué les transformations voulues,
je m'assurerai que le fichier se ferme en sauvegardant les données....
Merci beaucoup et désolé encore pour la confusion.......
une autre solution serait de faire une demande d'ouverture de fichier des l'ouverture du fichier Data,
Private Sub Workbook_Open() Dim Wk As Workbook, FD As FileDialog Set FD = Application.FileDialog(msoFileDialogFilePicker) FD.AllowMultiSelect = False 'autoriser la sélection d'un seul fichier FD.Filters.Clear FD.Filters.Add Description:="Excel Files", Extensions:="*.xls;*.xlsx" 'filtrer sur les fichiers excel FD.Show 'afficher la boite de dialogue Set Wk = Application.Workbooks.Open(fileName:ý.SelectedItems(1)) End Sub
isabelle
Le 2011-01-28 10:21, Denys a écrit :
On Jan 28, 10:09 am, "michdenis" wrote:
Isabelle t'a donné une solution...
Mais qu'est-ce qui se passe si tu devais à l'occasion avoir plus de 2 classeurs ouverts ? Comment identifier l'autre classeur, le bon ?
Une seule personne sera affectée à ce travail qui devrait durer six mois. Alors ce sera à elle de s'assurer de ne pas ouvrir d'autres fichiers. de plus, après avoir effectué les transformations voulues, je m'assurerai que le fichier se ferme en sauvegardant les données....
Merci beaucoup et désolé encore pour la confusion.......
Denys
Denys
Wow !!! C'est encore mieux de cette façon-là !!!
Merci beaucoup Isabelle...
Bonne fin de semaine
Denys
On Jan 28, 10:34 am, isabelle wrote:
bonjour Denys,
une autre solution serait de faire une demande d'ouverture de fichier des l'ouverture du fichier Data,
Private Sub Workbook_Open() Dim Wk As Workbook, FD As FileDialog Set FD = Application.FileDialog(msoFileDialogFilePicker) FD.AllowMultiSelect = False 'autoriser la sélection d'un seul fich ier FD.Filters.Clear FD.Filters.Add Description:="Excel Files", Extensions:="*.xls;*.xlsx" 'filtrer sur les fichiers excel FD.Show 'afficher la boite de dialogue Set Wk = Application.Workbooks.Open(fileName:ý.SelectedItems(1)) End Sub
isabelle
Wow !!! C'est encore mieux de cette façon-là !!!
Merci beaucoup Isabelle...
Bonne fin de semaine
Denys
On Jan 28, 10:34 am, isabelle <i...@v.org> wrote:
bonjour Denys,
une autre solution serait de faire une demande d'ouverture de fichier
des l'ouverture du fichier Data,
Private Sub Workbook_Open()
Dim Wk As Workbook, FD As FileDialog
Set FD = Application.FileDialog(msoFileDialogFilePicker)
FD.AllowMultiSelect = False 'autoriser la sélection d'un seul fich ier
FD.Filters.Clear
FD.Filters.Add Description:="Excel Files", Extensions:="*.xls;*.xlsx"
'filtrer sur les fichiers excel
FD.Show 'afficher la boite de dialogue
Set Wk = Application.Workbooks.Open(fileName:=FD.SelectedItems(1))
End Sub
une autre solution serait de faire une demande d'ouverture de fichier des l'ouverture du fichier Data,
Private Sub Workbook_Open() Dim Wk As Workbook, FD As FileDialog Set FD = Application.FileDialog(msoFileDialogFilePicker) FD.AllowMultiSelect = False 'autoriser la sélection d'un seul fich ier FD.Filters.Clear FD.Filters.Add Description:="Excel Files", Extensions:="*.xls;*.xlsx" 'filtrer sur les fichiers excel FD.Show 'afficher la boite de dialogue Set Wk = Application.Workbooks.Open(fileName:ý.SelectedItems(1)) End Sub