Selection/visibilité d'une deuxieme session excel [Résolu]

Messages postés
16
Date d'inscription
mardi 25 janvier 2005
Dernière intervention
22 mai 2006
- - Dernière réponse : Molenn
Messages postés
797
Date d'inscription
mardi 7 juin 2005
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
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Dernière intervention
23 février 2011
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.