Selection/visibilité d'une deuxieme session excel

Résolu
spyderco Messages postés 16 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 22 mai 2006 - 25 avril 2006 à 09:50
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 25 avril 2006 à 12:30
Bonjour,
Voila mon code :

Open "U:\annuaire-test.csv" For Input As #1
Input #1, a, b
Workbooks("U:\annuaire-test.csv").Sheets("annuaire-test").Select
a = Range("a1").End(xlDown).Address
Range(a).Select
b = ActiveCell.Offset(1, 0).Address
Range(b).Select
ActiveCell.FormulaLocal = Workbooks("formulaire ajout mail.xls").Sheets("saisiemail").Range("B7").Value
Close #1

Il est censé ouvrir un fichier (annuaire-test.csv) dans une deuxeme session d''Excel, aller a la fin du fichier et y ajoutant la ligne contenue dans le fichier "formulaire ajout mail.xls" de la feuille "saisiemail" de la cellule B7.

Le probleme c'est que lorsque je lance le code il ne selcetionne pas la deuxieme session excel et execute le code dans la feuille active de la premiere session.

Il me renvoi l'erreur sur la ligne souligné "l'indice n'apartient pas a la selection".
Comment rendre visble ou activé la deuxieme session d'excel pour qu'il puisse éxécuter le code.

Merce d'avance

1 réponse

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
25 avril 2006 à 12:30
C'est parce que en VBA, si je ne dis pas de bêtises, tu ne peux pas faire appel à des données d'un autre fichier sans l'activer. Je modifierais un tout petit peu ton code pour que cela fonctionne, en coupant le raisonnement en 4 étapes.
De plus, la façon d'ouvrir le fichier .cvs me semble étrange, tu l'ouvres oui, mais ça l'ouvre sous Excel de cette façon ? Bizarre. Voici comment je ferais :


Première étape : Enregistrer dans une variable ta formule à copier

Dim Temp as string
Temp = Workbooks("formulaire ajout mail.xls").WorkSheets("saisiemail").Range("B7").Value


Deuxième étape : Ouvrir le fichier Excel cible

Workbooks.Open ("U:\annuaire-test.csv")
'Le chemin du fichier est en dur, pour une appli, je conseillerais
'plutôt d'être en chemin relatif, mais bon, c'est pas le propos ^^


Troisième étape : Copier ta formule dans ton fichier cible.

Workbooks("annuaire-test.csv").WorkSheets("annuaire-test").range("A1").FormulaLocal = temp
'A condition bien sûr que ta formule soit à mettre dans la cellule A1


Quatrière étape : Fermeture du fichier Excel que tu viens d'ouvrir
Workbooks("annuaire-test.csv").Close

Et voilà.
Je l'ai fait de tête et sans tester, mais ça devrait coller.

Molenn
3
Rejoignez-nous