Probléme syntaxe macro excel 4

Probléme syntaxe macro excel 4 - VB/VBA/VBS - Programmation

Marsh Posté le 06-11-2012 à 10:02:21    

Bonjour,
Je dois récupérer la valeur d'une cellule dans un fichier externe fermé.
le nom du fichier ou se trouve la valeur correspond à la valeur d' une cellule du fichier actif (B10). Pour le nom d'onglet (toujours dans le fichier externe), celui ci est parfois amené à changer de nom et je ne peux donc pas utiliser ce paramétre dans ma macro et voudrais plutôt utiliser le N° d'ordre de l'onglet qui lui ne changera pas. Voici concrétement mes lignes de code :
 
Cette ligne fonctionne avec le nom d'onglet (ONGLET N°3)

Code :
  1. Cells(1, 1).Value = ExecuteExcel4Macro("'c:\mondossier\monsousdossier\[" & (ThisWorkbook.Sheets("MONONGLET" ).Cells(10, 2).Value) & "]ONGLET N°3'!R1C12" )

 
 
Cette ligne ne fonctionne pas avec le N° d'ordre (Sheets(3))car je ne trouve pas la bonne syntaxe :cry: (si toutefois c'est possible?)

Code :
  1. 'Cells(1, 1).Value = ExecuteExcel4Macro("'c:\mondossier\monsousdossier\[" & (ThisWorkbook.Sheets("MONONGLET" ).Cells(10, 2).Value) & "]  Sheets(3)'!R1C12" )


 
Un grand merci à qui pourra m'aiguiller vers la solution ;)


Message édité par seagull6 le 06-11-2012 à 10:05:16
Reply

Marsh Posté le 06-11-2012 à 10:02:21   

Reply

Marsh Posté le 06-11-2012 à 10:47:10    

Salut,
 
Tu peux surement utiliser la fonction INDIRECT(), mais je ne connais pas trop la syntaxe excel4.
 
Ca donnerait un truc dans ce genre :

Code :
  1. Cells(1, 1).Value = ExecuteExcel4Macro(INDIRECT("'c:\mondossier\monsousdossier\[" & (ThisWorkbook.Sheets("MONONGLET" ).Cells(10, 2).Value) & "]  Sheets(3)'!R1C12" ))


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Marsh Posté le 06-11-2012 à 22:29:39    

Bonsoir et merci pour ton intervention oovaveoo mais cela ne fonctionne pas , je pense que c'est au niveau de la syntaxe pour exprimer le sheet(3).name du classeur fermé que ça ne colle pas...

Reply

Marsh Posté le 07-11-2012 à 07:19:14    

Tu peux peut-être essayer comme ça alors :

Code :
  1. Cells(1, 1).Value = ExecuteExcel4Macro("'c:\mondossier\monsousdossier\[" & (ThisWorkbook.Sheets("MONONGLET" ).Cells(10, 2).Value) & "]" & Sheets(3).Name & "'!R1C12" )


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed