0 Members and 1 Guest are viewing this topic.
Wow, tout ça dans Excel ! As-tu écris l'émulateur avec des macros dans Excel ou tu appelles des fonctions de Virtual AGC ?
Sub Timer() 'Code à exécuter If Application.Range("A1").Value <> "Stop" Then Application.OnTime Now + TimeValue("00:00:01"), "Timer" End IfEnd Sub
Mais c'est un malade !!
Private Sub CommandButton_'name'_GotFocus() Range("Xn").Select ActiveCell.FormulaR1C1 = "STOP"'"stop" ou "ta g...le" ou "ce que je veux"'
Private Sub AGC_POWER_SpinDown() Range("A28:N40").Select Selection.ClearContents Range("H28").SelectEnd SubPrivate Sub AGC_POWER_SpinUp() Range("K28").Select ActiveCell.FormulaR1C1 = "1" Range("M28").Select ActiveCell.FormulaR1C1 = "1" Range("H28").SelectEnd SubPrivate Sub CommandButton_0_Click() ActiveCell.FormulaR1C1 = "0" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_0_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.FormulaR1C1 = "0" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_1_Click() ActiveCell.FormulaR1C1 = "1" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.FormulaR1C1 = "1" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_2_Click() ActiveCell.FormulaR1C1 = "2" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_2_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.FormulaR1C1 = "2" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_3_Click() ActiveCell.FormulaR1C1 = "3" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_3_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.FormulaR1C1 = "3" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_4_Click() ActiveCell.FormulaR1C1 = "4" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_4_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.FormulaR1C1 = "4" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_5_Click() ActiveCell.FormulaR1C1 = "5" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_5_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.FormulaR1C1 = "5" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_6_Click() ActiveCell.FormulaR1C1 = "6" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_6_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.FormulaR1C1 = "6" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_7_Click() ActiveCell.FormulaR1C1 = "7" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_7_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.FormulaR1C1 = "7" ActiveCell.Offset(1, 0).Range("A1").SelectEnd SubPrivate Sub CommandButton_8_Click() ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell.FormulaR1C1 = "8" ActiveCell.Offset(1, 1).Range("A1").SelectEnd SubPrivate Sub CommandButton_8_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell.FormulaR1C1 = "8" ActiveCell.Offset(1, 1).Range("A1").SelectEnd SubPrivate Sub CommandButton_9_Click() ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell.FormulaR1C1 = "9" ActiveCell.Offset(1, 1).Range("A1").SelectEnd SubPrivate Sub CommandButton_9_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ActiveCell.Offset(0, -1).Range("A1").Select ActiveCell.FormulaR1C1 = "9" ActiveCell.Offset(1, 1).Range("A1").SelectEnd SubPrivate Sub CommandButton_clear_Click() Range("L29").Select ActiveCell.FormulaR1C1 = "=R[-1]C[+9]" ActiveCell.FormulaR1C1 = "0" Range("G28:I38").Select Selection.ClearContents Range("H28").SelectEnd SubPrivate Sub CommandButton_entr_Click() Range("J30").Select ActiveCell.FormulaR1C1 = _ "=IF(OR(R[-2]C[-8]=1,R[-2]C[-5]=1,NOT(R[-2]C[-2]=""""),NOT(R[-2]C[-3]="""")),1,0)" Range("J28").Select ActiveCell.FormulaR1C1 = "1" ActiveCell.FormulaR1C1 = "0" Range("G28:I38").Select Selection.ClearContents Range("A28:E28").Select Selection.ClearContents Range("J29").Select ActiveCell.FormulaR1C1 = "1" ActiveCell.FormulaR1C1 = "0" Range("J30").Select ActiveCell.FormulaR1C1 = "0" Range("H28").SelectEnd SubPrivate Sub CommandButton_keyrel_Click() Range("K28").Select ActiveCell.FormulaR1C1 = "0" ActiveCell.FormulaR1C1 = "=IF(OR(R[0]C[-1]=1,R[0]C[3]=1),1,RC)" Range("H28").SelectEnd SubPrivate Sub CommandButton_minus_Click() ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "-" ActiveCell.Offset(0, -1).Range("A1").SelectEnd SubPrivate Sub CommandButton_noun_Click() Range("D29:F30").Select Selection.ClearContents Range("E28").Select ActiveCell.FormulaR1C1 = "1" Range("E29").SelectEnd SubPrivate Sub CommandButton_plus_Click() ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "+" ActiveCell.Offset(0, -1).Range("A1").SelectEnd SubPrivate Sub CommandButton_pro_Click() Range("J30").Select ActiveCell.FormulaR1C1 = "1" Range("N28").Select ActiveCell.FormulaR1C1 = "1" ActiveCell.FormulaR1C1 = "0" Range("J29").Select ActiveCell.FormulaR1C1 = "1" ActiveCell.FormulaR1C1 = "0" Range("J30").Select ActiveCell.FormulaR1C1 = "0" Range("H28").SelectEnd SubPrivate Sub CommandButton_rset_Click() Range("M28").Select ActiveCell.FormulaR1C1 = "0" ActiveCell.FormulaR1C1 = "1" Range("H28").SelectEnd SubPrivate Sub CommandButton_verb_Click() Range("A29:C30").Select Selection.ClearContents Range("B28").Select ActiveCell.FormulaR1C1 = "1" Range("B29").SelectEnd SubSub Timer() 'Code à exécuter Calculate If Application.Range("AE15").Value <> "Stop" Then Application.OnTime Now + TimeValue("00:00:01"), "Timer" End IfEnd Sub
Le code que tu as posté me pose des questions
Je pense que je vais la lier à l'exécution d'un VERB de type "monitor" (VERB 16 par exemple) ; là je parle pour ceux qui ont déjà utilisé le virtual AGC de NASSP. Merci Florian.
SI tu lui fais un V16E N43E, va-t-il te dire où tu te situe ?
C'est un vieux truc que j'avais bricolé pour NASSP et qui servait à calculer la manœuvre de phasing d'Apollo 7. Puis de fil en aiguille j'avais mis au point le calcul de toutes les phases d'un RDV coelliptique et j'avais appelé le tableur RDV spreadsheet.
Oui ce qui fait défaut dans orbiter c'est un outil (MFD ou autre) qui puisse calculer un phasing.
Wow.... on peut en avoir une copie.J'adore ce truc. Belle réalisation