Excel

cs_Vincent666 Messages postés 4 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 15 septembre 2005 - 14 sept. 2005 à 13:08
cs_Vincent666 Messages postés 4 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 15 septembre 2005 - 15 sept. 2005 à 07:58
Bonjour à tous.



J'ai une petite question à propos d'excel. Je souhaite renomer une cellule Excel, genre la C3 en Toto.

J'ai donc fait pour cela une macro afin d'en faire sessortir le code et pouvoir l'incorporer à VB.

Le code serais le suivant :

MonExcel.ActiveWorkbook.Names.Add Name:="Toto", RefersToR1C1:="=Feuil1!R3C3"

Le probleme est que cela ne fonctionne pas du tout. Pas de message d'erreur ni de nom de cellule changée.



Merci par avance.

8 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
14 sept. 2005 à 13:35
Bonjour,
J'ai essayé ta macro elle fonctionne très bien chez-moi, enlève MonExcel et réessaie.

ActiveWorkbook.Names.Add Name:="toto", RefersToR1C1:="=Feuil1!R3C3"

jpleroisse
0
cs_Vincent666 Messages postés 4 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 15 septembre 2005
14 sept. 2005 à 13:46
Bonjour jpleroisse,



En fait si tu execute la macro avec excel, elle fonctionne tres bien
mais des lors que tu la mais dans VB et que tu viens piloter excel,
chez moi elle ne fonctionne plus. Excel est declarer comme cela,



Global MonExcel As Excel.Application



ensuite :



Set MonExcel = CreateObject("excel.application")



' Ouvre la Base Voulue (celle qui est vierge mais qui a toutes les colonnes créées)

MonExcel.Workbooks.Open FileName:=Fenetre3.Chemin + "\Documents\BD_Excel_test.xls"

'MsgBox ActiveWindow.WindowNumber

MonExcel.Application.Visible = True



est apres :



MonExcel.ActiveWorkbook.Names.Add Name:="Toto", RefersToR1C1:="=Feuil1!R3C3"



Salutations
0
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
14 sept. 2005 à 14:07
bonjour


ne serait-il pas plus simple d'appeler excel comme tu le fais, et de placer dans ton fichier excel une macro "autoopen" ou "autoouvrir" qui s'occupe du nom de ta cellule ?


bon courage
0
cs_Vincent666 Messages postés 4 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 15 septembre 2005
14 sept. 2005 à 14:14
Bonjour domsig,



Merci beaucoup, je n'y avais pas penser. Il suffit juste de placer en
parametres les 2 index cellules et colonnes ainsi que le nom de la page
et le nom de la cellule et c'est parti.

Par contre faut-il, lors du lancement du fichier Excel par VB, faire
qqch pour activer les macros ou c apres en interne de Vb que je lance
la macro de Excel??? (Question peut etre con mais je ne l'ai jamais
fais).



Merci encore.



Salutations

[auteurdetail.aspx?ID=335833 ]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
VBFranceBlub Messages postés 27 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 19 septembre 2005
14 sept. 2005 à 14:31
Salut;

MonExcel.Application.ActiveWorkbook.Names.Add "Toto", "Feuil1!R1C1"

Ca fonctionne comme ça?

<-Blub->
0
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
14 sept. 2005 à 18:46
excel contient des macros spéciales mais j'ai jamais été capable de
retenir leurs noms, c'est quelque chose comme autoopen, autoouvrir,
auto_open ou auto_ouvrir (fais une recherche dans l'aide d'excel). Tout
ce que tu mets dans ces macros se déclenche à l'ouverture du classeur
contenant cette macro. Il y a aussi autoclose ou autofermer dans le
même ordre d'idée...

bon courage
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
15 sept. 2005 à 01:28
Lut,
As tu mis les références qu'il faut dans ton projet VB ?

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
cs_Vincent666 Messages postés 4 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 15 septembre 2005
15 sept. 2005 à 07:58
Bonjour,



C'est bon j'ai trouvé. En fait j'ai declaré ma feuille en tant que
Excel.Worksheet puis une zone de type Excel.Range puis je fais

Set Cellule = Xl_F_MOT1S.Range("D3")

Cellule.Name.Name = "Toto"

Cellule etant ma declaration Excel.range



Et la sa fonctionne.



@+ et merci à tous
0
Rejoignez-nous