Bonjour,
J'alimente une feuille Excel à l'aide d'une requete SQL.
(Par VB, un truc du genre SQL_RS.Open SQL_Requete, SQL_Cnx où SQL_Requete contient un 'Execute sp_Toto')
Pas de problème: Ca fonctionne bien. Ca retourne 4000 lignes sur 36 colonnes que je mets ensuite sous la forme de tableau via VB.
Ensuite, j'ai besoin de rajouter des formules dans les colonnes 37 & 38.
J'ai donc fait une boucle VB sur la feuille, en utilisant FORMULALOCAL.
Ca marche, mais ça prend un temps dingue.
J'ai donc eu l'idée de rajouter les formules sous forme de constates dans la requete SQL.
Exemple:
Ca marche presque: Les formules sont bien ramenées dans les cellules, mais elles apparaissent sous forme de texte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ,(st.st_valeur_pr * vs.taux) / 100 AS [Mt Provision] ,(st.st_valeur_pr + st.St_V_AugmRev - St_V_EffComm) * vs.taux / 100 AS [Mt Provision EC] ,'=RECHERCHEV([@[N° Chassis]];Tb_CHASSIS;12;FAUX)' AS Formule1 ,'=STXT([@Période];1;1)' AS Formule2
L'option Formule/Calculer la feuille ne change rien.
La seule solution trouvée pour l'instant est de faire F2 + Entrée et le résultat s'affiche correctement.
Est ce que quelqu'un a la solution pour faire F2+Entrée en automatique sur l'ensemble des 8000 cellules ?
Merci d'avance.
PS.
Pour info, quand j'utilise la notation L1C1 dans les formules en lieu et place des noms de colonne du tableau c'est OK. Pas besoin de F2+Entrée.
Mais j'aimerai bien conserver la syntaxe @nomdecolonne au cas ou mes requetes devraient évoluer.
Partager