Bonjour,
question simple mais je trouve pas la solution!!
Est ce que quelqu'un aurait un bout de code pour activer le dernier classeur ouvert par Excel.
En effet, je dois importer des données depuis le dernier ficher excel ouvert dont le nom change.
C'est ce qui me bloque et je veux éviter l'ordre d'ouverture.
Merci!
activer dernier classeur Excel ouvert 
5 messages
• Page 1 sur 1
- prasikall32
- Membre habitué
- Messages: 50
- Inscription: 01 Avr 2010, 09:49
- Version Excel: 2007FR
Re: activer dernier classeur Excel ouvert
Bonjour,
Ta question n'est pas claire. Merci de reformuler.
A+
Ta question n'est pas claire. Merci de reformuler.
A+
- galopin01
- Membre dévoué
- Messages: 931
- Inscription: 18 Sep 2008, 17:32
- Localisation: bourg en bresse
- Version Excel: 2010
Re: activer dernier classeur Excel ouvert
Bonjour
C'est le classeur actif (ActiveWorkbook)
Où est la question ?
Bien sur si j'ai compris
prasikall32 a écrit: le dernier classeur ouvert par Excel
C'est le classeur actif (ActiveWorkbook)
Où est la question ?
Bien sur si j'ai compris

-

Banzai64 - Passionné d'Excel
- Messages: 4587
- Inscription: 21 Nov 2010, 16:42
- Localisation: Jurançon
- Version Excel: 2003 FR
Re: activer dernier classeur Excel ouvert
J'ai mon classeur de travail dans lequel je veux importer des demandes. Ce classeur de travail reste ouvert toute la journée.
J'ouvre ensuite une premiere demande à importer ; je lance la macro d'import; je ferme la demande
J'ouvre une seconde demande à importer ; je lance la macro d'import; je ferme la demande
etc etc etc
ce que je souhaite, c'est que ma macro (que je lance depuis le classeur de travail) aille chercher les infos dans le fichier de demande. Donc pour ça, je sais qu'il existe au moins 2 possibilités :
* soit donner à la macro le nom du fichier dans lequel aller chercher les infos (ce que je ne peux pas faire parce qu'aucune partie du nom du fichier n'est reproduite à chaque demande)
* soit dire à l'utilisateur : fermer ts les fichiers Excel. Ouvrir le classeur de travail (qui sera le workbook1) puis la demande (qui sera le workbook2). Je veux éviter cette solution pour plusieurs raisons.
Ma question est donc : puisque j'ouvre toujours en dernier le fichier de demande dans lequel je dois aller chercher des infos. N'y a t il pas un moyen de dire à ma macro que le bon classeur où aller piocher est le dernier qui a été ouvert ?
Merci
-- 28 Juil 2011, 21:22 --
J'ai mon classeur de travail dans lequel je veux importer des demandes. Ce classeur de travail reste ouvert toute la journée.
J'ouvre ensuite une premiere demande à importer ; je lance la macro d'import; je ferme la demande
J'ouvre une seconde demande à importer ; je lance la macro d'import; je ferme la demande
etc etc etc
ce que je souhaite, c'est que ma macro (que je lance depuis le classeur de travail) aille chercher les infos dans le fichier de demande. Donc pour ça, je sais qu'il existe au moins 2 possibilités :
* soit donner à la macro le nom du fichier dans lequel aller chercher les infos (ce que je ne peux pas faire parce qu'aucune partie du nom du fichier n'est reproduite à chaque demande)
* soit dire à l'utilisateur : fermer ts les fichiers Excel. Ouvrir le classeur de travail (qui sera le workbook1) puis la demande (qui sera le workbook2). Je veux éviter cette solution pour plusieurs raisons.
Ma question est donc : puisque j'ouvre toujours en dernier le fichier de demande dans lequel je dois aller chercher des infos. N'y a t il pas un moyen de dire à ma macro que le bon classeur où aller piocher est le dernier qui a été ouvert ?
Merci
-- 28 Juil 2011, 21:32 --
j'ai transposé le code que j'utilise pour selectionner le derniere onglet d'un classeur pour ma situation
ca me donne
Workbooks(Workbooks.Count).Activate
Je pense que ça marche et que c'était la solution!!
je testerai demain
J'ouvre ensuite une premiere demande à importer ; je lance la macro d'import; je ferme la demande
J'ouvre une seconde demande à importer ; je lance la macro d'import; je ferme la demande
etc etc etc
ce que je souhaite, c'est que ma macro (que je lance depuis le classeur de travail) aille chercher les infos dans le fichier de demande. Donc pour ça, je sais qu'il existe au moins 2 possibilités :
* soit donner à la macro le nom du fichier dans lequel aller chercher les infos (ce que je ne peux pas faire parce qu'aucune partie du nom du fichier n'est reproduite à chaque demande)
* soit dire à l'utilisateur : fermer ts les fichiers Excel. Ouvrir le classeur de travail (qui sera le workbook1) puis la demande (qui sera le workbook2). Je veux éviter cette solution pour plusieurs raisons.
Ma question est donc : puisque j'ouvre toujours en dernier le fichier de demande dans lequel je dois aller chercher des infos. N'y a t il pas un moyen de dire à ma macro que le bon classeur où aller piocher est le dernier qui a été ouvert ?
Merci
-- 28 Juil 2011, 21:22 --
J'ai mon classeur de travail dans lequel je veux importer des demandes. Ce classeur de travail reste ouvert toute la journée.
J'ouvre ensuite une premiere demande à importer ; je lance la macro d'import; je ferme la demande
J'ouvre une seconde demande à importer ; je lance la macro d'import; je ferme la demande
etc etc etc
ce que je souhaite, c'est que ma macro (que je lance depuis le classeur de travail) aille chercher les infos dans le fichier de demande. Donc pour ça, je sais qu'il existe au moins 2 possibilités :
* soit donner à la macro le nom du fichier dans lequel aller chercher les infos (ce que je ne peux pas faire parce qu'aucune partie du nom du fichier n'est reproduite à chaque demande)
* soit dire à l'utilisateur : fermer ts les fichiers Excel. Ouvrir le classeur de travail (qui sera le workbook1) puis la demande (qui sera le workbook2). Je veux éviter cette solution pour plusieurs raisons.
Ma question est donc : puisque j'ouvre toujours en dernier le fichier de demande dans lequel je dois aller chercher des infos. N'y a t il pas un moyen de dire à ma macro que le bon classeur où aller piocher est le dernier qui a été ouvert ?
Merci
-- 28 Juil 2011, 21:32 --
j'ai transposé le code que j'utilise pour selectionner le derniere onglet d'un classeur pour ma situation
ca me donne
Workbooks(Workbooks.Count).Activate
Je pense que ça marche et que c'était la solution!!
je testerai demain
- prasikall32
- Membre habitué
- Messages: 50
- Inscription: 01 Avr 2010, 09:49
- Version Excel: 2007FR
Re: activer dernier classeur Excel ouvert 
Bonsoir
Je répète le dernier classeur ouvert est ActiveWorkbook
Si entre le moment où tu l'ouvres et le moment où tu l'utilises tu ne fais aucun Workbooks("xx").Activate ou autre joyeuseté (style WorkBooks("yy").Save) pour changer de classeur tu pourras utiliser ActiveWorkbook
UN avis : Si ce n'est pas dans la même macro l'ouverture du fichier et son utilisation, récupère son nom lors de l'ouverture et stocke le dans une variable globale, comme cela plus de soucis
Et tu pourras utiliser
Je répète le dernier classeur ouvert est ActiveWorkbook
Si entre le moment où tu l'ouvres et le moment où tu l'utilises tu ne fais aucun Workbooks("xx").Activate ou autre joyeuseté (style WorkBooks("yy").Save) pour changer de classeur tu pourras utiliser ActiveWorkbook
UN avis : Si ce n'est pas dans la même macro l'ouverture du fichier et son utilisation, récupère son nom lors de l'ouverture et stocke le dans une variable globale, comme cela plus de soucis
Et tu pourras utiliser
- Code: Tout sélectionner
WorkBooks(Nom_Sauvegardé).....

-

Banzai64 - Passionné d'Excel
- Messages: 4587
- Inscription: 21 Nov 2010, 16:42
- Localisation: Jurançon
- Version Excel: 2003 FR
5 messages
• Page 1 sur 1
-
- Sujets similaires
- Réponses
- Vus
- Dernier message
-
- Un seul classeur ouvert
par vacoch » 12 Sep 2008, 15:30 - 6 Réponses
- 824 Vus
- Dernier message par vacoch

25 Sep 2008, 15:23
- Un seul classeur ouvert
-
- Tester le nom du classeur ouvert
par zyglur » 19 Mai 2011, 16:22 - 8 Réponses
- 117 Vus
- Dernier message par zyglur

20 Mai 2011, 00:18
- Tester le nom du classeur ouvert
-
- VBA : contrôler si un classeur est ouvert
par libanga » 12 Mai 2009, 11:38 - 4 Réponses
- 610 Vus
- Dernier message par felix

13 Mai 2009, 16:54
- VBA : contrôler si un classeur est ouvert
-
- [VBA] test si classeur deja ouvert
par kif » 21 Juin 2009, 15:34 - 6 Réponses
- 1077 Vus
- Dernier message par kif

22 Juin 2009, 14:32
- [VBA] test si classeur deja ouvert
-
- comment savoir si un classeur est ouvert
par muriel86 » 11 Oct 2011, 14:24 - 2 Réponses
- 102 Vus
- Dernier message par muriel86

11 Oct 2011, 15:25
- comment savoir si un classeur est ouvert
-
- Copie de la feuille du classeur ouvert vers un nouveau class
par fopinem » 06 Fév 2012, 12:12 - 3 Réponses
- 84 Vus
- Dernier message par lermite

07 Fév 2012, 16:06
- Copie de la feuille du classeur ouvert vers un nouveau class
Utilisateurs en ligne
Utilisateurs parcourant ce forum: Bing [Bot], CB60, cris690, Google [Bot], Majestic-12 [Bot] et 15 invités