Resultat d'une formule VBA dans ma plage de donnée

  • Initiateur de la discussion Initiateur de la discussion skid7
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

skid7

XLDnaute Nouveau
Bonjour,

Je sais que la question a été posé mais ma question diffère un peut.
En effet, je sais mettre une formule via VBA dans une cellule, le problème c'est que je ne veut que le résultat.
J'ai donc codé en conséquence, sauf que j'aimerai que ce calcul fait dans VBA s'applique sur toute ma plage et non sur une cellule et qu'il prenne en compte du coup, la position de chaque cellule...

En gros c'est comment "tirer ma formule" dans vba ????

La formule dans le tableur c'est : =SIERREUR((INDEX(Forecast!$A$2:$FX$1188;EQUIV(Data!$K30;Forecast!$A$2:$A$1188;0);EQUIV(Data!AD$29;Forecast!$A$2:$FX$2;0)))/(NB.SI(Data!$K$30:$K$4000;Data!$K30));0)

Soit, Index(equiv;equiv) / NB.SI

En VBA pour avoir le résultat j'ai codé ça :

Sub Macro5()

Dim Equiv1 As String
Dim Equiv2 As String
Dim index As String
Dim count As String
Dim resultat As String

Equiv1 = WorksheetFunction.Match(Sheets("Data").Range("k30"), Sheets("Forecast").Range("A2:A1188"), 0)
Equiv2 = WorksheetFunction.Match(Sheets("Data").Range("AD29"), Sheets("Forecast").Range("a2:fx2"), 0)
index = WorksheetFunction.index(Sheets("Forecast").Range("A2:FX1188"), Equiv1, Equiv2)
count = WorksheetFunction.CountIf(Sheets("Data").Range("k30:k4000"), Sheets("Data").Range("k30"))
resultat = index / count

ThisWorkbook.Sheets("DATA").Range("AD30:FQ4000").Value = resultat

End Sub


Sauf qu'il me prend en compte que "k30" et "f29", c'est bien pour le résultat en "AD30" mais pour les autres cellules niet.

J'espère que je suis clair sinon je vous enverrai mon fichier (le temps de le modifier un peut)

Merci pour votre aide car j'ai pas envie de faire une formule pour chaque cellule.


En gros le k30 c'est pour AD30, le k31 c'est pour AD 31 etc. (tirer la formule vers le bas)
Et le AD29 pour AD30 jusqu'à AD 4000, le AE 29 pour AE30--> AE4000 etc. (tirer la formule à droite)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
1 K
Retour