Automatisation test formules

Résolu/Fermé
Tibus - 19 févr. 2016 à 21:55
 Tibus - 22 févr. 2016 à 21:12
Bonjour à tous,

Je suis en cours de fabrication d'un modèle sous excel et mon objectif est de faire tester régulièrement des formules (comme =SI(DU20>0;1;SI(DU20<0;-1;0))) et stocker les valeurs pour pouvoir les comparer.

A la main ca marche mais c'est long.

J'ai fais un tableau comme ceci
DK DF
2 REF
3 =SI(...)
4 Resultat

L'objectif est de prendre la formule en DK3 et la placer en FB20 pour la tester jusqu'a FB655

Recupérer le résultat en EY10 et le placer en DK4.
On prends ensuite DF3 et même sentence.

J'ai écrit ca mais j'ai un peu de mal a copier la formule avec le "=" sans qu'elle ne s'incrémente .

Dim i As Integer

For i = 0 To i = 27

Range("DK3" & i).Select


Selection.Copy
Range("FB20").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("FB20:FB655"), Type:=xlFillDefault
Range("FB20:FB655").Select
Range("EY10").Select
Selection.Copy

Range("DF3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Next i


Merci d'avance pour votre aide

Tibus

2 réponses

f894009 Messages postés 16864 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 janvier 2023 1 679
20 févr. 2016 à 09:25
Bonjour,

j'ai un peu de mal a copier la formule avec le "=" sans qu'elle ne s'incrémente . Z'etes sur qu'il n'y a que ca qui ne va pas ????

Range("DK3" & i).Select 
Ne selectionne pas DK3 mais DK30 a DK57

Pour ca, rien compris:
L'objectif est de prendre la formule en DK3 et la placer en FB20 pour la tester jusqu'a FB655

Recupérer le résultat en EY10 et le placer en DK4.
On prends ensuite DF3 et même sentence.
0
Bonjour et surtout merci pour votre intérêt,

Effectivement, je ne suis pas bon du tout en VBA on peut y remédier.

L'objectif est de prendre la formule à tester en DK3 et la placer en FB20 ensuite faire se copier la formule sur X cellules en dessous de FB20 (FB21 22 23 ... 655)

Les tests statistiques sont opérés sur par un algorithme puis le résultats apparais dans la cellules EY10.

Je dois donc la placer en DK4

On prends ensuite DF3 et même sentence on teste pareil on récupère le résultat en EY10 et on place le résultat en DF4.
Le tableau se complète de lui même par une boucle for.
Tibus
0
f894009 Messages postés 16864 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 janvier 2023 1 679 > Tibus
Modifié par f894009 le 20/02/2016 à 10:13
Re,

Ok, mais c'es la que ca coince:

On prends ensuite DF3 et même sentence vous passez de DK a DF

Et vous avez interet a etre rapide pour lire le resultat car boucle sans stop
0
Tibus > f894009 Messages postés 16864 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 janvier 2023
20 févr. 2016 à 12:22
Re,

Effectivement je n'ai pas vérifié mais on passera bien de DK a DL (erreur de ma part)

Par contre il faudra surement laisser analyser et mettre un stop pour que excel ai le temps de calculer.

L'algo fonctionne seul chaque jour mais par contre le soir il doit pouvoir retester les variables pour vérifier que la conjoncture reste la même.

Que me conseillez vous ? Mettre des stop pour laisser le temps de calculer?

Merci .
0
f894009 Messages postés 16864 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 janvier 2023 1 679 > Tibus
20 févr. 2016 à 13:02
Re,

Autre question:
formule à tester en DK3 et la placer en FB20 et celle de DL3 ??
Expliquez correctement ce que vous voulez, ca ne doit pas etre un jeu de devinettes
0
Re,

oups je suis tous les jours dessus et ca me parait (presque simple, desolé)
j'explique :
-La boucle prend la formule en DK3 puis la place en FB20
-Copie de FB20 jusque FBx(admettons pour cette cotation FB655)
-Un resultat est donné en EY10 et copie de EY10 en DK4.

L'objectif final est de remplir un tableau synthétique comme suit :
DK3 la formule a tester
DK4 la perf de la formule

DL3 la seconde formule a tester
DL4 la perf de la seconde formules

Merci de votre aide
0
f894009 Messages postés 16864 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 janvier 2023 1 679
21 févr. 2016 à 10:24
Re,

Sub test()
    Dim i As Integer, Formule As Variant, TCol
    'adapter nom feuille
    Worksheets("feuil1").Activate
    For i = 1 To 28
        TCol = Choose(i, "DK", "DL", "DM", "DN", "DO", "DP", "DQ", "DR", "DS", "DT", "DU", "DV", "DW", "DX", _
                                    "DY", "DZ", "EA", "EB", "EC", "ED", "EF", "EG", "EH", "EI", "EJ", "EK", "EL", "EM")
        Formule = Range(TCol & "3").Formula
        Range("FB20").Formula = Formule
        Range("FB20").AutoFill Destination:=Range("FB20:FB655"), Type:=xlFillDefault
        Range(TCol & "4") = Range("EY10")
    Next i
End Sub
0
Bonjour,

Oui nous y arrivons merci pour ta patience car c'était un peu spécifique.
En lisant le code je me dit deux choses :
- Ca devrais fonctionner de faire un tableau pour ca et surement mieux que ma boucle
- Il faut vraiment que j'approfondisse le VBA ;


Encore un grand merci pour tes compétences et ton aide f894009, je verifie ca dans la soirée
0
f894009 Messages postés 16864 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 janvier 2023 1 679 > Tibus
22 févr. 2016 à 09:19
Bonjour,

- Il faut vraiment que j'approfondisse le VBA Oui et non, surtout appendre la logique de programmation qui est valable pour tous les langages de programmation et ensuite s'adapter au langage a utiliser
0
Tibus > f894009 Messages postés 16864 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 30 janvier 2023
22 févr. 2016 à 21:12
Re,

En fait j'ai appris le VB puis je voulais faire du C alors j'ai appris mais bon sans réellement avoir un bon niveau (surtout sur les pointeurs sur tableau) et la j'ai moins le temps alors je développe sur Excel mais du coup je n'ai pas encore la logique pour la gestion des Cellules et des lignes.
Ca donne des objectifs et ca marche très bien d'ailleurs.

Tu m'as permis de gagner un temps précieux dans le test des formules.

Bonne soirée
0