Je suis actuellement en train de faire une macro de copie sur Excel.
Mon problème est que je fais des basculements entre 2 fichiers Excel.
Lun est nommé « Macro de copie », il ne pose pas de problème
Lautre peut être nommé nimporte comment (Classeur, etc
), et je voudrais pouvoir basculer sur lui sans avoir besoin de lui donner une valeur fixe dans le code (sachant que les 2 fichiers Excel sont ouverts.
Y a-t-il un code permettant de passer outre « Classeur1.xlsx » ?
Cest donc pourquoi je souhaiterai affecter à mon classeur1.xlsx une valeur générique plutôt quune valeur fixe et si vous connaissiez le code me permettant cela, vous permettriez à mon neurone de papy de pouvoir se rendormir.:riva:
Ca te sert à quoi tous tes activate et tes select pour faire une simple copie ?
On peut très bien faire une copie sans rendre active la feuille correspondante.
Et pour activer un classeur, ce n’est pas windows, c’est workbook et sheet
Un fichier excel, vu du VBA (ta macro), est un objet workbook
Donc dans ton cas, tu as deux classeurs d’ouvers, workbooks(1) et workbooks(2)
Il suffit que tu repères lequel a pour nom “Macro de copie” et ensuite tu t’adresseras à l’autre par workbooks(x)
(x représente le numéro que tu auras auparavant déterminé)
En fait, je fais ca via une automatisation, je ne connais que très peu le vba.
Ca marchait super suite pour la dernière conversation que l’on a eu mais depuis, on m’a annoncé que le fichier concerné pouvait avoir n’importe quel nom.
Il faut donc que je trouve une solution pour arriver à faire el plus simple possible pour des gens qui ne savent même aps activer une macro
tu fais comme j’ai dit plus haut
en début de macro, tu mets
if workbooks(1).name = “Macro de Copie.xls” then
set w=activeworkbooks(2)
else
set w=activeworkbooks(1)
endif
et ensuite, partout où tu as besoin du classeur, tu utilises simplement w à la place
Tout cela en supposant qu’il n’y ait que deux classeurs d’ouverts, bien sûr
Edité le 14/10/2008 à 13:05
non, ce n’est pas le else qui est de trop c’est le active
set w=workbooks(2) et idem pour (1)
Au début, j’étais parti sur activeworkbook (sans s, là), mais je me suis dit qu’on n’ouvrait peut être pas toujours les fichiers dans le même ordre ; donc mieux vaut faire un test sur le nom
J’adore Excel, même en étant une bille comme moi; On peut arriver à faire des trucs sympas (et même passer pour un Pro aux yeux des autes :D).
Heureusement qu’il y a des gens pour nous pousser sur la bonne voie.