Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème de formule dans tableau virtuel en Vba

micky01

XLDnaute Occasionnel
Salut tout le monde,
J'ai un problème pour renvoyer une formule à partir d'un tableau virtuel.

Voilà un code similaire...

Code:
TabResult(1, N) = 'ici j'aimerais renvoyer une formule du style "=INDEX(plage;EQUIV($A" & N + 4 & ";feuil1!A:A;0)-1;EQUIV($B$8;feuil1!$2:$2;0))"
TabResult(2, N) = ...
TabResult(3, N) = ...

Est ce que ce genre de chose est possible?

Merci pour votre aide éventuelle.
 

Pierrot93

XLDnaute Barbatruc
Re : Problème de formule dans tableau virtuel en Vba

Bonsoir,

pas sur d'avoir bien compris la question, mais à priori possible, un code comme celui-ci te stockera la chaîne de caractères dans le tableau :

Code:
Dim t(0 To 5) As String
t(0) = "=INDEX(plage;EQUIV($A" & N + 4 & ";feuil1!A:A;0)-1;EQUIV($B$8;feuil1!$2:$2;0))"

bonne soirée
@+
 

micky01

XLDnaute Occasionnel
Re : Problème de formule dans tableau virtuel en Vba

Merci de ta réponse,

En fait, si je met
Code:
TabResult(1, N) = "INDEX(plage;EQUIV($A" & N + 4 & ";feuil1!A:A;0)-1;EQUIV($B$8;feuil1!$2:$2;0))"

Ca me renvoie bien le texte INDEX(plage;EQUIV($A" & N + 4 & ";feuil1!A:A;0)-1;EQUIV($B$8;feuil1!$2:$2;0)) dans mes lignes.

Seulement, j'arrive pas a intégrer le signe "=" dans mon texte pour que ca me colle une formule :s
 

Pierrot93

XLDnaute Barbatruc
Re : Problème de formule dans tableau virtuel en Vba

Re,

je ne comprends pas trop... le code ci-dessous fonctionne chez moi et une formule est bien renvoyée dans la cellule :

Code:
Dim t(0 To 5) As String
t(0) = "=INDEX(plage;EQUIV($A" & N + 4 & ";feuil1!A:A;0)-1;EQUIV($B$8;feuil1!$2:$2;0))"
Range("A1").FormulaLocal = t(0)

A noter le signe = devant INDEX... il n'y est pas dans ton post de 18h11...
 

micky01

XLDnaute Occasionnel
Re : Problème de formule dans tableau virtuel en Vba

Bonjour,

Désolé de ne pas avoir pu répondre avant...

Il se trouve que je n'ai pas ce
Code:
Range(A1).formulalocal = T(0)
etant donné que je suis dans un tableau virtuel comme indiqué dan sle titre...

J'ai
Code:
Dim TabResult() As Variant
TabResult(1, N) = "=INDEX(plage;EQUIV($A" & N + 4 & ";feuil1!A:A;0)-1;EQUIV($B$8;feuil1!$2:$2;0))"
TabResult(2, N) = blablabla (autre code qui ne renvoie pas une formule)
TabResult(3, N) = blablabla (autre code qui ne renvoie pas une formule)

Je ne pense pas etre clair dans mon explication...

Est-il possible de renvoyé une formule à partir d'un TABLEAU VIRTUEL? et si oui, comment?

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Problème de formule dans tableau virtuel en Vba

Bonjour,

as tu testé le code que je t'ai donné.... le tableau virtuel est déclaré ainsi :
Code:
Dim t(0 To 5) As String

bonne journée
@+
 

micky01

XLDnaute Occasionnel
Re : Problème de formule dans tableau virtuel en Vba

Le problème est que tu me change tout mon code, cependant, mon code est beaucoup plus long que ce que j'ai écrit et du coup, je ne voix pas vraiment comment passer de
Code:
Dim TabResult() As Variant
TabResult(1, N) = "=INDEX(plage;EQUIV($A" & N + 4 & ";feuil1!A:A;0)-1;EQUIV($B$8;feuil1!$2:$2;0))"
TabResult(2, N) = blablabla (autre code qui ne renvoie pas une formule)
TabResult(3, N) = blablabla (autre code qui ne renvoie pas une formule)
a ton code
Code:
Dim t(0 To 5) As String
t(0) = "=INDEX(plage;EQUIV($A" & N + 4 & ";feuil1!A:A;0)-1;EQUIV($B$8;feuil1!$2:$2;0))"
Range("A1").FormulaLocal = t(0)

Je vais me replonger dedans etessayé de comprendre, j'ai du louper une étape lol.

Merci à toi Pierrot
 

Pierrot93

XLDnaute Barbatruc
Re : Problème de formule dans tableau virtuel en Vba

Re,

oui mais le code que tu as donné ne peut fonctionner en l'état... tu as extrait que quelques lignes, et tester ces lignes en dehors du contexte, ne donnera rien... si tu rencontres d'autres problèmes, le mieux est de placer sur le forum un tout petit fichier représentant bien le problème posé avec le code complet utilisé...

@+
 

Discussions similaires

Réponses
8
Affichages
520
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…