Ecriture de formule via VBA

Ecriture de formule via VBA - VB/VBA/VBS - Programmation

Marsh Posté le 05-12-2005 à 17:24:13    

Bonjour à tous !!
 
J'ai un petit problème qui me casse bien la tête :
 
Je souhaite récupérer des données dans un autre classeur.
Pour ça, j'ai choisi de générer des formules dans les cellules. Elles sont sous cette forme :
 
='[classeur.xls]Feuille'!$A$15
 
Quand il reconnait pas le fichier "classeur.xls", il m'ouvre une FileBox pour que je choisisse le fichier à interroger.
Du coup, il me génère une formule de ce genre :
 
='D:\chemin\[classeur.xls]Feuille'!$A$15
 
Malin comme je suis ( :o ), je décide de générer directement le fichier... pour éviter les FileBox à répétition.

Code :
  1. [B3] = "='" & ActiveWorkbook.Path & "[classeur.xls]Feuille'!$A$15"


 
Donc,

Code :
  1. [B3] = "='D:\chemin\[classeur.xls]Feuille'!$A$15"


 
Mais non, quand je regarde directement la formule dans la cellule B3 voilà ce qu'il me génère :
 
='D:\[chemin[classeur.xls]Feuille]chemin[classeur'!$A$15
Bref, n'importe quoi !! Du coup, ça plante.
 
Un grand merci d'avance à celui ou celle qui pourra m'aider (une fois qu'il ou elle aura compris mon problème tiré par les cheveux, je l'avoue...).
 
Joss

Reply

Marsh Posté le 05-12-2005 à 17:24:13   

Reply

Marsh Posté le 05-12-2005 à 17:33:10    

J'ai oublié :
C'est sous Excel !!

Reply

Marsh Posté le 05-12-2005 à 20:02:36    

bonjour,
Essaies :
Range("B3" ).FormulaR1C1 = ...
 
et si ça résiste :
z = ActiveWorkbook.Path
Range("B3" ).FormulaR1C1 = "='" & z & "[classeur.xls]Feuille'!$A$15"
 
mais je pense que la première approche est suffisante.
A+


---------------
roger
Reply

Marsh Posté le 06-12-2005 à 09:36:10    

Salut Joss,
 
Le problème vien d'un "\" manquant.
 
essaye avec :

Code :
  1. Range("A7" ).Formula = "='" & ActiveWorkbook.Path & "\[Classeur.xls]Feuille'!$A$15"


 
Bon courage


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 06-12-2005 à 09:38:20    

Bonjour galopin,
 
A vrai dire, j'ai déjà essayé
Range("B3" ).Formula = ...
Range("B3" ).FormulaR1C1 = ...
[B3] = ...
Et le chemin dans une variable provisoire également.
 
En tout cas, il n'a vraiment pas l'air d'apprécier que je reseigne le chemin à sa place.
Tout résiste :ouch:  !! Sacré galère !
 
Joss

Reply

Marsh Posté le 06-12-2005 à 09:47:10    

Salut Watashi !!
 
Lol, je me sens tout con maintenant... C'était ça : l'antislash manquant. :pt1cable:  
 
Comme quoi, un avis extérieur permet de voir beaucoup de chose !!
 
Bon, Watashi, une fois de plus, je te remercie... deuxième fois que tu résouds mes pb !!... Tu veux que je mette ton nom dans mon pgm ?? lol
 
Merci beaucoup à tous !!
 
Joss

Reply

Marsh Posté le 06-12-2005 à 11:50:48    

lollllll  
Ca ira merci ;)  
Pour l'antislash c'est juste que j'avais déjà eu le problème :)
 
Bon couragze pour ta suite


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Sujets relatifs:

Leave a Replay

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