2015-03-01
- correction cosmétique
   du modèle du Blog
  ° diaporama occupant
     tout l'écran
  ° message défilant
     démarrant du bord
     droit sous Chrome

Trognon le chaton

En lumière..

Des articles Lesbiens: Camellia Rose ,
Lipsticks [:* Fanny] , Lisa
et des Histoires signées MyLzz59: Mylène écrit (http://mylene-ecrit.blogspot.fr)

Des articles Trans-*: Ma Vie En Rose ,
Wawa's Smile , FtM ? , Thomas Beatie 2

Des Coups de Coeur: EXL ,
Kashimashi ~Girl meets Girl~ ,
Sa Majesté Freddie , Mon Côté Midinette
des Coups de Gueule: Karol relève-toi ,
BlondeBox , 1 pub 2 mR2 [bon courage :D]
et des Coups de Blues: Pile 1 an ,
Baisser de Rideau , Interlude

Du Visual Basic (VB6-VBA): Mlle Hanoï
Boules , Bombes , AnaClock , DigiClock ,
Tris (tetris) ,
et de la Bricologie: Real Barbie Girl

Pis pour les plus grand(e)s, des
S*X TOYS:
DildoBike , Tech To Nique

Et même parfois de la vraie vie:
Impressions de Voyage (Maroc) ,
Chez Mickey , La Tonnelle ,
Nous Nous Sommes Rencontrées

.

La vraie Taunie ..


... Tu me manques :'(


Notre Taz :*




Clock & Zik..

Idée Cadeau..


Attrape-Mouches

dyke goudou gouine homo homoaffectivité homoaffectivity homosexual homosexualité homosexuality homosexuel homosexuelle inverti invertie lesbian lesbianism lesbianisme lesbien lesbienne lez néovagin neovagina réassignation saphique saphisme sapphic sapphism trans transgender transgenre transidentité transidentity transsexalité transsexality transsexual transsexualism transsexualisme transsexuel transsexuelle tribade tribadisme vaginoplastie ...

Le combat continue..

MyLzz59..

.. @gmail.com

Blog français

Ca va encore mieux en le disant.. Important
## Comment "marche" ce Blog / Comment laisser un Commentaire ##

Et pour finir,
Mylène écrit (http://mylene-ecrit.blogspot.fr)N'oubliez pas de visiter aussi
mon blog d'histoires ====>



-MyLzz59-

samedi 21 mars 1970

BF_LCEB_Source

' ==========================
' BF_LCEB (P)03/2013 MyLzz59
' ==========================

' -----------------
' Zone Déclarations
' -----------------
Dim NbRep, Total As Single, DeltaMax As Single
Dim Plaque(1 To 11) As Single

' -------------------
' Effectuer un Tirage
' -------------------
Sub Tirage()
Randomize Timer
' Construction Chaîne des 24 Plaques
Chaine$ = "": NbPlaq = 24
' ==> de 1 à 10: 2 de chaque
For Vlr = 1 To 10: Chaine$ = Chaine$ + Format$(Vlr, "000") + Format$(Vlr, "000"): Next Vlr
' ==> 25, 50, 75, 100: 1 de chaque
For Vlr = 25 To 100 Step 25: Chaine$ = Chaine$ + Format$(Vlr, "000"): Next Vlr
' Tirer les 6 Plaques de Départ
For Cpt = 1 To 6
    Vlr = 1 + Int(Rnd * NbPlaq) * 3: NbPlaq = NbPlaq - 1
    Plaque(Cpt) = Val(Mid$(Chaine$, Vlr, 3))
    Chaine$ = Left$(Chaine$, Vlr - 1) + Mid$(Chaine$, Vlr + 3)
Next Cpt
' Tirer le Total à Trouver (entre 100 et 999)
Total = 100 + Int(Rnd * 900)
' Ecart Maxi acceptable
DeltaMax = 0 ' <======================================== A Modifier ICI ====================
' .. vers Affiche_Tirage
Affiche_Tirage
' Ligne d'Etat
Application.StatusBar = "Tirage effectué. Bonne chance .."
End Sub

' ------------------------------
' Afficher les Valeurs du Tirage
' ------------------------------
Sub Affiche_Tirage()
' Les 6 Plaques de Départ
For Cpt = 1 To 6: Cells(2, 2 * Cpt + 3).Value = Plaque(Cpt): Next Cpt
' Le Total à Trouver
Cells(2, 21).Value = Total
' Ecart Maxi acceptable
Cells(2, 25).Value = DeltaMax
' .. vers Efface_Reponses
Efface_Reponses
End Sub

' ---------------------------
' Relecture du Tirage Affiché
' ---------------------------
Sub Relecture_Depart()
' Les 6 Plaques de Départ
For Cpt = 1 To 6: Plaque(Cpt) = Cells(2, 2 * Cpt + 3).Value: Next Cpt
' Le Total à Trouver
Total = Cells(2, 21).Value
' Ecart Maxi acceptable
DeltaMax = Cells(2, 25).Value
' .. vers Efface_Reponses
Efface_Reponses
End Sub

' ----------------------------
' Nettoie la Zone des Réponses
' ----------------------------
Sub Efface_Reponses()
' Nettoyage des Lignes des Réponses
NoLig = 5: Do Until Cells(NoLig, 3).Text = "nnn": NoLig = NoLig + 1: Loop
If NoLig > 5 Then Range("5:" + CStr(NoLig - 1)).Delete
' Masquage des Lignes Inutilisées
Range("1:6").EntireRow.Hidden = False
Range("7:" + Mid$(ActiveSheet.Cells.Address, 4)).EntireRow.Hidden = True
' Finaliser
Cells(5, 1).Select: NbRep = 0
End Sub

' -------------------------------
' Ici commence le Calcul Récursif
' -------------------------------
Sub Calcule()
' .. vers Relecture_Depart
Relecture_Depart
' ==> Les 6 Plaques Tirées sont 'nommées' de 'A' à 'F'
' ==> Les 5 Résultats des Etapes sont assimilés à des Plaques 'G' à 'K'
Lst_Plaq$ = "ABCDEF"
K! = Timer: Application.ScreenUpdating = False

' == Etape 0 (s'il fallait trouver la Plaque '100') ==
For Cpt = 1 To 6
    ' -- Retenir ce Résultat ? --
    If Abs(Plaque(Cpt) - Total) <= DeltaMax Then Affiche_Reponse Mid$(Lst_Plaq$, Cpt, 1)
Next Cpt

' == Etape 1 (Procédure Récursive, Etapes 1 à 5) ==
Calcule_Etape Lst_Plaq$, ""
Application.ScreenUpdating = True

' Tri des Résultats
If NbRep Then Rows("5:" + CStr(NbRep + 4)).Sort _
    Key1:=Range("C5"), Order1:=xlAscending, _
    Key2:=Range("B5"), Order2:=xlAscending, _
    Header:=xlNo, OrderCustom:=1

' == Fini ==
Z1$ = "Fini en " + CStr(Timer - K!) + " sec."
Z2$ = CStr(NbRep) + " réponse(s)."
Application.StatusBar = Z1$ + " | " + Z2$
MsgBox Z1$ + vbCrLf + Z2$, vbInformation, Cells(2, 27).Text
End Sub

' -------------------
' Un Niveau de Calcul
' -------------------
Sub Calcule_Etape(ByVal Lst_Plaq$, ByVal Chaine_Src$)
NbPlaq = Len(Lst_Plaq$): NoPlaq = 13 - NbPlaq
' -- Plaque #1 --
For Cpt1 = 1 To NbPlaq
    VPlaq1$ = Mid$(Lst_Plaq$, Cpt1, 1): Lst1$ = Left$(Lst_Plaq$, Cpt1 - 1) + Mid$(Lst_Plaq$, Cpt1 + 1)
    ' -- Plaque #2 --
    For Cpt2 = 1 To NbPlaq - 1
        VPlaq2$ = Mid$(Lst1$, Cpt2, 1): Lst2$ = Left$(Lst1$, Cpt2 - 1) + Mid$(Lst1$, Cpt2 + 1) + Chr$(64 + NoPlaq)
        ' -- Opérateur --
        For Cpt3 = 1 To 4
            Oper$ = Mid$("+-*/", Cpt3, 1)
            ' -- Equation --
            Select Case Oper$
                Case "+"
                    If Cpt2 >= Cpt1 Then
                        Plaque(NoPlaq) = Plaque(Asc(VPlaq1$) - 64) + Plaque(Asc(VPlaq2$) - 64)
                    Else
                        Plaque(NoPlaq) = 0.5 ' Annuler Commutativité de l'Addition
                    End If
                Case "-"
                    Plaque(NoPlaq) = Plaque(Asc(VPlaq1$) - 64) - Plaque(Asc(VPlaq2$) - 64)
                    If Plaque(NoPlaq) < -0.5 Then Plaque(NoPlaq) = 0.5 ' Annuler Résultats Négatifs
                Case "*"
                    If Cpt2 >= Cpt1 Then
                        Plaque(NoPlaq) = Plaque(Asc(VPlaq1$) - 64) * Plaque(Asc(VPlaq2$) - 64)
                    Else
                        Plaque(NoPlaq) = 0.5 ' Annuler Commutativité de la Multiplication
                    End If
                Case "/"
                    If Plaque(Asc(VPlaq2$) - 64) Then
                        Plaque(NoPlaq) = Plaque(Asc(VPlaq1$) - 64) / Plaque(Asc(VPlaq2$) - 64)
                    Else
                        Plaque(NoPlaq) = 0.5 ' Annuler Division par Zéro
                    End If
            End Select
            ' -- Validité de cette Equation --
            If Abs(Plaque(NoPlaq) - Fix(Plaque(NoPlaq))) < 0.0005 Then
                Plaque(NoPlaq) = Fix(Plaque(NoPlaq))
                Chaine_Rest$ = Chaine_Src$ + VPlaq1$ + Oper$ + VPlaq2$ + ";"
                ' -- Retenir cette Equation ? --
                If Abs(Plaque(NoPlaq) - Total) <= DeltaMax Then
                    ' Elimination des Equations Inutilisées
                    Chaine$ = Left$("GHI", NoPlaq - 7): Bool_OK = True
                    For Cpt = 1 To Len(Chaine$)
                        If InStr(Lst2$, Mid$(Chaine$, Cpt, 1)) Then Bool_OK = False
                    Next Cpt
                    If Bool_OK Then Affiche_Reponse Chaine_Rest$
                End If
                ' -- Continuer ? --
                If NoPlaq < 11 Then Calcule_Etape Lst2$, Chaine_Rest$
            End If
        ' -- Fin Opérateur --
        Next Cpt3
    ' -- Fin Plaque #2 --
    Next Cpt2
' -- Fin Plaque #1 --
Next Cpt1
End Sub

' ----------------------------
' Affiche une Ligne de Réponse
' ----------------------------
Sub Affiche_Reponse(ByVal Ch$)
NbRep = NbRep + 1: NoLig = NbRep + 4: Rows(CStr(NoLig) + ":" + CStr(NoLig)).Insert Shift:=xlDown
' Etape 0
Vlr = 0: Cpt = InStr("ABCDEF", Left$(Ch$, 1)): If Cpt Then Vlr = Plaque(Cpt)
' Etapes 1 à 5
NbOper = 0: Cpt = InStr(Ch$, ";")
While Cpt = 4
    NbOper = NbOper + 1: NoCol = 6 * NbOper - 1
    Cpt = InStr("ABCDEFGHIJ", Mid$(Ch$, 1, 1)): If Cpt Then Cells(NoLig, NoCol).Value = Plaque(Cpt)
    Cells(NoLig, NoCol + 1).Value = Mid$(Ch$, 2, 1): Cells(NoLig, NoCol + 3).Value = "="
    Cpt = InStr("ABCDEFGHIJ", Mid$(Ch$, 3, 1)): If Cpt Then Cells(NoLig, NoCol + 2).Value = Plaque(Cpt)
    Vlr = Plaque(NbOper + 6): Cells(NoLig, NoCol + 4).Value = Vlr: Ch$ = Mid$(Ch$, 5): Cpt = InStr(Ch$, ";")
Wend
' Rendu
Cells(NoLig, 2).Value = Vlr: Cells(NoLig, 3).Value = Abs(Vlr - Total)
' Affichage Intermédiaire
If NbRep Mod 10 = 0 Then
    Application.ScreenUpdating = True
    Application.StatusBar = CStr(NbRep) + " Réponses trouvées .."
    DoEvents
    Application.ScreenUpdating = False
End If
End Sub

' ---------
' Interface
' ---------
' ==> Bouton "Tirer"
Private Sub C_Tirage_Click()
Unprotect "": Tirage: Protect ""
End Sub
' ==> Bouton "Chercher"
Private Sub C_Calc_Click()
Unprotect "": Calcule: Protect ""
End Sub
Revenir à l'article principal (BF_LCEB)..

-MyLzz59-