A voir également:
- [EXCEL] activation classeur
- Clé d'activation windows 10 gratuit - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
5 réponses
bonjour,
merci pour cette réponse, je vais faire des tests mais sur le site msdn microsoft j'ai pas trouvé workbooks.new
mais workbook.new est-ce cela dont tu parles ?
merci
merci pour cette réponse, je vais faire des tests mais sur le site msdn microsoft j'ai pas trouvé workbooks.new
mais workbook.new est-ce cela dont tu parles ?
merci
PBGunner
Messages postés
64
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
29 juillet 2008
64
7 nov. 2007 à 13:59
7 nov. 2007 à 13:59
L'idée de Santiago est bonne: Une fois que tu as créé le nouveau workbook, donne lui un nom. Ensuite, chaque fois que tu fais une action sur un classeur, utilise le nom du classeur pour selectionner le bon classeur de facon systématique... Ca t'évitera de faire des actions dans le mauvais classeur...
En revanche je ne pense pas que la syntaxe de la fonction que souhaite faire Santiago69 soit correcte... A mon avis il est plus pratique de créer plusieurs workbook indexé (Public MyWorkBooks(1 to 10) as Workbooks) et d'utiliser l'index MyWorkbook(i) pour affecter les noms de workbooks... ou un truc dans ce genre...
En revanche je ne pense pas que la syntaxe de la fonction que souhaite faire Santiago69 soit correcte... A mon avis il est plus pratique de créer plusieurs workbook indexé (Public MyWorkBooks(1 to 10) as Workbooks) et d'utiliser l'index MyWorkbook(i) pour affecter les noms de workbooks... ou un truc dans ce genre...
Salut a tous,
Comme je l'avais annonce, je n'avais pas MS Excel sous les yeux lors de ma proposition.
Voila la syntaxe exacte :
Dim NouveauClasseur As Workbook
Sub Bouton1()
Set NouveauClasseur = Workbooks.Add
'A ce moment, le classeur actif est "NouveauClasseur"
'Place ici les commandes d'importation de ton fichier texte
...
ThisWorbook.Activate
'ThisWorbook ne designe pas le classeur actif mais le classeur qui contient la macro en cours d'execution
'Cette commande te ramene donc au classeur de depart, pret a cliquer sur le deuxieme bouton
End Sub
Sub Bouton2()
NouveauClasseur.Activate
'A ce moment, le classeur actif est "NouveauClasseur" qui a deja ete cree
'Place ici les commandes d'importation de ton deuxieme fichier texte
...
ThisWorbook.Activate
'Cette commande te ramene au classeur de depart, pret a cliquer sur le troisieme bouton
End Sub
Et ainsi de suite...
Comme je l'avais annonce, je n'avais pas MS Excel sous les yeux lors de ma proposition.
Voila la syntaxe exacte :
Dim NouveauClasseur As Workbook
Sub Bouton1()
Set NouveauClasseur = Workbooks.Add
'A ce moment, le classeur actif est "NouveauClasseur"
'Place ici les commandes d'importation de ton fichier texte
...
ThisWorbook.Activate
'ThisWorbook ne designe pas le classeur actif mais le classeur qui contient la macro en cours d'execution
'Cette commande te ramene donc au classeur de depart, pret a cliquer sur le deuxieme bouton
End Sub
Sub Bouton2()
NouveauClasseur.Activate
'A ce moment, le classeur actif est "NouveauClasseur" qui a deja ete cree
'Place ici les commandes d'importation de ton deuxieme fichier texte
...
ThisWorbook.Activate
'Cette commande te ramene au classeur de depart, pret a cliquer sur le troisieme bouton
End Sub
Et ainsi de suite...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
santiago69
Messages postés
477
Date d'inscription
mercredi 7 mars 2001
Statut
Membre
Dernière intervention
12 septembre 2016
209
5 nov. 2007 à 14:00
5 nov. 2007 à 14:00
je n'ai pas mon ordi sous windows sous la main.
je te donne les commandes de tete.
quand tu cree le classeur B fais :
dim ClasseurA as object, ClasseurB as object
set ClasseurA = thisworkbook
set ClasseurB = workbooks.new '(la je suis vraiment pas sur)
'comme ca tu as cree 2 objects facilement manipulables qui pointent vers tes 2 fichiers.
quand tu clic sur le 2e bouton, commence par
classeurB.activate
'vu que c'est 2 macro differentes, il faut s'assurer que les variables restent bien en memoire :
'1/ soit en les declarant au niveau module
'2/ soit en les declarant avec static
je te donne les commandes de tete.
quand tu cree le classeur B fais :
dim ClasseurA as object, ClasseurB as object
set ClasseurA = thisworkbook
set ClasseurB = workbooks.new '(la je suis vraiment pas sur)
'comme ca tu as cree 2 objects facilement manipulables qui pointent vers tes 2 fichiers.
quand tu clic sur le 2e bouton, commence par
classeurB.activate
'vu que c'est 2 macro differentes, il faut s'assurer que les variables restent bien en memoire :
'1/ soit en les declarant au niveau module
'2/ soit en les declarant avec static