IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mais où donc trouver ce satané spreedsheets [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #121
    Invité
    Invité(e)
    Par défaut
    Bonjour Patrick,
    l’événement click n'intervient qu'une fois vue que l’élément est déjà sélectionné!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub menuDIV_Click()
        Select Case menuDIV.ListIndex
        Case 1: WebBrowser1.Document.parentWindow.execScript ("insertdiv()")
        Case 2: WebBrowser1.Document.getelementbyid("divactif").Style.Border = "1px solid black"
        Case 3: WebBrowser1.Document.getelementbyid("divactif").Style.Border = 0
        Case 4: barrecouleur menuDIV.Value
        Case 5: barrecouleur menuDIV.Value
        End Select
        menuDIV.ListIndex = -1
    End Sub
    tu as tellement cogiter en javascript que au revoir les base du vba!

  2. #122
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    hahahaha !! et oui c'est ca
    puré ah!! je suis bon hein !!....


    alors qu'en pense tu? il s'étoffe mon wysiwyg version vba

    tu a fait les essais sur la copie de table etc.....
    a tu remarqué que il y a les deux option url /img64 pour les images
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #123
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut,
    Patrick tu peux débogguer (F12) ton code HTML/JAVASCRIPT avec IE en créant un fichier HTML avec ton

    pour lancer tes fonction javascript tu les lances par la barre de navigation

    javascript:insertdiv()

    mais dans IE (11 émulé en IE9) cela marche !

    cela semble corriger ton problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub menuDIV_Click()
        Select Case menuDIV.ListIndex
        Case 1: WebBrowser1.Document.parentWindow.execScript ("insertdiv()")
        Case 2: WebBrowser1.Document.getelementbyid("divactif").Style.Border = "1px solid black"
        Case 3: WebBrowser1.Document.getelementbyid("divactif").Style.Border = 0
        Case 4: barrecouleur menuDIV.Value
        Case 5: barrecouleur menuDIV.Value
        End Select
        menuDIV.Value = ""
    End Sub
    promis j'ai pas triché mais j'avais pas rafraichit la pag e !!

  4. #124
    Invité
    Invité(e)
    Par défaut
    ha oui j’avoue c'est la grande classe!

    moi je me suis fait un contrôle, que j'utilise dans une application.
    je vais le test pour l'intégrer! en vb6 pas de problème mais en Excel Vba le webbroser ne me permet pas de saisir le @, je veux pas me taper le chr(64) tou bou de champ!

    j'ai trouvé un autre contrôle VbBroser!
    Images attachées Images attachées  

  5. #125
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    mais c'est que tu trouve ces trucs toi?
    envoie l'ocx si tu peut partage et je regarde
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #126
    Invité
    Invité(e)
    Par défaut
    notre contrôle surtout toi! https://mon-partage.fr/f/UfJxwipt/
    Code Petit Exemple VB6 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    590
    591
    592
    593
    594
    595
    596
    597
    598
    599
    600
    601
    602
    603
    604
    605
    606
    607
    608
    609
    610
    611
    612
    613
    614
    615
    616
    617
    618
    619
    620
    621
    622
    623
    624
    625
    626
    627
    628
    629
    630
    631
    632
    633
    634
    635
    636
    637
    638
    639
    640
    641
    642
    643
    644
    645
    646
    647
    648
    649
    650
    651
    652
    653
    654
    655
    656
    657
    658
    659
    660
    661
    662
    663
    664
    665
    666
    667
    668
    669
    670
    671
    672
    673
    674
    675
    676
    677
    678
    679
    680
    681
    682
    683
    684
    685
    686
    687
    688
    689
    690
    691
    692
    693
    694
    695
    696
    697
    698
    699
    700
    701
    702
    703
    704
    705
    706
    707
    708
    709
    710
    711
    712
    713
    714
    715
    716
    717
    718
    719
    720
    721
    722
    723
    724
    725
    726
    727
    728
    729
    730
    731
    732
    733
    734
    735
    736
    737
    738
    739
    740
    741
    742
    743
    744
    745
    746
    747
    748
    749
    750
    751
    752
    753
    754
    755
    756
    757
    758
    759
    760
    761
    762
    763
    764
    765
    766
    767
    768
    769
    770
    771
    772
    773
    774
    775
    776
    777
    778
    779
    780
    781
    782
    783
    784
    785
    786
    787
    788
    789
    790
    791
    792
    793
    794
    795
    796
    797
    798
    799
    800
    801
    802
    803
    804
    805
    806
    807
    808
    809
    Option Explicit
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'vbMHWB ActiveX control simple demonstration application
    'Author: MH
    'Email: mehr13@hotmail.com
    'Last Update: Sep 10 2005
    '
    'Common terms used throughout:
    'WB: Webbrowser
    'WBCtl: Webbrowser Control
    'UID: Unique ID
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    'vbMHWB, uses the same Webbrowser control which VB, C++, Delphi
    'are using. In addition to new functionalities,
    'vbMHWB control contains most of the properties, methods,
    'and events that any other WB implementation come with.
    '
    'I have attempted to place the focus of this demo application
    'on some of the new functionalities added by this control. The usual
    'back, forward, ... have been omitted. To keep this demo's dependency free,
    'I am using a hidden menu "mnuWBTabs" to simulate a multi tab.
    '
    'I do have an advanced demo application with multi tabs, ...
    'If anyone is interested, please email me for the source + binaries
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    'To keep track of current WB being displayed
    Public iCur As Integer
    'Two bool arrays to hold back+forward values for each wb
    Private garrBackBtn() As Boolean
    Private garrForwardBtn() As Boolean
     
    'Simple nav
    Private Sub Command2_Click(Index As Integer)
     
        On Error GoTo Command2_Click_Error
     
        If iCur < 1 Then Exit Sub
     
        Select Case Index
            Case 0 'back
                vbWB1.GoBack iCur
            Case 1 'stop
                vbWB1.Stop iCur
            Case 2 'forward
                vbWB1.GoForward iCur
        End Select
     
        Exit Sub
    Command2_Click_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Command2_Click of Form frmMain"
    End Sub
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Unlike VB's WBCtl, vbMHWB does not create a WB by default at runtime
    'This enables one to use this control for file downloads using
    'DownloadUrlAsync method (which fires OnFileDLxxx events to control DL)
    'When adding WBs, each new WB is assigned a UID which
    'is passed as wbUID param in events to distinguish which instance of WB has
    'fired the event.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Form_Load()
        On Error GoTo Form_Load_Error
        Dim glWBDownloadFlags As Long
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'You can set/get either
    'global flags which effects all instances of WBCtl being created
    'by passing no value to the optional parameter of WBCtl properties
    'or
    'a WBCtl's specific flags which only effects that specific control
    'identified by it's UID, passed to the property.
    'Needs a refresh for the flags to take effect.
     
    'Possibilities;
    'One instance to view regular pages,
    'one to view popups (limited options),
    'one to view suspicoius pages (No Java, Javascript, ActiveX, Images, ...),
    'One to act as a tooltip, ...
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        'Set global flags for UI, DLCTL, Context menu, Accelerator keys, Script error action
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
        'default UI flags: DOCHOSTUIFLAG_NO3DBORDER or DOCHOSTUIFLAG_FLAT_SCROLLBAR
        vbWB1.DocumentHostUiFlags = WBDOCHOSTUIFLAG_NO3DBORDER Or _
                                    WBDOCHOSTUIFLAG_FLAT_SCROLLBAR Or _
                                    WBDOCHOSTUIFLAG_THEME
     
        'Default DLCTL flags
        glWBDownloadFlags = WBDOCDOWNLOADCTLFLAG_DLIMAGES Or _
                            WBDOCDOWNLOADCTLFLAG_BGSOUNDS Or _
                            WBDOCDOWNLOADCTLFLAG_VIDEOS
        vbWB1.DocumentDownloadControlFlags = glWBDownloadFlags
     
        'Context menu action
        'Default, display none
        vbWB1.ContextMenuAction = WBCONTEXTMENUACTION_RAISE_ONCONTEXTMENU_EVENT
     
        'Accelerator keys
        'Default, block all
        vbWB1.AcceletorKeysAction = WBACCELETORKEYSACTION_RAISE_ONACCELETORKEYS_EVENT
     
        'Script error action
        'Default,
        vbWB1.ScriptErrorAction = WBSCRIPTERRORACTION_DISPLAY_NONE_STOP_RUNNING_SCRIPTS
     
        'Default, we take over downloads internally
        'please refer to OnFileDLxxx events
        'vbWB1.UseIEDefaultFileDownload = False
     
        'Initialize Boolean arrays to synchronize Back+Forward btns
        ReDim garrBackBtn(0)
        ReDim garrForwardBtn(0)
     
        'Create a new WB, and get a UID for that instance of WB
        'In a multi tab WB, one would store the UIDs within the
        'tab lparam, or ... and later can access that specific instance of
        'WB using the UID stored. Also almost all the methods, properties, and events
        'contain a UID param, which enables one to access, modify, ... WBCtls
        vbWB1.AddBrowser iCur
     
        'Use the UID to register this one as Browser
        vbWB1.RegisterAsBrowser(iCur) = True
     
        'Store the iud in the mnu tag
        mnuWB(0).Tag = CStr(iCur)
     
        Load frmFindText
        Load frmSandBox
     
        Exit Sub
    Form_Load_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Form_Load of Form frmMain"
     
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
     
        On Error GoTo Form_Unload_Error
     
        Unload frmSandBox
        Unload frmFindText
     
        Exit Sub
    Form_Unload_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Form_Unload of Form frmMain"
    End Sub
     
    Private Sub mnuWB_Click(Index As Integer)
     
        On Error GoTo mnuWB_Click_Error
     
        Dim iID As Integer
        Dim objDoc As Object
     
        If Len(mnuWB(Index).Tag) > 0 Then
            iID = CInt(mnuWB(Index).Tag)
            If iID > 0 Then
                iCur = iID
                Command2(0).Enabled = garrBackBtn(iCur - 1)
                Command2(2).Enabled = garrForwardBtn(iCur - 1)
                'Change caption, get the document object
                Set objDoc = vbWB1.Document(iID)
                If Not objDoc Is Nothing Then
                    Caption = CStr(objDoc.Title)
                Else
                    Caption = "Unable to retreive document Title"
                End If
                vbWB1.PlaceWBOnTop iID
                vbWB1.SetFocusW iID
            End If
        End If
        Exit Sub
    mnuWB_Click_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure mnuWB_Click of Form frmMain"
    End Sub
     
     
    Private Sub vbWB1_CommandStateChange(ByVal wbUID As Integer, ByVal Command As Long, ByVal Enable As Boolean)
     
        On Error GoTo vbWB1_CommandStateChange_Error
     
        If Command = 2 Then 'CSC_NAVIGATEBACK
            garrBackBtn(wbUID - 1) = Enable
            If wbUID = iCur Then
                Command2(0).Enabled = Enable
            End If
        ElseIf Command = 1 Then 'CSC_NAVIGATEFORWARD
            garrForwardBtn(wbUID - 1) = Enable
            If wbUID = iCur Then
                Command2(2).Enabled = Enable
            End If
        End If
     
        Exit Sub
    vbWB1_CommandStateChange_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_CommandStateChange of Form frmMain"
    End Sub
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired by HTTP or HTTPS protocol handler before sending request headers to a server
    'Fired after BeforeNavigate2
    'This includes html, images, css, ...
    'To activate or deactivate protocol handlers use RegisterHTTPprotocol or RegisterHTTPSprotocol
    'Additional headers can be added using sAdditionalHeaders param
    'Default, Cancel = False. Request can be cancelled by setting Cancel to TRUE.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_ProtocolHandlerOnBeginTransaction(ByVal wbUID As Integer, ByVal sUrl As String, ByVal sRequestHeaders As String, sAdditionalHeaders As String, Cancel As Boolean)
        On Error GoTo vbWB1_ProtocolHandlerOnBeginTransaction_Error
     
        AddToLog ">>>ProtocolHandlerOnBeginTransaction>>>wbUID>>> " & CStr(wbUID) & vbCrLf & _
                    "RequestHeaders>>>" & vbCrLf & sRequestHeaders
     
        Exit Sub
    vbWB1_ProtocolHandlerOnBeginTransaction_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_ProtocolHandlerOnBeginTransaction of Form frmMain"
     
    End Sub
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired by HTTP or HTTPS protocol handler after receiving response headers from server
    'this includes and redirect headers that were send after a normal response
    'Fired before DocumentComplete
    'To activate or deactivate protocol handlers use RegisterHTTPprotocol or RegisterHTTPSprotocol
    'sRedirectedUrl = if has value, indicates the during initial request, we were redirected to another site
    'Default, Cancel = False. Request can be cancelled by setting Cancel to TRUE.
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_ProtocolHandlerOnResponse(ByVal wbUID As Integer, ByVal sUrl As String, ByVal sResponseHeaders As String, ByVal sRedirectedUrl As String, ByVal sRedirectHeaders As String, Cancel As Boolean)
        On Error GoTo vbWB1_ProtocolHandlerOnResponse_Error
     
        AddToLog ">>>ProtocolHandlerOnResponse>>>wbUID>>> " & CStr(wbUID) & vbCrLf & _
                ">>>RedirectedURL>>> " & sRedirectedUrl & vbCrLf & _
                ">>>RedirectHeaders>>>" & vbCrLf & sRedirectHeaders & _
                ">>>ResponseHeaders>>>" & vbCrLf & sResponseHeaders
     
        Exit Sub
    vbWB1_ProtocolHandlerOnResponse_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_ProtocolHandlerOnResponse of Form frmMain"
     
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'By default, vbMHWB takes over all WB file downloads internally. This gives the developer
    'ability to control the download using OnFileDLxxx events
    'If you wish to use the default behaviour of WBCtl set UseIEDefaultFileDownload to true
    '
    'This event is called in place of FileDownload event if UseIEDefaultFileDownload = False
    '
    'FileDlUID, UID for this file download, can be used to stop a DL using CancelFileDl method
    'Default, SendProgressEvents = True (sends OnFileDLProgress)
    'sFilename= xxx.zip
    'sExt= .zip
    'sURL= http://www.site.com/folder/xxxxx/xxx.zip
    'sRedirURL= Url of the site we have been redirected to
    'sExtraHeaders= Response headers received from server in response to our request
    'Default, bStopDownload = False
    'sPathToSave= Must be in form of Fullpath/Filename.ext. if no value is passed
    'then the file will be saved in the same directory as the exe with the format sFilename/sExt
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_FileDownloadEx(ByVal wbUID As Integer, ByVal FileDlUID As Integer, ByVal sUrl As String, ByVal sFilename As String, ByVal sExt As String, ByVal sExtraHeaders As String, ByVal sRedirURL As String, SendProgressEvents As Boolean, bStopDownload As Boolean, sPathToSave As String)
     
        On Error GoTo vbWB1_FileDownloadEx_Error
        SendProgressEvents = False
        AddToLog ">>>vbWB1_FileDownloadEx>>>FileName>>>" & sFilename & vbCrLf & _
                    ">>>URL>>> " & sUrl & vbCrLf & ">>>RedirectedURL>>> " & sRedirURL & vbCrLf & _
                    ">>>sExtraHeaders>>>" & vbCrLf & sExtraHeaders
     
        Exit Sub
    vbWB1_FileDownloadEx_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_FileDownloadEx of Form frmMain"
    End Sub
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'NewWindow3 event
    'Only available in XP sp2 and higher
    'Fires before NewWindow2
    'Default, Cancel = true
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_NewWindow3(ByVal wbUID As Integer, ppDisp As Object, Cancel As Boolean, ByVal lFlags As Long, ByVal sURLContext As String, ByVal sUrl As String)
     
        On Error GoTo vbWB1_NewWindow3_Error
        Cancel = False
        AddToLog ">>>New Winodw3>>>"
     
        Exit Sub
    vbWB1_NewWindow3_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_NewWindow3 of Form frmMain"
    End Sub
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fires when an accelerator key is pressed if we have set the
    'ContextMenuAction to WBCONTEXTMENUACTION_RAISE_ONCONTEXTMENU_EVENT
    'then you will receive events for each accelerator key activated
    'default, Cancel = False (displays WB default context menu)
    ''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnAcceletorKeys(ByVal wbUID As Integer, ByVal nKeyCode As Integer, ByVal nVirtExtKey As Integer, Cancel As Boolean)
     
        On Error GoTo vbWB1_OnAcceletorKeys_Error
     
    'To cancel the action, set
    'Cancel = True
     
        If nVirtExtKey = vbKeyControl Then
            Select Case nKeyCode
                Case vbKeyA
                    AddToLog "OnAcceletorKeys_vbKeyA"
                Case vbKeyC
                    AddToLog "OnAcceletorKeys_vbKeyC"
                Case vbKeyE
                    AddToLog "OnAcceletorKeys_vbKeyE"
                Case vbKeyF
                    Cancel = True
                    frmFindText.Show , Me
                    AddToLog "OnAcceletorKeys_vbKeyF"
                Case vbKeyH
                    AddToLog "OnAcceletorKeys_vbKeyH"
                Case vbKeyI
                    AddToLog "OnAcceletorKeys_vbKeyI"
                Case vbKeyN
                    AddToLog "OnAcceletorKeys_vbKeyN"
                'Open current URL in a new window
                Case vbKeyO
                    AddToLog "OnAcceletorKeys_vbKeyO"
                Case vbKeyP
                    AddToLog "OnAcceletorKeys_vbKeyP"
                Case vbKeyV
                    AddToLog "OnAcceletorKeys_vbKeyV"
                Case vbKeyX
                    AddToLog "OnAcceletorKeys_vbKeyX"
                Case Else
                    AddToLog "OnAcceletorKeys_Unknown_nKeyCode"
            End Select
        ElseIf nVirtExtKey = vbKeyMenu Then
            Select Case nKeyCode
                Case vbKeyHome
                    AddToLog "OnAcceletorKeys_vbKeyHome"
                Case vbKeyLeft
                    AddToLog "OnAcceletorKeys_vbKeyLeft"
                Case vbKeyRight
                    AddToLog "OnAcceletorKeys_vbKeyRight"
                Case Else
                    AddToLog "OnAcceletorKeys_Unknown_nVirtExtKey"
            End Select
        Else
            AddToLog "OnAcceletorKeys_Unknown_nVirtExtKey"
        End If
     
        Exit Sub
    vbWB1_OnAcceletorKeys_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnAcceletorKeys of Form frmMain"
    End Sub
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Network authentication
    'Supports basic authentication
    'can be used to automate network loggins without user interaction
    'Default, Cancel = False
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnAuthentication(ByVal wbUID As Integer, sUsername As String, sPassword As String, Cancel As Boolean)
     
        On Error GoTo vbWB1_OnAuthentication_Error
     
        'Ask user for info
        Load frmLogin
        frmLogin.Show vbModal, Me
        If frmLogin.LoginSucceeded = True Then
            sUsername = frmLogin.txtUserName
            sPassword = frmLogin.txtPassword
        Else
            Cancel = True
        End If
        Unload frmLogin
     
        Exit Sub
    vbWB1_OnAuthentication_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnAuthentication of Form frmMain"
    End Sub
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired before context menu is displayed
    'default, ctxDisplay = flase, display no contextmenu
    'to receive this event, set ContextMenuAction to WBACCELETORKEYSACTION_RAISE_ONACCELETORKEYS_EVENT
    'ContextMenuAction = 0, no ctxmnus - no event is generated
    'ContextMenuAction = 1, IE default ctxmnus - no event is generated
    'ContextMenuType = refer to WBCONTEXTMENUTYPE_xxxxx enum
    'X and Y are based on screen coordinates
    'ObjElem is the actual HTMLElement that generated this event
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnContextMenu(ByVal wbUID As Integer, ByVal ContextMenuType As Long, ByVal X As Long, ByVal Y As Long, ByVal ObjElem As Object, ctxDisplay As Boolean)
     
        On Error GoTo vbWB1_OnContextMenu_Error
     
        Dim sTmp As String
        Dim objTmp As Object
     
        If ContextMenuType = VBMHWBLibCtl.WBCONTEXTMENUTYPE_ANCHOR Then
            AddToLog "OnContextMenu_ANCHOR>> " & CStr(ObjElem.href)
        ElseIf ContextMenuType = VBMHWBLibCtl.WBCONTEXTMENUTYPE_IMAGE Then
            AddToLog "OnContextMenu_IMAGE>> " & CStr(ObjElem.src)
            'Check to see if the parent is a ALINK
            Set objTmp = ObjElem.parentElement
            If Not objTmp Is Nothing Then
                sTmp = "" & objTmp.tagname
                If LCase(sTmp) = "a" Then
                    AddToLog "OnContextMenu_IMAGE_ANCHOR>> " & CStr(objTmp.href)
                End If
            End If
        ElseIf ContextMenuType = VBMHWBLibCtl.WBCONTEXTMENUTYPE_TEXTSELECT Then
            AddToLog "OnContextMenu_TEXTSELECT"
        ElseIf ContextMenuType = VBMHWBLibCtl.WBCONTEXTMENUTYPE_CONTROL Then
            AddToLog "OnContextMenu_CONTROL"
            ctxDisplay = True
        ElseIf ContextMenuType = VBMHWBLibCtl.WBCONTEXTMENUTYPE_VSCROLL Or ContextMenuType = VBMHWBLibCtl.WBCONTEXTMENUTYPE_HSCROLL Then
            AddToLog "OnContextMenu_VSCROLL_HSCROLL"
            ctxDisplay = True
        Else 'Unknown/Default - Display our own menu
            AddToLog "OnContextMenu_Unknown_Default"
            ctxDisplay = True
        End If
     
        Exit Sub
    vbWB1_OnContextMenu_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnContextMenu of Form frmMain"
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Same DocumentComplete, except with a new param isTopLevel
    'indicating if the main document that initiated the navigation
    'has READYSTATE_COMPLETE. No need to compare pDisp with the main
    'doc object.
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_DocumentComplete(ByVal wbUID As Integer, URL As Variant, ByVal pDisp As Object, ByVal isTopLevel As Boolean)
     
        On Error GoTo vbWB1_DocumentComplete_Error
     
        If isTopLevel = True Then
            AddToLog ">>>vbWB1_DocumentComplete>>> " & CStr(URL)
        End If
     
        Exit Sub
    vbWB1_DocumentComplete_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_DocumentComplete of Form frmMain"
    End Sub
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired before sending request headers to server. Gives client a chance to add additional headers.
    'Example:
    'If local file exists then set bResuming = True and add Range header to request
    'If server supports this header, it will resume download
    '    'Syntax: Range: bytes=n-m
    '    'Range = "Range" ":" ranges-specifier
    '    'A client can use this header to request one or more segments of a document.
    '    sAdditionalRequestHeaders = "Range: bytes=" & CStr(LocalFileSize) & "-" & vbCrLf
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnFileDLBeginningTransaction(ByVal FileDlUID As Integer, ByVal sUrl As String, ByVal sRequestHeaders As String, sAdditionalRequestHeaders As String, bResuming As Boolean, bCancel As Boolean)
     
        On Error GoTo vbWB1_OnFileDLBeginningTransaction_Error
     
        AddToLog ">>>vbWB1_OnFileDLBeginningTransaction>>>" & _
                    vbCrLf & ">>>URL>>> " & sUrl & vbCrLf & ">>>RequestHeaders>>>" & vbCrLf & sRequestHeaders
     
        Exit Sub
    vbWB1_OnFileDLBeginningTransaction_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnFileDLBeginningTransaction of Form frmMain"
    End Sub
     
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired after receiving the first initial response from server.
    'Can examine sResponseHeaders and lResponseCode to determine wheher to continue
    'or abort the download
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnFileDLResponse(ByVal FileDlUID As Integer, ByVal sUrl As String, ByVal lResponseCode As Long, ByVal sResponseHeaders As String, CancelDl As Boolean)
     
        On Error GoTo vbWB1_OnFileDLResponse_Error
     
        'Check return codes
        If lResponseCode = 301 Or lResponseCode > 399 Then
            'Notify user and see if they want to delete item from list
            MsgBox "OnFileDLResponse - Server error. CODE: " & TranslateStatusCode(lResponseCode) & vbCrLf & "Aborting Download...", vbOKOnly + vbCritical
            CancelDl = True
            Exit Sub
        End If
     
        'AddToLog ">>>vbWB1_OnFileDLResponse>>>" & vbCrLf & ">>>ResponseCode>>> " & lResponseCode & vbCrLf & ">>>sResponseHeaders>>> " & sResponseHeaders
     
        Exit Sub
    vbWB1_OnFileDLResponse_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnFileDLResponse of Form frmMain"
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired to indicate the progress of a file dl
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnFileDLProgress(ByVal FileDlUID As Integer, ByVal sUrl As String, ByVal lProgress As Long, ByVal lProgressMax As Long, CancelDl As Boolean)
     
        On Error GoTo vbWB1_OnFileDLProgress_Error
     
        AddToLog ">>>vbWB1_OnFileDLProgress>>> " & CStr(lProgress) & " of " & CStr(lProgressMax)
     
        Exit Sub
    vbWB1_OnFileDLProgress_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnFileDLProgress of Form frmMain"
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired to indicate that errors have occured duing download
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnFileDLDownloadError(ByVal FileDlUID As Integer, ByVal sUrl As String, ByVal sErrorMsg As String)
     
        On Error GoTo vbWB1_OnFileDLDownloadError_Error
     
        AddToLog ">>>vbWB1_OnFileDLDownloadError>>> " & sUrl & vbCrLf & ">>>ErrMsg>>> " & sErrorMsg
     
        Exit Sub
    vbWB1_OnFileDLDownloadError_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnFileDLDownloadError of Form frmMain"
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired to indicate that file download has ended successfully
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnFileDLEndDownload(ByVal FileDlUID As Integer, ByVal sUrl As String)
     
        On Error GoTo vbWB1_OnFileDLEndDownload_Error
     
        AddToLog ">>>vbWB1_OnFileDLEndDownload>>> " & sUrl
     
        Exit Sub
    vbWB1_OnFileDLEndDownload_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnFileDLEndDownload of Form frmMain"
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired to signal that a download has been cancelled.
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnFileDLCancelDownload(ByVal FileDlUID As Integer, ByVal sUrl As String, ByVal CancelledDuringDL As Boolean)
     
        On Error GoTo vbWB1_OnFileDLCancelDownload_Error
     
        AddToLog ">>>vbWB1_OnFileDLCancelDownload>>> CancelledDuringDL >> " & CStr(CancelledDuringDL)
     
        Exit Sub
    vbWB1_OnFileDLCancelDownload_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnFileDLCancelDownload of Form frmMain"
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'CAUTION:
    'Using this event incorrectly may place the client PC open for abuse
    'You can either use the IE registry values to read user security settings
    'or do as IE does, prompt the user and store the result in a storage of some sort so as
    'not to prompt the user all the time
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_OnHTTPSecurityProblem(ByVal wbUID As Integer, ByVal lProblem As Long, Cancel As Boolean)
        On Error GoTo vbWB1_OnHTTPSecurityProblem_Error
    'ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR
    'ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR
     
        If MsgBox("Security Problem:" & vbCrLf & TranslateStatusCode(lProblem) & vbCrLf & "Proceed?", vbYesNo + vbCritical) = vbYes Then
            Cancel = False
        End If
     
        Exit Sub
    vbWB1_OnHTTPSecurityProblem_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_OnHTTPSecurityProblem of Form frmMain"
     
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'This event is fired numerous times for every action WB needs to take for a URL
    'in regards to URLACTION security, refer to enumURLACTION for a list of possible
    'actions.
    'The current list of URLACTIONs that will not be passed to the custom security manager
    'in most circumstances by Internet Explorer 5 are:
    '    URLACTION_SHELL_FILE_DOWNLOAD
    '    URLACTION_COOKIES
    '    URLACTION_JAVA_PERMISSIONS
    '    URLACTION_SCRIPT_PASTE
    'There is no workaround for this problem. The behavior for the URLACTION can only be
    'changed for all browser clients on the system by altering the security zone settings
    'from Internet Options.
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_SecurityManagerProcessUrlAction(ByVal wbUID As Integer, ByVal sUrl As String, ByVal Action As Long, bAllow As Boolean)
     
        On Error GoTo vbWB1_SecurityManagerProcessUrlAction_Error
     
        If Action = enumURLACTION.URLACTION_SCRIPT_OVERRIDE_SAFETY Or _
            Action = enumURLACTION.URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY Or _
            Action = enumURLACTION.URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY Or _
            Action = enumURLACTION.URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY Then
            bAllow = False
    '    'To stop form submissions to. Hits before URLACTION_HTML_SUBMIT_FORMS_FROM
    '    'If cancelled at this point then URLACTION_HTML_SUBMIT_FORMS_FROM will not hit
    '    elseIf Action = enumURLACTION.URLACTION_HTML_SUBMIT_FORMS_TO Then
    '        Debug.Print "URLACTION_HTML_SUBMIT_FORMS_TO"
    '        bAllow = False
    '    ElseIf Action = enumURLACTION.URLACTION_HTML_SUBMIT_FORMS_FROM Then
    '        Debug.Print "URLACTION_HTML_SUBMIT_FORMS_FROM"
    '        bAllow = False
    '    'Stop running all scripts. hits numerious times
    '    ElseIf Action = enumURLACTION.URLACTION_SCRIPT_RUN Then
    '        Exit Sub
    '        'Debug.Print "URLACTION_SCRIPT_RUN"
    '        bAllow = False
    '    'Stop running activex controls
    '    ElseIf Action = enumURLACTION.URLACTION_ACTIVEX_RUN Then
    '        Debug.Print "URLACTION_ACTIVEX_RUN"
    '        bAllow = False
    '    Else
    '        Debug.Print "url=" & sUrl & "=Action=" & UrlActionToString(Action) & "="
        End If
     
        Exit Sub
    vbWB1_SecurityManagerProcessUrlAction_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_SecurityManagerProcessUrlAction of Form frmMain"
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Fired before an HTML message is about to be displayed.
    'Can change the message or stop displaying message.
    'No need to set the Silent property of WB to True to stop these msgs.
    'Default ShwMsg = False
    'Sample:
    'Your current security settings prohibit running ActiveX controls on this page. As a result, the page may not display correctly.
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub vbWB1_ShowMessage(ByVal wbUID As Integer, sMsg As String, ShowMsg As Boolean)
        On Error GoTo vbWB1_ShowMessage_Error
     
        AddToLog ">>>vbWB1_ShowMessage>>>" & vbCrLf & sMsg
        'ShowMsg = False
        ShowMsg = True
     
        Exit Sub
    vbWB1_ShowMessage_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_ShowMessage of Form frmMain"
    End Sub
     
    Private Sub vbWB1_BeforeNavigate2(ByVal wbUID As Integer, URL As Variant, ByVal pDisp As Object, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
     
        On Error GoTo vbWB1_BeforeNavigate2_Error
     
        AddToLog ">>>vbWB1_BeforeNavigate2>>> " & CStr(URL)
     
        Exit Sub
    vbWB1_BeforeNavigate2_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_BeforeNavigate2 of Form frmMain"
    End Sub
     
    'Default, Cancel = true
    Private Sub vbWB1_NewWindow2(ByVal wbUID As Integer, ppDisp As Object, Cancel As Boolean)
     
        On Error GoTo vbWB1_NewWindow2_Error
        Cancel = False
        AddToLog ">>>New Winodw2>>>"
     
        Exit Sub
    vbWB1_NewWindow2_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_NewWindow2 of Form frmMain"
    End Sub
     
    Private Sub vbWB1_NavigateError(ByVal wbUID As Integer, ByVal pDisp As Object, URL As Variant, TargetFrameName As Variant, StatusCode As Variant, Cancel As Boolean)
        On Error GoTo vbWB1_NavigateError_Error
     
        Dim lStat As Long
     
        lStat = CLng(StatusCode)
        'Here we get nav errors for file download with status code 200(OK)
        If lStat = enumInetNav.HTTP_STATUS_CONTINUE Or _
            lStat = enumInetNav.HTTP_STATUS_ACCEPTED Or _
            lStat = enumInetNav.HTTP_STATUS_OK Or _
            lStat = enumInetNav.HTTP_STATUS_REDIRECT Or _
            lStat = enumInetNav.HTTP_STATUS_REQUEST_TIMEOUT Then Exit Sub 'Let wb show a timeout page
     
        AddToLog ">>>vbWB1_NavigateError>>> " & CStr(URL) & vbCrLf & ">>>StatusCode>>> " & TranslateStatusCode(lStat)
        Cancel = False
     
        Exit Sub
    vbWB1_NavigateError_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_NavigateError of Form frmMain"
    End Sub
     
    Private Sub vbWB1_StatusTextChange(ByVal wbUID As Integer, ByVal Text As String)
     
        On Error GoTo vbWB1_StatusTextChange_Error
     
        Label1.Caption = Text
     
        Exit Sub
    vbWB1_StatusTextChange_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_StatusTextChange of Form frmMain"
    End Sub
     
    Private Sub vbWB1_TitleChange(ByVal wbUID As Integer, ByVal Text As String)
     
        On Error GoTo vbWB1_TitleChange_Error
     
        Caption = Text
     
        Exit Sub
    vbWB1_TitleChange_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure vbWB1_TitleChange of Form frmMain"
    End Sub
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
    Private Sub cmdSandBox_Click()
     
        On Error GoTo cmdSandBox_Click_Error
     
        If frmSandBox.Visible = False Then frmSandBox.Show , Me
        frmSandBox.vbWB1.Navigate frmSandBox.hCurWB, Combo1.Text
     
        Exit Sub
    cmdSandBox_Click_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure cmdSandBox_Click of Form frmMain"
    End Sub
     
    'Go
    Private Sub Command1_Click()
     
        On Error GoTo Command1_Click_Error
     
        Dim iIndex As Integer, newTab As Long
        Dim sUrl As String
     
        sUrl = Combo1.Text
     
        If LenB(sUrl) = 0 Then Exit Sub
        If Len(sUrl) > 25 Then sUrl = Left(sUrl, 25) & "..."
     
        'Using UID, obtained from calling AddBrowser
        'to access this instance of WBCtl
        vbWB1.Stop iCur
        'Create a new WB
        If chkNewWB.Value = vbChecked Then
            'Adjust Back+Forward btns array size
            ReDim Preserve garrBackBtn(vbWB1.Count)
            ReDim Preserve garrForwardBtn(vbWB1.Count)
            vbWB1.AddBrowser iIndex
            If iIndex > 0 Then
                iCur = iIndex
                Load mnuWB(mnuWB.Count)
                mnuWB(mnuWB.UBound).Tag = CStr(iIndex)
                mnuWB(mnuWB.UBound).Caption = sUrl
                lblWBCount.Caption = CStr(mnuWB.Count)
            End If
        Else
            'Update the current menu
            mnuWB(iCur - 1).Caption = sUrl
        End If
     
        Command2(0).Enabled = garrBackBtn(iCur - 1)
        Command2(2).Enabled = garrForwardBtn(iCur - 1)
        vbWB1.NavigateSimple iCur, Combo1.Text
     
        Exit Sub
    Command1_Click_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Command1_Click of Form frmMain"
    End Sub
     
    Public Sub AddToLog(strLog As String)
     
        On Error GoTo AddToLog_Error
     
        txtLog.SelStart = Len(txtLog.Text)
        txtLog.SelText = strLog & vbCrLf
        txtLog.SelStart = Len(txtLog.Text)
     
        Exit Sub
    AddToLog_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure AddToLog of Form frmMain"
    End Sub
     
    'Un/Register HTTP and/or HTTPS protocol
    'to receive events for ProtocolHandlerOnBeginTransaction,
    'and ProtocolHandlerOnResponse events
    'This action effects all instances of this activex control
    Private Sub chkHeaders_Click()
     
        On Error GoTo chkHeaders_Click_Error
     
        If chkHeaders.Value = vbChecked Then
            chkHeaders.Caption = "Click to stop display of HTTP+HTTPS Headers"
            vbWB1.RegisterHTTPprotocol True
            vbWB1.RegisterHTTPSprotocol True
        Else
            chkHeaders.Caption = "Click to display HTTP+HTTPS Headers"
            vbWB1.RegisterHTTPprotocol False
            vbWB1.RegisterHTTPSprotocol False
        End If
     
        Exit Sub
    chkHeaders_Click_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure chkHeaders_Click of Form frmMain"
    End Sub
     
    Private Sub cmdOpenWBs_Click()
     
        On Error GoTo cmdOpenWBs_Click_Error
     
        Me.PopupMenu mnuWBTabs, , cmdOpenWBs.Left, cmdOpenWBs.Top + cmdOpenWBs.Height
     
        Exit Sub
    cmdOpenWBs_Click_Error:
        MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure cmdOpenWBs_Click of Form frmMain"
    End Sub
    Fichiers attachés Fichiers attachés

  7. #127
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut RE
    FAUT IL L ENREGISTRER ????
    par ce que j'ai une erreur l'ors de l'enregistrement
    Nom : Capture.JPG
Affichages : 406
Taille : 65,6 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #128
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re teste cela
    Bonjour robert
    voila j'ai digérer comment utiliser les variables tableaux avec sous tableaux pour gérer la création dynamique des boutons ainsi que leur style
    je n'ai pas tout fait les images des icones mais il y en a déjà quelques uns
    tu a pour le moment 2 style possible
    Office ou blackfire c'est juste pour l'exemple ils ne sont pas définitifs
    l'initialisation se fait dans la balise script a l'intérieur du div ruban

    tu choisi les boutons que tu veux dans l'ordre que tu veux et le style

    pas de fichier externe(image,scripts ou autre )tout est dans le code

    ouvre un fichier blocknote
    entre ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <!doctype html>
    <html lang="fr">
     <head>
      <!meta http-equiv="X-UA-Compatible" content="IE=11" /!>
                    <!-meta charset="UTF-8"-!>
    <style>
     
    </style>
    <script type="text/javascript">
    var bouton=[];
    bouton['bold']=['command','bold','22px','22px','mettre en gras',"data:image/png;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAInhI+pa+H9mJy0LhdgtrxzDG5WGFVk6aXqyk6Y9kXvKKNuLbb6zgMFADs="];
    bouton['italic']=['command','italic','22px','22px','mettre en italic',"data:image/png;base64,R0lGODlhFgAWAKEDAAAAAF9vj5WIbf///yH5BAEAAAMALAAAAAAWABYAAAIjnI+py+0Po5x0gXvruEKHrF2BB1YiCWgbMFIYpsbyTNd2UwAAOw=="];
    bouton['underline']=['command','underline','22px','22px','texte-souligne',"data:image/png;base64,R0lGODlhFgAWAKECAAAAAF9vj////////yH5BAEAAAIALAAAAAAWABYAAAIrlI+py+0Po5zUgAsEzvEeL4Ea15EiJJ5PSqJmuwKBEKgxVuXWtun+DwxCCgA7"];
    bouton['strikeThrough']=['command','Strikethrough','22px','22px','texte-barre',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIDEgcRiLaMhwAAAOdJREFUOMvt1C9LQ1EYBvDfHZbpRLDYtLi2JT+C30EEsYrN4qcQwTzWBLnJtDAsxoHNYhqMgUXZ1aAoCMIsZ3A8oGLwBrlPOud9OO/zvH84VCgdeW+QtZ6LLO8NsjL0pr99UPsrJ6UlHuMNt9hJuBNMcIN2FF9EB/e4xuZXYhk2cJf0eCskOcBlxHVxiAZWcZ4mXEeOEV6TgcXnBTxF9wnqabK5H6Y+/WYzZvciGPlUdS0q/zG0YAnbUXy2z83g9hhnEXeBPcxjDaepu92gXuAocfiOK7ygj5WIWw5CDxhiv/pmKvwXfAAPHzCSHVrokgAAAABJRU5ErkJgggA="];
    bouton['justifyleft']=['command','justifyleft','22px','22px','Aligné à gauche',"data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAIghI+py+0Po5y02ouz3jL4D4JMGELkGYxo+qzl4nKyXAAAOw=="];
    bouton['justifyright']=['command','justifyright','22px','22px','Aligné à droite',"data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAIghI+py+0Po5y02ouz3jL4D4JQGDLkGYxouqzl43JyVgAAOw=="];
    bouton['justifycenter']=['command','justifycenter','22px','22px','Centré',"data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAIfhI+py+0Po5y02ouz3jL4D4JOGI7kaZ5Bqn4sycVbAQA7'"];
    bouton['justifyfull']=['command','justifyfull','22px','22px','Justifié',"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AERCiUDczis4wAAACJJREFUOMtjYBgFQxYwYhH7T0WzRl086uJRFw8PF4+CIQwAsMYGBzSDTVgAAAAASUVORK5CYIIA'"];
    bouton['unorderedlist']=['command','insertunorderedlist','22px','22px','Liste à puces',"data:image/gif;base64,R0lGODlhFgAWAMIGAAAAAB1ChF9vj1iE33mOrqezxv///////yH5BAEAAAcALAAAAAAWABYAAAMyeLrc/jDKSesppNhGRlBAKIZRERBbqm6YtnbfMY7lud64UwiuKnigGQliQuWOyKQykgAAOw=='"];
    bouton['orderedlist']=['command','insertorderedlist','22px','22px','Liste numérotée',"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiUlEQVQ4y2NgGAV0B8s3H/uv8/nN/+Wbj/2nqsE6n9/81/n85r+sUwuywf8JYAzAhC5QfeAWAwMDA0OMjxayMCMBPBwBLIwpjTyMMPadfYiBgYGBoax/HwNVI09PVYKBgYGBgX9jxgiLPEZskQdjX+EVYaRa5BnXLGbQmfgZXZjkyKOZi0fBEAYAPBlFXU2GEXAAAAAASUVORK5CYIIA'"];
    bouton['backcolor']=['showpaletteback','backcolor','22px','22px','Couleur de fond',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAXCAYAAABj7u2bAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIGETgtyp+UVwAAAlZJREFUSMftll9IU1Ecxz9nd6nzhi5rzNeekuhhRGJBIT0JvsRge5oEPexBak++Rb2V+RIFQiLVkwm23EtIFLRob5kR/gk1iEZFkc6wa965pdvpoTVdHXfVzfDBH1zuvb9zzu98zu/7O+de2LXiJlROSa0EWWSItAi6ILYKZFcCVehqbgF9AwPExhe5czUIQoIUa5aVe0gvUFagbLULgUAic/kQ+Tlj44uY335yPxLGf/a8IjsC0p+2AwgQgqxcVenh7U7MJ18A6I1M4Kt25cRbI6MA5rdeQzYlkO7ClpzDZibQkgk0M0FWd/Ho1Rz6/gpmFr5iGCZdly6jmbNo5kzuPou2OEvG6WksK9CexJTCN8n7+Edajx3I+6LDk8qg2vfRkbIBZZwe5Q7pvNaNu6YebyCIr+UwtbU6hmHS09NtsY91aXlZZMihijv89g2tp+sAaG8P5f2x5y+KA0lTbKZd2Tnj9BRQh/tu0RuZ+KefYZjMGUmuhJppOxdaK5lQZmoDsHYrTQ3fINGXr3HX1HPqRB2ZleTvSe3V3A2P4HbEGXpcSZtVIGmKAqh1MmcJ9Mw7z7sH81zwH8UbCBa0jYYu0v80BUxvrGL/QBWRcV3JOs5cp8nnoD86xucPSzTsnaZO+MgCEsk+j8m9oUncjjgzSwcBuNHRgjcQVEtWysEIMOic4qStCX/zEX6kABrpGhnLLUFy89Bx6l06sHrkLGeXt+fj+ndRb9ZKyZByYLqqSglkr2ooeF9JqWunMpX6P0AbtVKAbDvtB23HAe2a9eEppX0n8fwC8NDf1KyIX6gAAAAASUVORK5CYIIA"];
    bouton['forecolor']=['showpalettefont','forecolor','22px','35px','Couleur du texte',"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAXCAYAAABj7u2bAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AERDAk2GDd/3AAAAaFJREFUSMftlj1LQlEYx//XtDBBygolcAiHBmvpZQgJEVxyEQK3PkItfYaWxhCCiKKhMCKHIDJJSREhyyEqxSITMkoh02NdFa1OU6HgyxUDb+TZznnOy4/fc87hYVKpF/CpCcCz9veB9o4DdH7JR3kD5L54A5vIw+YJ0aYDObxhyibyAIAV62XzDR34nyHpaUc8HQMhLMyWAG0q0F3kHoax3p++0xf8dUNCrhPNlgCVSxXQa1RMLJ2ju/YgCGGxaQvQmSk1U2ldV7eypsVUMsrUbch3fQWDTgYAKAZwu044H8YlznD5qW2eEC13iQlh8UwyWJjTwqhTVz24nKlysJxS5jx9gFyqwOSEDB/vGQBAm7ATaztnkIsj2D/sgFGnrmmqGKqSOSGXp34bTWLWNAK9RlWyyXnwiW45cgBCnNL+DVUtjYJaqdo48oMQFtbt1ZLY4rqL2r03UMvCiGcHMDy9TB3ecF0XuG5DIoEIJu0QXnMAMF4SGx1UQtEnKRkvfBYafvYM38qPsobEiv6GfuBs7JFp1UP/Bohp1dQcgHgF9QVoR7GyEpumdwAAAABJRU5ErkJgggA='"];
    bouton['fontname']=['showlistfont','fontname','22px','22px','Police d-écriture',"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAAXCAYAAACvd9dwAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIFDBokErr1HgAAAVtJREFUWMPtmL1KA0EYRc+NsfokGhE7OyNoKWIvYqegdVJbi76RFvoCahcLQRALbRRiZxEsRBBNQKI4NhNY1+wmG/CHMBeGuTvzDbtn/lkICsokR0GOgkJPBAUNjvRljafX/8HXWff3u6ZLqsolAOmXwfIRoE1kF8hawAvwnJpkb8jukJWRjSbvzp1Hr11+ADwCa5G6e+AVOAHWY/H7Pr4C7EU8wDRQBRpADViKwI0hW0a2i+wBmUtJTWRVZAvIxpENdYNzMdC2n/F5LdZuzpc3YvGlDr7uY07986LPb75NR1kR2QayegeoDw++hWyit3M1feTivgJc+qmTFJPkG7FOfE9Zd8PIDiNgLWRHyGazXRqywV17P98H3Jn3Kz2vbdk2snNkO8iK2W9E2eBWgSZw1QdcCTgGnoAWcNsDnCGbQjaSaTf9B5oMp3JQUFBQ0I/8y3Au75zLDSLbJ85Rldi4s2JlAAAAAElFTkSuQmCCAA=='"];
    bouton['fontsize']=['showfontsize','fontsize','22px','22px','taille-de-la-police ',"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAAXCAYAAACvd9dwAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIFDCEFYmEKeAAAAYxJREFUWMPtmL8vQ1EUxz9HVegRQaw2AxK1iMEgEX+BPwJTE2GzMphMFiv/AjYWTUTwFzSCChEmibbRNq7BIc9TTx+pobnf5Az3nHPve+fXNzcXPDxiwdElji7xmfD4ikSduqZAGjgBnoGnZgsuCzhgqm5eeJPGQFR+lKjtoXUR6ADagMo/JlU+kiQ6B8wCo0C5juS1A7fAMrCDKzxGVcGFKjIOHFqbFoDziMqF91cDthSwDlzbWVkbg3C1uhGdRnQL0QdEXYQUED1AdAzRXkQTcdssb7p0jLbMmH41oNsw3aRVxQFnEe3Yg+gMojc1gnqxwBcQ7eMPM3RhuhywCQz/4D9o7X0KJAP6uxqVrdQxd0lEdwOBlRHdQ3Qo/sXh68+OANvAldkuI/xbjW2LQPjj9+ab+iW5LCJ6jOgSoj2/uxV9P8Bps+Uj/Fdsnamxf9Ns80YCA8B+jOAU0X5EOz+17x+DywElk2NgIsK/+g0pvRPKmhFSCTgyhvPw8PDw8GjcW4ZzLc65pnzLeAWx1YphTycgjAAAAABJRU5ErkJgggA='"];
    //bouton['inserthorizontalrule']=['command','inserthorizontalrule','22px','22px','Insère une ligne horizontale','blablabla'];
    //bouton['subscript']=['command','subscript','22px','22px','Indice','blablabla'];
    //bouton['superscript']=['command','superscript','22px','22px','Exposant','blablabla'];
     
    //bouton['delete']=['command','delete','22px','22px','effacer-la-selection','blablabla'];
    //bouton['undo']=['command','undo','22px','22px','Annuler','blablabla'];
     
    //bouton['redo']=['command','redo','22px','22px','recommencer','blablabla'];
    //bouton['cut']=['command','cut','22px','22px','couper','blablabla'];
    //bouton['copy']=['command','copy','22px','22px','copy la selection','blablabla'];
    //bouton['paste']=['command','paste','22px','22px','colle-ce-qui-a-été-copié','blablabla'];
    //bouton['indent']=['command','indent','22px','22px','indent-vers-la-droite','blablabla'];
    //bouton['outdent']=['command','outdent','22px','22px','diminuer-l-indentation','blablabla'];
     
    //bouton['removeFormat']=['command','removeFormat','22px','22px','deformatage-du-texte','blablabla'];
    //bouton['strikeThrough']=['command','strikeThrough','22px','22px','texte-barre','blablabla'];
     
    //bouton['link']=['command','link','22px','22px','ajouter-un-lien','blablabla'];
    //bouton['unlink']=['command','unlink','22px','22px','supprimer-le-lien','blablabla'];
    //bouton['heading']=['showlistheading','listeheading','22px','22px','transforme en titre','blablabla'];
    //bouton['codehtml']=['showhtml','codehtml','22px','22px','voir-le-code-htm','blablabla'];
    function quoi(bout,it){
    //alert(bout + "---" + it);
    alert(bouton[bout][it]);
    }
    function init(lestyle,boutons){
    //alert(lestyle +"   " + boutons.length);
    var balisestyle=document.getElementsByTagName("style")(0);
     
    balisestyle.innerHTML=".BtnOffice{margin-top:1px;border:0.5pt solid white;}.BtnOffice:hover{border:0.5pt solid #FF0000;\
    background: linear-gradient(to bottom, #f9f9f9 0%,#f4c489 73%,#f9b507 100%,#f4c489 100%,#f9b507 101%);}.r\
    Office{background: linear-gradient(to bottom, #f4f4f4 0%,#c5d3db 24%,#89c3eb 80%,#89c3eb 99%); } .r\
    blackfire{background: linear-gradient(to bottom, #f2f2ed 0%,#000000 95%,#000000 95%,#000000 100%);}.B\
    tnblackfire{margin-top:1px;border:0.5pt solid #FFFF00;background: linear-gradient(to bottom, #efefef 3%,#efefef 3%,#f28e3c 45%,#f28e3c 45%,#f28e3c 63%,#f72302 96%);}.B\
    tnblackfire:hover{background: linear-gradient(to bottom, #f9f100 1%,#f20000 98%);}";
     
    var parent=document.getElementById("ruban");
    parent.className="r"+lestyle;
    parent.style.width="350px";
    for (var i = 0; i < boutons.length; i++) {
    var bout=document.createElement("img");
    bout.className="Btn"+lestyle;
    bout.style.marginLeft="3px";
    bout.style.borderRadius="3px";
    bout.title=boutons[i];
    bout.src=bouton[boutons[i]][5];
    parent.appendChild(bout);
    }}
    </script>
    </head>
     
    <body>
    <!input type="button" value="test" onclick="quoi('bold','5')"!>
    <div id="ruban">
    <script>
    var boutons=['bold','italic','underline','strikeThrough','fontname','fontsize','forecolor','backcolor','justifyleft','justifycenter','justifyright','unorderedlist','orderedlist',];
    //var lestyle="Office";
    var lestyle="blackfire";
    init(lestyle,boutons)
    </script>
    </div></body>
    </html>
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #129
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re

    salut durupt

    j'ai testé ta fonction ca me retourne un code bizare et en plus le "as object" me déclenche une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Function decodeBase64(ByRef strData As String) ' As Object
        Dim objXML As Object '.DOMDocument
        Dim objNode As Object 'MSXML2.IXMLDOMElement
     
        Set objXML = CreateObject("MSXML2.DOMDocument")
     
        Set objNode = objXML.createElement("b64")
        objNode.DataType = "bin.base64"
        objNode.Text = strData
     
        decodeBase64 = objNode.nodeTypedValue
     
        Set objNode = Nothing
        Set objXML = Nothing
    End Function
    Nom : Capture.JPG
Affichages : 429
Taille : 287,4 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #130
    Invité
    Invité(e)
    Par défaut
    test ça!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Sub test()
    'C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg
    Dim a()  As Byte
    a = decodeBase64(encodeBase64(GetBinaryData("C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg")))
    SetBinaryData "C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum2.jpg", a
    End Sub
    Function decodeBase64(ByRef strData As String) ' As Object
        Dim objXML As Object '.DOMDocument
        Dim objNode As Object 'MSXML2.IXMLDOMElement
     
        Set objXML = CreateObject("MSXML2.DOMDocument")
     
        Set objNode = objXML.createElement("b64")
        objNode.DataType = "bin.base64"
        objNode.Text = strData
     
        decodeBase64 = objNode.nodeTypedValue
     
        Set objNode = Nothing
        Set objXML = Nothing
    End Function
     
    Function Taille_Fichier(Fichier)
    Dim Fso As Object
    Dim Fich As Object
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set Fich = Fso.GetFile(Fichier)
        Taille_Fichier = Fich.Size
    Set Fso = Nothing
    End Function
    Function SetBinaryData(Fichier, ByRef arrData() As Byte)
    Dim Buffer() As Byte
    Dim intFileNumber
    intFileNumber = FreeFile
    Open Fichier For Binary As #intFileNumber
    Put #intFileNumber, , arrData
    'GetBinaryData = Buffer
    Close #intFileNumber
    End Function
    Function GetBinaryData(Fichier)
    Dim Buffer() As Byte
    Dim intFileNumber
    intFileNumber = FreeFile
    ReDim Buffer(Taille_Fichier(Fichier))
    Open Fichier For Binary As #intFileNumber
    While Not EOF(intFileNumber)
    Get #intFileNumber, , Buffer
    Wend
    GetBinaryData = Buffer
    Close #intFileNumber
    End Function
    Private Function encodeBase64(ByRef arrData() As Byte) As String
        Dim objXML As Object '.DOMDocument
        Dim objNode As Object 'MSXML2.IXMLDOMElement
     
        Set objXML = CreateObject("MSXML2.DOMDocument")
     
        Set objNode = objXML.createElement("b64")
        objNode.DataType = "bin.base64"
        objNode.nodeTypedValue = arrData
        encodeBase64 = objNode.Text
     
        Set objNode = Nothing
        Set objXML = Nothing
    End Function

  11. #131
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    ok je vais tester
    en attendant
    test ca toi

    tout est dans le code rien d'autre transportabilité 100%

    ca n'est pas fini mais déjà ca promet
    dans le script du div tu a 3 choix possible de skin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //var lestyle="Office";
    //var lestyle="blackfire";
    var lestyle="vista";
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <!doctype html5>
    <html lang="fr">
     <head>
      <!meta http-equiv="X-UA-Compatible" content="IE=11" /!>
                    <!-meta charset="UTF-8"-!>
    <style>
     
    </style>
    <script type="text/javascript">
    var bouton=[];
    bouton['bold']=['command','bold','22px','22px','Mettre le texte en gras',"data:image/png;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAInhI+pa+H9mJy0LhdgtrxzDG5WGFVk6aXqyk6Y9kXvKKNuLbb6zgMFADs="];
    bouton['italic']=['command','italic','22px','22px','mettre le texte en italic',"data:image/png;base64,R0lGODlhFgAWAKEDAAAAAF9vj5WIbf///yH5BAEAAAMALAAAAAAWABYAAAIjnI+py+0Po5x0gXvruEKHrF2BB1YiCWgbMFIYpsbyTNd2UwAAOw=="];
    bouton['underline']=['command','underline','22px','22px','texte-souligne',"data:image/png;base64,R0lGODlhFgAWAKECAAAAAF9vj////////yH5BAEAAAIALAAAAAAWABYAAAIrlI+py+0Po5zUgAsEzvEeL4Ea15EiJJ5PSqJmuwKBEKgxVuXWtun+DwxCCgA7"];
    bouton['strikeThrough']=['command','Strikethrough','22px','22px','texte-barre',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIDEgcRiLaMhwAAAOdJREFUOMvt1C9LQ1EYBvDfHZbpRLDYtLi2JT+C30EEsYrN4qcQwTzWBLnJtDAsxoHNYhqMgUXZ1aAoCMIsZ3A8oGLwBrlPOud9OO/zvH84VCgdeW+QtZ6LLO8NsjL0pr99UPsrJ6UlHuMNt9hJuBNMcIN2FF9EB/e4xuZXYhk2cJf0eCskOcBlxHVxiAZWcZ4mXEeOEV6TgcXnBTxF9wnqabK5H6Y+/WYzZvciGPlUdS0q/zG0YAnbUXy2z83g9hhnEXeBPcxjDaepu92gXuAocfiOK7ygj5WIWw5CDxhiv/pmKvwXfAAPHzCSHVrokgAAAABJRU5ErkJgggA="];
    bouton['justifyleft']=['command','justifyleft','22px','22px','Aligné à gauche',"data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAIghI+py+0Po5y02ouz3jL4D4JMGELkGYxo+qzl4nKyXAAAOw=="];
    bouton['justifyright']=['command','justifyright','22px','22px','Aligné à droite',"data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAIghI+py+0Po5y02ouz3jL4D4JQGDLkGYxouqzl43JyVgAAOw=="];
    bouton['justifycenter']=['command','justifycenter','22px','22px','Centré',"data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWABYAQAIfhI+py+0Po5y02ouz3jL4D4JOGI7kaZ5Bqn4sycVbAQA7'"];
    bouton['justifyfull']=['command','justifyfull','22px','22px','Justifié',"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AERCiUDczis4wAAACJJREFUOMtjYBgFQxYwYhH7T0WzRl086uJRFw8PF4+CIQwAsMYGBzSDTVgAAAAASUVORK5CYIIA'"];
    bouton['unorderedlist']=['command','insertunorderedlist','22px','22px','Liste à puces',"data:image/gif;base64,R0lGODlhFgAWAMIGAAAAAB1ChF9vj1iE33mOrqezxv///////yH5BAEAAAcALAAAAAAWABYAAAMyeLrc/jDKSesppNhGRlBAKIZRERBbqm6YtnbfMY7lud64UwiuKnigGQliQuWOyKQykgAAOw=='"];
    bouton['orderedlist']=['command','insertorderedlist','22px','22px','Liste numérotée',"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiUlEQVQ4y2NgGAV0B8s3H/uv8/nN/+Wbj/2nqsE6n9/81/n85r+sUwuywf8JYAzAhC5QfeAWAwMDA0OMjxayMCMBPBwBLIwpjTyMMPadfYiBgYGBoax/HwNVI09PVYKBgYGBgX9jxgiLPEZskQdjX+EVYaRa5BnXLGbQmfgZXZjkyKOZi0fBEAYAPBlFXU2GEXAAAAAASUVORK5CYIIA'"];
    bouton['backcolor']=['showpaletteback','backcolor','22px','22px','Couleur de fond',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAXCAYAAABj7u2bAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIGETgtyp+UVwAAAlZJREFUSMftll9IU1Ecxz9nd6nzhi5rzNeekuhhRGJBIT0JvsRge5oEPexBak++Rb2V+RIFQiLVkwm23EtIFLRob5kR/gk1iEZFkc6wa965pdvpoTVdHXfVzfDBH1zuvb9zzu98zu/7O+de2LXiJlROSa0EWWSItAi6ILYKZFcCVehqbgF9AwPExhe5czUIQoIUa5aVe0gvUFagbLULgUAic/kQ+Tlj44uY335yPxLGf/a8IjsC0p+2AwgQgqxcVenh7U7MJ18A6I1M4Kt25cRbI6MA5rdeQzYlkO7ClpzDZibQkgk0M0FWd/Ho1Rz6/gpmFr5iGCZdly6jmbNo5kzuPou2OEvG6WksK9CexJTCN8n7+Edajx3I+6LDk8qg2vfRkbIBZZwe5Q7pvNaNu6YebyCIr+UwtbU6hmHS09NtsY91aXlZZMihijv89g2tp+sAaG8P5f2x5y+KA0lTbKZd2Tnj9BRQh/tu0RuZ+KefYZjMGUmuhJppOxdaK5lQZmoDsHYrTQ3fINGXr3HX1HPqRB2ZleTvSe3V3A2P4HbEGXpcSZtVIGmKAqh1MmcJ9Mw7z7sH81zwH8UbCBa0jYYu0v80BUxvrGL/QBWRcV3JOs5cp8nnoD86xucPSzTsnaZO+MgCEsk+j8m9oUncjjgzSwcBuNHRgjcQVEtWysEIMOic4qStCX/zEX6kABrpGhnLLUFy89Bx6l06sHrkLGeXt+fj+ndRb9ZKyZByYLqqSglkr2ooeF9JqWunMpX6P0AbtVKAbDvtB23HAe2a9eEppX0n8fwC8NDf1KyIX6gAAAAASUVORK5CYIIA"];
    bouton['forecolor']=['showpalettefont','forecolor','22px','35px','Couleur du texte',"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAXCAYAAABj7u2bAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AERDAk2GDd/3AAAAaFJREFUSMftlj1LQlEYx//XtDBBygolcAiHBmvpZQgJEVxyEQK3PkItfYaWxhCCiKKhMCKHIDJJSREhyyEqxSITMkoh02NdFa1OU6HgyxUDb+TZznnOy4/fc87hYVKpF/CpCcCz9veB9o4DdH7JR3kD5L54A5vIw+YJ0aYDObxhyibyAIAV62XzDR34nyHpaUc8HQMhLMyWAG0q0F3kHoax3p++0xf8dUNCrhPNlgCVSxXQa1RMLJ2ju/YgCGGxaQvQmSk1U2ldV7eypsVUMsrUbch3fQWDTgYAKAZwu044H8YlznD5qW2eEC13iQlh8UwyWJjTwqhTVz24nKlysJxS5jx9gFyqwOSEDB/vGQBAm7ATaztnkIsj2D/sgFGnrmmqGKqSOSGXp34bTWLWNAK9RlWyyXnwiW45cgBCnNL+DVUtjYJaqdo48oMQFtbt1ZLY4rqL2r03UMvCiGcHMDy9TB3ecF0XuG5DIoEIJu0QXnMAMF4SGx1UQtEnKRkvfBYafvYM38qPsobEiv6GfuBs7JFp1UP/Bohp1dQcgHgF9QVoR7GyEpumdwAAAABJRU5ErkJgggA='"];
    bouton['fontname']=['showlistfont','fontname','22px','22px','Police d-écriture',"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAAXCAYAAACvd9dwAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIFDBokErr1HgAAAVtJREFUWMPtmL1KA0EYRc+NsfokGhE7OyNoKWIvYqegdVJbi76RFvoCahcLQRALbRRiZxEsRBBNQKI4NhNY1+wmG/CHMBeGuTvzDbtn/lkICsokR0GOgkJPBAUNjvRljafX/8HXWff3u6ZLqsolAOmXwfIRoE1kF8hawAvwnJpkb8jukJWRjSbvzp1Hr11+ADwCa5G6e+AVOAHWY/H7Pr4C7EU8wDRQBRpADViKwI0hW0a2i+wBmUtJTWRVZAvIxpENdYNzMdC2n/F5LdZuzpc3YvGlDr7uY07986LPb75NR1kR2QayegeoDw++hWyit3M1feTivgJc+qmTFJPkG7FOfE9Zd8PIDiNgLWRHyGazXRqywV17P98H3Jn3Kz2vbdk2snNkO8iK2W9E2eBWgSZw1QdcCTgGnoAWcNsDnCGbQjaSaTf9B5oMp3JQUFBQ0I/8y3Au75zLDSLbJ85Rldi4s2JlAAAAAElFTkSuQmCCAA=='"];
    bouton['fontsize']=['showfontsize','fontsize','22px','22px','taille-de-la-police ',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAAXCAYAAACvd9dwAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIHCwwzIrcbAAAAAblJREFUWMPt2LFrFEEUBvDf3l3udk+MpLFU0RRG8EQQixSCdUoRG3tByD+giIURbOxsUgnaa2dnJ4gYQazUENRUIZWCJjF6GYuMsFzu9m4tVI79YGDmvTdv55t58zEsFSqUQjCZBJNJtRMV9qI+om0s0MFLfMfXcSP3DAHnR9aF3fZfoletNpChiR9/eR39NqlGMhXXUxuwuTuEz9gqIhcGfPQs7uJ0HK/hWM+cZECOLhqx38YCLmIKr3EVbwpIH6Z1mWSW5EAff5ewwvZ9dpawWbbMVqOtU6Is56N9IWe7F23ncCr2Xw050f00LtB6RLZOu5trW2RvSa9TPzrgZIcu9kO0LWMRJ4bEH4/lvYSJnH0tF/+7DSn9JNkl2JwjfSxpf5HsC7S3yd7RuoEjueooTe4kHuJT9H0siG9Etd3ATE+e9Rjb/oM72WJijvQJ2Tey96Q3aR6iNfIrp0j9OtG3WhB/K47n+8xfjL4rSDGNpyUIpjQvkT6geZv6dPkn315yy/GibuIFZgvif/YpPTlBuYOVmOs5rpV8cxykfob6TB+lHwvUxpVYhQoVKvyrfxkh1EIIYymtvwCBVn0RJ6KZKQAAAABJRU5ErkJgggA="];
    bouton['subscript']=['command','subscript','22px','22px','Indice',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIHCwMXmSzjHgAAANZJREFUOMvt07FOAkEUheFvqEh241ppiLGw85kIjcRXsbagFzuNjaXvYSQEGwtrSTah2A6bxQAZdNeMVpzu3pn55+TMHfZKraycb9Sdv4CmctppA7/BMNK/qNdiF4Qm4GNMcbjWy/GCo5jrrJx/uf9JA1yv1Vfop4rwEec4xX3KtznBHUbotTnYJJMPFMhSOn6oYzjDU2xDt1wsu+Vi2cbxAK94xxuecbkNrYo8VEUeYvBd4zapR2ylA8xiWTeFwrj+DNsa4va30Mb6DhpSgqsiD/b6N30CuR89kB77PzAAAAAASUVORK5CYIIA"];
    bouton['superscript']=['command','superscript','22px','22px','Exposant',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIHCwEFWKPw1AAAALBJREFUOMvt1LGuAVEQxvEfyr1BReRGQqfyQKLhXdQKPTqiubfzFioiHoLwBDQr2YjELke3/+QUMyfz5cvMnENOaKLL6ZqMi98QDeo0rfgUwyf5QXz3tus69qgmcj/YovZM9H7SiPcxTsQj9EK18A8dNLEMOZtfLDBBI0thmnU7ooIopONV3IY21lkKSy+GV8A/zuiihc0nTuvYxSt2p4xD1l4/MosfwyNDzPOfMec9biEIKdAzRZnEAAAAAElFTkSuQmCCAA=="];
    bouton['indent']=['command','indent','22px','22px','indent-vers-la-droite',"data:image/gif;base64,R0lGODlhFgAWAOMIAAAAADljwl9vj1iE35GjuaezxtDV3NHa7P///////////////////////////////yH5BAEAAAgALAAAAAAWABYAAAQ7EMlJq704650B/x8gemMpgugwHJNZXodKsO5oqUOgo5KhBwWESyMQsCRDHu9VOyk5TM9zSpFSr9gsJwIAOw=="];
    bouton['outdent']=['command','outdent','22px','22px','diminuer-l-indentation',"data:image/gif;base64,R0lGODlhFgAWAMIHAAAAADljwliE35GjuaezxtDV3NHa7P///yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKCQG9F2i7u8agQgyK1z2EIBil+TWqEMxhMczsYVJ3e4ahk+sFnAgtxSQDqWw6n5cEADs="];
    bouton['undo']=['command','undo','22px','22px','Annuler',"data:image/gif;base64,R0lGODlhFgAWAOMKADljwliE33mOrpGjuYKl8aezxqPD+7/I19DV3NHa7P///////////////////////yH5BAEKAA8ALAAAAAAWABYAAARR8MlJq7046807TkaYeJJBnES4EeUJvIGapWYAC0CsocQ7SDlWJkAkCA6ToMYWIARGQF3mRQVIEjkkSVLIbSfEwhdRIH4fh/DZMICe3/C4nBQBADs="];
    bouton['redo']=['command','redo','22px','22px','recommencer',"data:image/gif;base64,R0lGODlhFgAWAMIHAB1ChDljwl9vj1iE34Kl8aPD+7/I1////yH5BAEKAAcALAAAAAAWABYAAANKeLrc/jDKSesyphi7SiEgsVXZEATDICqBVJjpqWZt9NaEDNbQK1wCQsxlYnxMAImhyDoFAElJasRRvAZVRqqQXUy7Cgx4TC6bswkAOw=="];
    bouton['rules']=['command','inserthorizontalrule','22px','22px','Insère une ligne horizontale',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIGEygOIb4jGgAAAGFJREFUOMtjYBgFdAfLNx9j0Pn8hmH55mPUNVjn8xsGnc9vGGSdWigyhwldoPrALQYGBgaGGB8tmoUKEwMDAyu1DGOktutoZuB/apvLRMsIohlgHHIuHgUDBxhplWIGJwAAPq4PQW1NBBoAAAAASUVORK5CYIIA"];
    bouton['cut']=['command','cut','22px','22px','couper',"data:image/gif;base64,R0lGODlhFgAWAIQSAB1ChBFNsRJTySJYwjljwkxwl19vj1dusYODhl6MnHmOrpqbmpGjuaezxrCztcDCxL/I18rL1P///////////////////////////////////////////////////////yH5BAEAAB8ALAAAAAAWABYAAAVu4CeOZGmeaKqubDs6TNnEbGNApNG0kbGMi5trwcA9GArXh+FAfBAw5UexUDAQESkRsfhJPwaH4YsEGAAJGisRGAQY7UCC9ZAXBB+74LGCRxIEHwAHdWooDgGJcwpxDisQBQRjIgkDCVlfmZqbmiEAOw=="];
    bouton['copy']=['command','copy','22px','22px','copy la selection',"data:image/gif;base64,R0lGODlhFgAWAIQcAB1ChBFNsTRLYyJYwjljwl9vj1iE31iGzF6MnHWX9HOdz5GjuYCl2YKl8ZOt4qezxqK63aK/9KPD+7DI3b/I17LM/MrL1MLY9NHa7OPs++bx/Pv8/f///////////////yH5BAEAAB8ALAAAAAAWABYAAAWG4CeOZGmeaKqubOum1SQ/kPVOW749BeVSus2CgrCxHptLBbOQxCSNCCaF1GUqwQbBd0JGJAyGJJiobE+LnCaDcXAaEoxhQACgNw0FQx9kP+wmaRgYFBQNeAoGihCAJQsCkJAKOhgXEw8BLQYciooHf5o7EA+kC40qBKkAAAGrpy+wsbKzIiEAOw=="];
    bouton['paste']=['command','paste','22px','22px','colle-ce-qui-a-été-copié',"data:image/gif;base64,R0lGODlhFgAWAIQUAD04KTRLY2tXQF9vj414WZWIbXmOrpqbmpGjudClFaezxsa0cb/I1+3YitHa7PrkIPHvbuPs+/fvrvv8/f///////////////////////////////////////////////yH5BAEAAB8ALAAAAAAWABYAAAWN4CeOZGmeaKqubGsusPvBSyFJjVDs6nJLB0khR4AkBCmfsCGBQAoCwjF5gwquVykSFbwZE+AwIBV0GhFog2EwIDchjwRiQo9E2Fx4XD5R+B0DDAEnBXBhBhN2DgwDAQFjJYVhCQYRfgoIDGiQJAWTCQMRiwwMfgicnVcAAAMOaK+bLAOrtLUyt7i5uiUhADs="];
    bouton['removeFormat']=['command','removeFormat','22px','22px','deformatage-du-texte',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIHCi8ZRmfPgAAAA1tJREFUOMvtlVlMU2kYht/TQ1u7YDO1iRwZFlmkSiK0GqmDIqJijM54MTExbonbzJARjSZGvYCoEeISIsYdF1S8MFGjmWhmLkYxBioYBKuFdEUObWktLaXlHGrX44WSKDMi6q3f3Z/835P3f/N97w98r/dFfMFdYUGWsuhndVEJn4BKLBQk+1gW7T0mYz8baIpxeNBifKkHwAFAwjihiq0lyxfnp+fsWFlQlEXEOEmP2y7wB1mAz0tnw6Gf9LbuLIlEcpBlWTcA8MajdMG0vPUlM9QVv6jmamQJQsVrv1dUuL+cTJ5Ckb/OWyhNpSgqTvIWZaSkZIw0jQ2WShWzs3I3l5Wu3LZMpVEmiiV41mOEet8W6E9dh4DPh8nrgp3xI5v6kcpPSpONtH7SCrFYnKTM06zOSMnczk4QpVncTmKACaC0ahdenmyAgEzAU9qMF3005qRlI8gwkUamg/ucYsW0fM3v+YVL/pyqKU7vlCbyGkx6orRqFzpqr4DkkXjQ9RzrDlcgR0FxMoEoanD0ammXyzKWYrmmeOmmGer5f2QoZ06Oc3HC4fPifH0tAMDq9SAUDaHs5GHcPVADOV84/FDf0fRPa9PxZ7SV/hRYqJpTuEqlKSpPzVFPjsZB2KwmXKjeid+O3EAkyOLRawNOnT2GO5VHIeXxh1pNnffuND+q09HWZgCx/wVnK/MWLyxdsS0zb25yIBglXDYzLlTvxKZDV0ESPLCDTtSfPYbyjdu5yJtwUGsx/vV3W8sJHW1t/xD6H7DZoFtTuOCicmA4RvhsFpyuLMOGijqIRBK4ze24ea4aADg7KQ3Utzbf6u3pqumkaSOA+Gg/R1sx0zccIUHwEHoTfDdxE2UI9Xfj5rlqbNl/nhv0Dzl7De23O9oe10VY1jCyaZ8Dh6y9dm6iTE6Eo+9exvQZce14JdburuE87n7/q662Szazvi7CsvaxVoAcdS6eJJdPH/S4yMtH9wIAdC2NWLenlgv4A47uF9ozlk7txSG3w/5FIURR1Fqn07kXQGauqoCflDKVpKZruEHfgMGi0zYYWv+9DMA9nnD5SDHDMH2ZuSp7du4sz/OWxkQuYcIPw8yQw9v3qsqmf3IjHA57viU2CQCTAKgBpALkABC7DyD0/Zf5qnoLkuhpHPp1P/sAAAAASUVORK5CYIIA"];
     
     
     
    //bouton['removeFormat']=['command','removeFormat','22px','22px','deformatage-du-texte',"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIHCi8ZRmfPgAAAA1tJREFUOMvtlVlMU2kYht/TQ1u7YDO1iRwZFlmkSiK0GqmDIqJijM54MTExbonbzJARjSZGvYCoEeISIsYdF1S8MFGjmWhmLkYxBioYBKuFdEUObWktLaXlHGrX44WSKDMi6q3f3Z/835P3f/N97w98r/dFfMFdYUGWsuhndVEJn4BKLBQk+1gW7T0mYz8baIpxeNBifKkHwAFAwjihiq0lyxfnp+fsWFlQlEXEOEmP2y7wB1mAz0tnw6Gf9LbuLIlEcpBlWTcA8MajdMG0vPUlM9QVv6jmamQJQsVrv1dUuL+cTJ5Ckb/OWyhNpSgqTvIWZaSkZIw0jQ2WShWzs3I3l5Wu3LZMpVEmiiV41mOEet8W6E9dh4DPh8nrgp3xI5v6kcpPSpONtH7SCrFYnKTM06zOSMnczk4QpVncTmKACaC0ahdenmyAgEzAU9qMF3005qRlI8gwkUamg/ucYsW0fM3v+YVL/pyqKU7vlCbyGkx6orRqFzpqr4DkkXjQ9RzrDlcgR0FxMoEoanD0ammXyzKWYrmmeOmmGer5f2QoZ06Oc3HC4fPifH0tAMDq9SAUDaHs5GHcPVADOV84/FDf0fRPa9PxZ7SV/hRYqJpTuEqlKSpPzVFPjsZB2KwmXKjeid+O3EAkyOLRawNOnT2GO5VHIeXxh1pNnffuND+q09HWZgCx/wVnK/MWLyxdsS0zb25yIBglXDYzLlTvxKZDV0ESPLCDTtSfPYbyjdu5yJtwUGsx/vV3W8sJHW1t/xD6H7DZoFtTuOCicmA4RvhsFpyuLMOGijqIRBK4ze24ea4aADg7KQ3Utzbf6u3pqumkaSOA+Gg/R1sx0zccIUHwEHoTfDdxE2UI9Xfj5rlqbNl/nhv0Dzl7De23O9oe10VY1jCyaZ8Dh6y9dm6iTE6Eo+9exvQZce14JdburuE87n7/q662Szazvi7CsvaxVoAcdS6eJJdPH/S4yMtH9wIAdC2NWLenlgv4A47uF9ozlk7txSG3w/5FIURR1Fqn07kXQGauqoCflDKVpKZruEHfgMGi0zYYWv+9DMA9nnD5SDHDMH2ZuSp7du4sz/OWxkQuYcIPw8yQw9v3qsqmf3IjHA57viU2CQCTAKgBpALkABC7DyD0/Zf5qnoLkuhpHPp1P/sAAAAASUVORK5CYIIA"];
    //bouton['strikeThrough']=['command','strikeThrough','22px','22px','texte-barre','blablabla'];
     
    //bouton['link']=['command','link','22px','22px','ajouter-un-lien','blablabla'];
    //bouton['unlink']=['command','unlink','22px','22px','supprimer-le-lien','blablabla'];
    //bouton['heading']=['showlistheading','listeheading','22px','22px','transforme en titre','blablabla'];
    //bouton['codehtml']=['showhtml','codehtml','22px','22px','voir-le-code-htm','blablabla'];
    function quoi(bout,it){
    //alert(bout + "---" + it);
    alert(bouton[bout][it]);
    }
    function init(lestyle,boutons){
    //alert(lestyle +"   " + boutons.length);
    var balisestyle=document.getElementsByTagName("style")(0);
     
    balisestyle.innerHTML=".BtnOffice{margin-top:1px;border:0.5pt solid white;}.BtnOffice:hover{border:0.5pt solid #FF0000;\
    background: linear-gradient(to bottom, #f9f9f9 0%,#f4c489 73%,#f9b507 100%,#f4c489 100%,#f9b507 101%);}.r\
    Office{background: linear-gradient(to bottom, #f4f4f4 0%,#c5d3db 24%,#89c3eb 80%,#89c3eb 99%); } .r\
    blackfire{background: linear-gradient(to bottom, #f2f2ed 0%,#000000 95%,#000000 95%,#000000 100%);}.B\
    tnblackfire{margin-top:1px;border:0.5pt solid #FFFF00;background: linear-gradient(to bottom, #efefef 3%,#efefef 3%,#f28e3c 45%,#f28e3c 45%,#f28e3c 63%,#f72302 96%);}.B\
    tnblackfire:hover{background: linear-gradient(to bottom, #f9f100 1%,#f20000 98%);}.r\
    vista{width:100%;background:blue url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABQCAIAAABga0e4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIHDRYnjM1JFAAAAEVpVFh0Q29tbWVudAAAAAAAQ1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAKZ51HQAAAIABJREFUeNpdvFvPJMt2HBYRK6uq+7vM7Nu5UzQlGpJg0xIo0jBgSLIFGNaDH/XgJ/s3+knQm2DYD4ZMEgRMyxAlkDTPhTrncO89e+b7uruqMlf4IbN6hh4MBvNdursqK9dasSJiJd/8z/8MYCYAAjBohoMIYSqewlSa2IJ7AkoSIWhCKYjJZYYCQjH/1ps3P3/37XZZIVAFDM8LHhYuJ54f8/0LLhel02arsBEzo0CwzZqYJ5D5+kLQNvofG5lA2ok0bBgyzGaJAFplbUy7JVp1q2iJlrDh7H9p2CbY75EgKYAkIVEiSYlFYP9/MApC1IQAWCQxJNu2SQIAaJMADQIkqIALHYABGwAJE0gbMA3DNmgwwYgJSAD+5A9NN2OZJY4rI0HSsOkMYgKFBFSo6C8+1soAnKAhMBJMpxtB9ouRQJkAaTKs+6IA/QppExApOogCCBYhmOyvpEghRfRLFCEiyP7C/guhY5n6n+MLMUWLFtj/OX5KABQAov/bnxVMGlAEJfSnNq5aBpGpZSHE8aPxVv3Rggbk5gRZ5v7y44L6hQKg+3Ngf0qCjb4LjtW32ER8fHsZ/bGML8Hj67HU/QsdG02EwLDC6rvsb/wVmMdKkDy2mBnjHeCPH98XxEIeEUKAVPQVaelQ8Vg9AqJNGzRtxeQyWR+vJvsGTBABiiAMTDPEIIEgBdIwGR6PiaSEMAAIkEOOfmPouxak++4fzzLAoAISQ4QAgYRojq2O/q7keCv0ez4erEQVsOi+zB9313iwBAMi5GNl+tMQjssYEQuboJGApP4jH+/ZkwUBBFwC7EsQfb/053pcK9gqQtA8VmqEAMdbkCaNcS8w+0cjAmSKphw8Mgg97hrGJ3/vm4mURPVAlCFQcpBhCRLZn0EhwxTEMnIVEixHjKuvPjTixj3qeTwqfhqCGNtVACDJZI8rjHvx+AQT84y9EX07BZyAU+i5V1avMCzFLccD69sXzSLSBimkQcLur5ZLoFWaFkkhRHisDUCp59uxJyiT7s+cHPuII1mhf4McCeIIQJBa1HdufyMfG6Y/eLEXipHggOO+x3vxeAHBcQWhsbgjHMbdpiF6b5xnMCwyApIlkj2toKeJXkVKgTSyO3vUiAyM1RxX0iPPaYhQIAQKYi9RHytJz68jk2rsKQoMjJA8/qUYOnJqz7d9BaWUnkq5R8rxFOmevAUUWmQSlJ2AyWPLgJ9WhSRAJaCRboGebgga9IgYLXMTacGAQNMjyaIBEtRAo0nsO6cHHWGnQDNpgANY2JZkGIAjkEkaAiQjSblXg/E+oDg2QwZ8LAdhYWwi0SB7cKhAvC8iFFmoHjv36uD+U7QegEFRRE+F/cbGLu2vAlCSNAkiCTIg2er5oAdfjmdgl4KgSSsQxWUk5DxyCKR0MoJRPtnEJKeeYUCZPuoXPsKxElQ4RBSy7zIq1OtBkBBoEQEH+vX2zacQy6iY41vRt58YYiElKImYiu4LDHSUYOKogEGTku6XPD7kDjGO//WYTwAyOkwhR8nsT/64cZTy8a1UPJ4/KFlKjmzsaXzoPVd65NqRL+/wgqCTVPTU7hgXeUSlxvZE9M2OfmOKDtCOtNM/TkdACAig/05PXuYylQEz7ZGFHCSrGIQFB9L362ICHvmQAKQwYfUihSQ4ikiaxN+ssSrhBOeJtRmmj4YB7lsXtJVMwGaEY+TII5pkgmw2gIajrt1/BVPYDTYbEUKzAwRpw+7L3auRMaCmMQKwg6y+XqZ6lTzuRSY5TyoslHsACzRk0L0qCJSCJtB6QMFB5YFDrQ69DIsS7GYKlkrmjvsSJ4AcT8MN08lYcSBKAGodefQCFEAjDBUr1DJ7jaWBTIzKYQSQYxnHZjRVgEb0bAgjhbTJhAa6GWjyQEgi0dsd8b6DJAR5QBz07Cs9lFyjkOrXbR97e9QHWgZj5JuObkySjv48afdU0GuTEhDFkFuvo+N3OoAwaViT3O8ddnRgmT1AyUCFBbsBZCnIKsAH+h3QjyYy06TgEebIdCmYwk45MLJkf1X2NlG96qFveo2sT5HqwEoQP8HufZUkEaFz5M4iDDyOUcV7gzgSecfBQTR3THDfxiBh3BPZCBVKiI5Lx2tH3UzThtRrvFuOPBhE7kBHBYKSVvaeLaKHG2AQPXZMC2F0nORP4xwJlEBtjlTjACKENSryvQ0iQAsaGHu0cyQYPuJxIK+xvsQcuKqQGVJmXzIbEHtXSJYOWExYQjaCzKMqEqR6whqPIvvjGCWIJmEnwPRoPnq+nApzBwkIcg/hDlYMoYHu0DhSfcPfG6iegw2KmR7pakQmYChYggYDdtLHJsje40L9yamHD+5w9ICmMViHO8462iBFQY7nM3qXo50iji6ydy9mTyruj6UvRsfB8L13ZDPI4ujIEJ/WrGOP0exNz/H9EIoGFAbQO7i+RJJDH9+h9zr3SuyPzTCPK4GpMqEUlCIVKMjSwaeP5wuOjT+SunoWLlC/8jtkP4IRilOBpXQZHbL7Pj26OpFBiDkAVtpIfWzQCIDpo1XIHrODjwj26kuMdtYjxWe/sRLsWGxkzyDh8a4yASVaS5hRmDbM0bv0immmrHT2bGXrSAowItjsANKU6OxogNUmGu5UFuAOYkIcTwjmJxwDqYBCVExh0A2FhE2RfVtTNCx1QA3mgCkW3Xo2HoXOR+LiqCujrcCnoGHsVQNNI5ZCLJZgwWmgQ4rR73WcbYEJECFXdujZ+7HBth2EwCcc4UFiKRDJNAPwweTALEa6B62hcQEDiHKg7ZFC7glrlJScKchuRT38RyvcexseGHegypTdC0j/NB1fw9ToBKnIjq7EFEVasjH61bTdaIrIUiAx4Q6qSSvp3qv3x0FAaElFC6r2FeydOSAyw0zYn1IlR48JljJ4L5tIJezsW7Yj7judMEpwp70UkAxJ5ViNQgYISNEEqtCQ+pNgGw+HYBwA3YLs7BHqg4cYEEQyBuA3QUYOJuiOlTtTkHQvpQmnpwgqmb2vtQQZacIW3CnKTIuGobAsHzVxYO52kDsH4hxUkWl4miNh1N4Djj6xJmQ0iKX34L2k9rR1pHVIRK/pDAdIomCaS+4mVDCYMg/QNPJWLxkdqrtZx5M76ISDsaIGJUiy0Y0O3ZNaT1pEx85OdhpB4SLWjrVgkkXIo+RJ6UaJtntiIxMWiex4cDDB7mjtHr+DSzULXQptN0KNnX+KzuXjI/k3UmRPyhqrL1kxth5EqlBYwjeAI2d95BFIWnd4IcEJi2psOiIueUBpovkAEQDJRKeJBzdHdkjlkevcq5yqFEzYAhqJUlDbAerZP5bJURtENCc6KMYgOc2PbeknDPSAEiXckoFRGWR2uNTzfu9goA6z8JE01h0GgcHxU7FQjQ6Ug1dPuBjqqzCIECWzUyq143AjkiMPGUkiED3CAFlssBCd3uqtNcWuOKAXLyaQLBNqPZJQQ2coGzp1AdAZVjINAYZEu9M4HVKJVErK9gkMU6eJnQ3lhJIE6URyvA/i3terJyOPnP6Rr+ZHPQUSLZ7ADKAK7IvV9R33DupAb13DyUOpSBJmEuXQItSbigPXWVCjI5i0qI8Mda/azl5xbWMqXv8mKSZltl59O+nY8l5VaeTI8ebYoySy449PmNj+vyQplAVZEYkWoJk5iOX0qNrjQQqDhgozyKBKz149WONpxjUDzJhUfiy0eyd056YGABiJELgX65HHRoYAu3h3xGWmJXXirffjx1ofshiQmZyng0Udkh5iUF4cewQdEN9J+k9I2oPH+6R7wVDAhjjoNKbCCIZQjPAgZhV3QYujhRhi2sDrnTIaKSloxOPEnQAxzTr/88fptyJSh2zWr6Mnrq7ljBJ5lLkBaTqpP5iSAb6QQEg4IB4OGne01E7DcFPp4oo7I0sMUa5jqUFP9vVSkMwh2DBHDzuIfyjGDfeHmiSipzRQnCaoqEzSNBYuxCiM3o+FxP7igdcR96LYWyJPLBFopMnzWfv/2h7/6SN+Eimp1weZGjiqNzljfe795rivGETzWBcY2J2M0f90HNRD56h8nRADyVbU66ndVeauU40evWOUg/vtb3YntPte61WpdCjQ0dlQzHrjZEDiFI6D52Pc22Oqa2uCAr38KXDvczUg0vJ2bhcT8CSeF/k/7rc/3N7+9496cxAWA3DYcAfao5bwE330SIHH93uRinREh7UmGWSMFSHs6q6/Cw3JMvVfAjvXQwezQ0278yQ4GIHo8OqgVzpN1CWJFMlCFyJs0mZKnRMqAal3MwgxBBWxIMognWOQuooiDsaPCoA9YuNp8m7YucxkkVtrP90v/2Z9+z9+5u9RTtybTYA+OD6NNuNgFns0+GP/3bH7IEsHcLmrvgNnwcgkmLXFPH2CWLJrAffmZfQQOoSPu45te7T+cTS6+Jva3OCae5OpqXAKRoyGJtRV3mHFgMCQAh+l6r6vZRWGS5RoIKnTQ2WRyhQN+Zfb9V9f3v7zx/L3CrNDmUMG67LFXaVlf+SH9Ms82kF1AKKPKvkQoEZGNZwJpwm2/tiHFtW1BykO/XlokKMT+P9bDAbHCMlURIgfFUzgqMK96WBhTIyJET3iEMHo4vFg4ntu7YRHp2s6UTE/Tk6zKUv49BAuKk/krGjkz9v2v9fT7z1Nvx2FDLiklYCza10WrITcpUYIQRqiWcgQKINGYMQMcnAJTNNU0judcgZSUQTQdxdJUixUZMJ7/7RPOtROFx/KaW9yekd0bM5uqeDwzPQ+p0HjORNFd9OHChUcsvNBBhBggNGpCJJ6nLSTrp5PLmdWi4viKXQS7PzVln+wPv/+m/g7KGnpo95DIoBhahiiEoUM5v2K+yfbiEGsmXeE3fm8TGSjHTBcWYQ0ncgmJwfRbGbHLt2Y4ztpBbgAkda92+Dd4jJIo64jwGa6V5AMqUTPWYyBFe4SbLfH3JXXnmdJhhCzojnNdj4rZlyv4jVjlt6UeIgA26/W27+5fPX7X81/d+rEzCCs7v6BjldpGbJ7U9f5qGHPOIJXpIbQBZJM02YmjACdGaV0aBIkM0kqghoyyMjmnwhvBhqy47q+ZT56cj4Gqg+jTWeT3TXEjhvuiPeTxTo8WuM7EoPUdIoiuLZaZp4+VyP2Xflh9+tehPI0xWMJhr71h//t9eG3nh//0YlhMbujpuf9sAeKUkfKXQkbvFAJuOuvOnTZru8eSQtOtUxm94AIjahEtfdODsLZ3Wt3eN+huwJ0dimq+9k6REZ2fBS0lKJlD88bPDoClImKAcFYoEiFIzpKQoymOikjepsdMyOi2bmcY3nA7WZAk42Xiu/2cJTHJd7MnlOv+/onL/PT49PvPZairh/Sbey1QSmaaLJpC467dak7YNKdcVF/vJkkIlu0nd6BbkLCYXiyDGYV3XlTYUj7oxBqcK8dmN0/SEPQPSgAgp03xaduC0hQKYyg4hCd1WFpj7u7FauzAEGXh0D1ysnnz4TwbSWlEjnRvNZ898rq8lCW54Uzcau3//u9Snnzz97ybCVKR9u0kOE8gjSJVCaQHfTYjoiuPxz8eJfBsldDuKqnsA4us8GJlszWdUu5edgbDyBq0z3fD3fPfRnvWgYPnyfSTDPT2WAo+1a5NwmHz0u6C/ygzCFZi1SU6SnqmpUP5eENth17FalAhjKU2qu/fdGlxlLKm1PMk1bsf3Jbf7F9+S9+wO/1vJ4ChBQcoyVzIHt322t6opU4hLQOhA0gCQPJ1tQSbj39S+LoEJKtEkmZTmY7GACPnKiDHDr8mupkFu7ClXpqhyG4p8juke2J6o5CKVGjNlq9uhfjvhfFCfMyr5VanmJZ8HLpptv4rX/6n4glhrRqtSZxepjL4wIw191fZ/26Pf7+W+81v61SDKA1KD4hejEuUkAqhrJude8tCZFDtnMbaDkKSphJS21v+35gcyDEBDK7lgyPjhKGs8mtK4qDpvUnhJaN7M+P8GjvpWNhiM5h9UxISIzuiblrWeNPCIjH31gSunwo01c/opnffUeYUikR2ZqpJkdn318vjCzlrc4n1LJt6/7Ldb364Xe+mL54ufzRDRFIG7s9GQk3o5I1OZE1wWkECntHSyTQDKAl1JxV2awJqMNz0dfAdK0M9Yg9uAgYBjNGW9BG5DmGdmQDiI+OWwtQGjQy4UYPJemjvTL7gy6DYnAMB5oCoJ3zTz67/NlrlLOWh/z2vdvenZIKtRIIYRJCLuEixFbxzYf48DpNnN/O05nxsq1/8A3P56f/9svyRLVKm6hEo5NoypR3IcEcXV334A3a+XDSZGNWZwVSPUiczGYnsjEb3D1Pji6w4d4+H3aOEe93wGrC7DkO3UoA28xeDd1T2FhZfUxu3W/UU/5h/6NS5ScPLtFepTefoxqX79Ttn4wyhdPO7qCzyRhtXa35/kXYp9NDPJ63ad+v1f/Pt/nV26d/9OXlT99tP98M2A1Ou5m7oI75702au5ZxwFo7aao11IoS6nBgKPuJBFrtzvjOcCaTATm7dxwCWu8MfdfudQB6sZOx3S9uZLIlFUwDySBCRDiHlGZRDty/0shDp7//1fazV2OJ5dEvL6wVMYEFQpnNDGS60R3MkBCbqdac682vK0+P09OixynXVr95zVt7+q3PrufL9pfXbEnWdHGm4cIKK53R73AUedvZ3GAj4Uy6IpVICcF0GsM8mGw7yH67Yu08dN9Ogqyub3X66NitNrtXvu8pduWIzDZqT2dBuvwoDU7IhezC0sAhgNpnMU96/VXT0zOBvHwgmRFBCllCKUYiZfZZipAahthsJhra+3faFj4/5sOidK5b+7N3p8+fzv/5+fWnH+p3W1XAkVkZTBioQgN3YPFwHSES2TuBVlkLp8w0SqHB1nqvlLAzRHXya3RQh3dlTBr0beZjQ+WxlXqDdKdCZKZZDZnNCJNGUGBzDur5Tufm0KLLDx/1sxd60ekZl4u2mstEWWwBlrmotYaI7DcTAWREgZvQISfhxG3NWuPhCY+nPKm29LsPOZ+ffvx8O2+37zKzA/GeT1LqluSMXszQiISTmaBcd7bSF4Ww3ZBhgEhn68qrnPdY+8TEmhoM9SH+oKuOeZe/4cOnNAY/erLvwkJ250rnhP7G6IDkiKcHXX9V9HAChOuHNhcyAlVEiCWY3RncYJOhNKGetJldU5SUtFvD5TXrqsdzzOdGZbv6m3peTvGjZfuw131Ld1xV6WYS3mgLrfXsa2Qmco8MtgoFdyYbWgMTCjSRDYVCOhsQVBwcP7LX1i5m2Ewo+7q5s32Hc2WwUgDhdIoxYJey3w59eM06ROtkwPwcWhM18HD2eqkJFgTWIhQqgDIpLWXWUKEi0UpEulKx9zQg1+zYShvrDO2vL8hWlgUqG7a4gWWeHx/Wpm2tuyE5mek9OzOOTLp7GOVEM+qOXZhmOwPI3EDZHhhAJJ02sinKGFfoVhMOdZ8HWc274b0r04OZ7WyFAchmM+TMRkVXiSh3rwoGMcwAl5PzVlKTGnJdXVC0LvDC6Ka0shS3dBudaRYh2CC1rvnAEqXGYE0/TWXN9WGes+31dc/ldFKplCoapelhepy3rW51L2qZbD2HZAujdWSdYGLg+JLOeshTrfd+bmApNpApmtk6hnfvooEho+TBao089ZF2PUpxh6+DfEOO2qII9Oi/jztEiBDzPOl2IVW4bU1ZdDuznVCCrfsQSmFKKuLeKqVSSkdpCK2tKeK6b8s0Oz3NXtvt6fTQsjWgTNO+X5OT2FpZWka2tZTzvJxu6dtad1e6+72zDb8kAdm+0zXp1vFRJ1ChijR2HZMijRlk8fDv3f1jvPsVu3/msK3hbvb86OXx4ca2RTt9eO50qBsmNS05JV9yInF1K9P1OW8nqgBwMQJGWUJpp2s3jiF2RHeOe6E31NMUtVVOpbX97cN82y7LcmpugOQ0WDMbMwPNaommOSbEg9Zr3du+23kfu6PyzmpmQ4YODe1oawwnmuQJNhPOCh3uCQ6qtBOCtuVhprjnf+nQ5QdnP4zgY/flMQlAMnmnLwry6bzslzBicy3Ld5/n66MUhhGJbl6dyjJjb5lWgXL43pVEZtNU1DKyLUvsdT89LNfr7fHpMVvFVC7rep5P61aFKZEt98yriQQ3Jwqmh3nd6uW2pqCEQi27aCEPedAWVG2J2YDMPnfJCoW6EdppNyHuwppsd/oY2dXbXv/HnIi7AnBoGb0xHpA2joEtgXDRECDheeICfldLi/Dp3Vf57hmRDjvgAqh6XstSTounZEu0bEPIFkCktLXmQkJpz7Na3T57c9q2ldNU3Z7O2tZ9DqZbBcMN2bLsCTJTvaE6qcR5vay3tkspIBHNbAKl0g30zC4gOVPdceMMV3ejbcpKJp05gCOGt+2jvXqowP2HOAxPfUcOC+hQow73Aak+OQVb5DILN+ycfHr5sX/9NiOTzKg57ZxvseyxAFN5+2beKmrNliajjWrhNLS6ABl63VOFJebX9fbm6alulcpmz0Iy9oRsMSoqrUYXckWLZDK2cHmM5RSv76+VrKzKFAFORFCBoEOWW5rp6LO1WcEGhrOxDRTQ2z7e8xSHLeCjebVP6OjjVO+dbo7Dn9FdA70G9qGekMN4bVFP+cPy1293eo/0tHm68bRyMWaigFl+8v23t9rWPW973ba0ISnNZpTifcOttrenqJVmfvFm2eoaS0GTq0vwVvMENNFu4Zbe5U6E1EI2tpLewF2cPj9d1ryue92qCHODCoozOQV2IXK4RpxJCNEjyzSTXQRCZxk7DJWJ4bIZfXaf0BnK4304VYfiNkyfPprWFCVzJrT5VubP5pfnrdZt2nO58fGmU9UCjiEkspTPnpJREtoZZtn3vG15ed3Wbc0Wa+V0gxUlptfXnRPePM/vP7RyYhiXF8WJ2DmRQAMrzEzUpFyrmeBETfAKVjQt5bQs696ur3vjBs6pKSa6MkIedCsbRLSsPjwAw3fB0Tods4zMMZIytgzuPOgnqo/u9mxE948PN6aIUM9JvFnx6C9vl7Wdb+208rTpRE2HlNBHeVQQSlryKVKoXqbnmPGDh73hsu7XtW1brZtvGx7flr1iu/l7X55uu19vOX3B6xWeyp6BwWl3xj+DLnS1Ae3wBFZwZ91QymlalvOa3L3XKFC0KkwlM/tWEp0cPCeA7EJGN3l103c3LicQvfk5aMjh6vmkGt4dMtIY2joKpySZp8fr51/hV+8ePn+9vPjh5tPGuWkOlGO66q7Os9yuH1SKpsKYQ5ByYcycNBfPp+3Zlbg1XLbakhGx7fz2/ctp93Jtl0s+LLFX7Y4V0VyMkpZr5ga1tlh0Ls5GNKBBld5RN5ZtOdW57CUua9u2xGw1O4+wAxB2hp1Egw1H6612H5DVmAdxp/ipwy2kjycR6JD4Qz6U30MipIgS+o3/8vXdT5/0qkubdi0tJrj0uMNdS+xTFECZWfe9bde14ZVF0zyt8zzNs4tKKXPMcymnuXz5/NBUtqoKfP/Hn73sbV3bbc8PL+123fZdtxXbri25JVsGt9ira3MmWJsyp1YniqgONLZdrQa2ebqdlw9LvL7zDrS1qqtFiT7gNVqXUfjUndo+Bn7gj3PfHz02d3/FYRf+OGd/mIAEMjF9Xt998/1v/8KtzU0zVMZU4h3XAkB4mAyi5G0/n5f5ca72dWttq3WtG66gEGSZMjSdloenx/PjqSzIlslyXkpMlnX6fLafE1N6aZ7qFteX+v7D+u67715ve63YmmubWmJvbplqjszF9Rn1Wa+lbNd5+YWWXxa+PJ63a+Ylc2veazQbbla6DatyurNcyO5/FuDuyu1Y85hXFQ8nxGF7hDXso2N2ESyz1uk5//TmLC2mI7sF73PSw7SF7ONOVFmv9Xar1KUs09Pzw/wQNXOv3ppvW+5rjVL2tX3z3aVRj0+Pp8eFJXdcGSooW+OeN2tJv1bMqXl6U7768vzD6W3bdd3a5XV9/3q7XNbr2tqKbcet4rrVb9Iz48saX4X/4XS5aP3LCV8/Pn9b31xv9sW+bbnVyJap3splOhNKdBsmDSczAvfh/DEKOEY8DnH8bkYecEwE52V785Xef+i0FMFP9lIcHQdJ+RCEQPJ/+Ve/azCHRwKcYl5U5lKmaZln0Je13ipbxdaU5DTNkq598Pt8nh5PnOZb9d7UUPacaiuN2J0VrJgMpiYoqiIZGVGtzLjdtv1mtFOt2l/X9fWD9qtwOS/7Pp2+aU8fXs55dbtu+5a1ZmvOZGYnNLIfNeKmPgbQXQAAgUJEjmiLvrnUZ8cVDCkinj9/Kcvnn+/6jzdDu89oNIkIMagJtDRJYZVuKukHxpRTQQWH/Y5Aer9pXZPco1ynOR6ezm/fnBrsplv1+9f95dqiiC7r+uHD1y+Ocv7s6XR+aAFiFeuWdDUaWl3NSMeebGYjWmUDa4SW5fzwUGKe40S+WfOL67bebtvt5u2yPpaXt29enBNfQ9e43fK6ct287blWZNU+tBvZamZCdLiT9qAYxmSga0JGn06AVPDme++nx8+//51+eSNix2xKMQ5pAApFqYDj0Ax/nK5DOZ2czq6AdFrRkMeMLNrWvv36g3k5LdPT8/lpmb54+7hVvH9tHy67qynW5vWbyxVXl+C0OMq0zPPplFGmrd7WxtpgqlEAm2yWtebruuOSeq3lxLJs2a5Zq2vE/PRmod5We4fxXBfVH2lbqrYbX268XtqHl+3Dy95W7jVdtZvNTKtRzSUtO0a4dDq5T9osb/3FV6+Zb95+/RRl28IKsRO2MkAW9SE8DM/b4Uk6zJB/8Me/l4mWTsewVMFp7g21AeA0TzERLJe17ekosTw8PD0v58fTWvXNh9t1w7ZhT9bKBJtVEzvUwOn5cX5+4lSut7ptrK1tu7cde0Wa2QIsjJNd9op12/fmZgCRlFU0Tda0asoZZ25flO0BBCfqlGW+1VwrLjesr+31Q72+tqxordSmTGUywcx2Jld3AAALRUlEQVQApmTB6fvzl5/f+DPWX/5nv/s7f/5/vMMqS7tOVOlOKkPUdNcQx3Ej3ePMAMg/+7P/GiHDtbk5a3OtqI0Ga+vagBLdX8Q0mtmARqbKNE/z+TQtS0wlXS7X+t1lv23eG1qypfaMPQkETzOm2UvhNLOUdWuXy1Y3u03KKT1tzbe9bntrifS4W1iJSJQa0coplzhN6xPagikwQaqYqmOr2VQqlmrWqm1Da8zGuud2i/V6/tGXP3h8mH/x8ue326//h3/89/7wL9qvflalqcMFqoyJV0SzIoLk8IEjhuGy5/v/64//AUiVKNM8LWWeZ0kNLZHbXtc9t517wslpKYlSE+vmrcJQo6xiEkVlnh8fHx+fntP67mX95rLdtrbuaKnalOaeTLOBuxHnx4e3b+P8uK5tvW7b5rph3XPbWm2urdMWyETrBEBTE6vnSznvk4L1CevMIi2KJcrSGhqKk+uetx3N4Szbfn4ub//hT75o2f7olz/7gO1/+q/e/Gp/+6//vJRlsqcdxbtzb60is4ucExFShKJZQFh2N0Fb/JM/+gddKTxEW0ulTDND0zSVKUoJRWGwmdverq1tNbfkNrxWbIiEkmoUQ+U0nR8ey3wCpr3yuuV363ZZ921jS+6N2VSNPV0d0/ywnJ4xLZWlkZn5etm22972bHtksvbn1pTp1opTO6cby8oi1sVZyEAhZzMyZcw8n1WmJfhbT4+/+Xz6+uX2h794927Pf/L3y9uHz//ln/K2nTQVx4xp0XziPMW09LM7kkzqkLPZLSb9RCuk+Sd/+F/0yT0NFNd74oP7V3RLXESJaT4ty3xapqVIpbX9grbWXBOr2axmpaNBSNaQS8zTqSynZzwR5+9a+/X+crvt69r2xr2xNqKpeXaqJTajcj4/v5men814eX1dX7e2OXfUimzMqtYzo715unraACFL64cR+OmzLx6/fBsz3sb+w1M5Az//+vJvf1pfa/nt36y/8YPP/s+/ePz6wxwMc0rOSZnFGFZ4crHCnKCAJo/zb9htZg7w3/7B79xPIjoIW+E+AIZxwAUEdNMqopMQ03I6zadpnqOENOzQDbmjruBuVmAHDbUyw+UBTyc+NZTV2uwP3j/stzVdK2vVWrNu3Cp6GBJlPj3y/GCWtJqjpdfbuq97W7Ula0VrSk+YHqZpen56ePsslMuel0fqrPl6xc/+6vLLr2Nz+eoH+9/625//6V89/voXRjVyapxSkxkuEziBC+XE5BQZyQCKGWBxP5MISpj//o9/p3OSPnTfHIhrMItjTD7kjyMXoti6PUwFET1sS5lO8+N5enPSeebJxMZbRd2MjVwZCafnwLzgccHzhO+9urzzh3f69ob9lrhlrnvdNmy7c2drqKl0pIOaHx6/Ws5vzdou17c5n2KfFafQrVxvzo1bzRrU3vznP8ev/jpandeq5+9984O//cOffXj+9V+wva8wjLlqBgq6L1JTZcEoiBOy9EPzcjAzTEaqSFEkw60PW3UmO8juSRjHFnQw0ZrRz8Tofnci6R3JCuUeDRJi+zBdo7yjIpZpLo+n8tlZjyeeHhGCYFW4Ije64qXhdsbzF/wB8Z9e4Q9aX3V9N71/fbjuriuyVmbdkLtRla8lf6H9wwI+nt4s/OwUbza+kv4MrtDO8yXLz6+nv/zV6XWbl3O91NsPn3/9k5+8/fklLl9TazOZhjPdmoGEYCf7zZKMNNINEBwpGa3rLMZUwdIczczW/QJ9jPdw+o452uibME0YCYNoeT8krL8pxslxMtioliWpndMHReEyx1ximqdYCpYT3jzh8zd8K54qvPrbxDvw/KXf/AjfF35353zD6wvev8bLWj7s2G5uO7Y9/6q2t67/7+a/3vHra55mPkoST0Wf3fLvvMaPX+bML17adtku6/f0i998vO3bZ7d3D7GFpjF41yrdmHk4A+30IV+71TGp1m1LxAi7JMhf/of/rjdQPsybCXcMtrtVt5qZ3erTxzEhs4CT4Xa8jaljRKoP7rGPrEHFhw3KU1GIU2FMRRNRJjye/eUzf/SEzye+kU/kJBTigXj86G6Ab9hfcfsWt/d+qf6l20+LP9iY+XBjeR/nX/vz1zytzmzzFE/QubQ/f97+3Zqf/fT1J+/zzbac69721dtVtbnu3PfqGtmYZjZlqmaneZ2NTiXZLJvunSOSP/t3/9jHbA4hM7JPAY7TXAJWDuOAPA7uYVpgj/n+zWFANPrJh6OfAiPHKCOlQpJllqZSJuk0TXNwImfgTM7EMuEUPgfO4cfCt4GHwocYHXK3hgPwjsuOC10umH/p+ittr64vXFdjQyYwZUz+9gK9+qvbGg/zY1FJazO/gy8V6+brBtzQNu+76466o+2ute0VabTqtPsBqE5kEkj+6k//m4P470JbQT/zAMzuRemDvcfweDf2mmHT41zBMg52BHNM1/Zd1s+IFFiIQoUoYelOa0PJcExUUBNExpwKcgZnswAhnyY8zHj7yDcTzsIEhD7Ovw7bQwOuwHfOF/rFeA9/QF6Z1dq53zBf4N1oyUycIJKNSHIFbuaaWKvX1evKdcO2OnfuW9ade3PrTsW0bf7y3/8THAd/9tNOe0z1AReb2RrsHIf5yck+GGdO/fwXjwMLBMvq4y9BFiIIBsMoJsBiCCgJGZHoLph+xlg0yAyrJMMREUvRxFgYhZqbij2Zs/BwwtsnPD3jYUJMHyeHE0ggGvAKfGP/GvkN8Wqs0JW4ASuwGRu1A9XIRB4HZe7DmuoKNmMHt4Zr49a8NdQduSErS80bMCyGHuYU9pMvkiFNMc2ZbrlntlTwGIzJMZFbsvW5uejTUXQ/W2lKRSJ2EI60gZJAHXswwDBKs2o6zd1OBzn1VTZKEju4kTuxkY5AmSPmaZ6oh9Cbk54f+MUTnx6xLJgmlIIMcAF/TH4OfWN8S37nvCRe6FfolR/PyVwDBHegkRWowAYYbnY2u/BcvHT3PdSN6aW16rFSwy1wB6jDPlgLY5YmLlOrtbU9bbDAJEKsnf3pBy2k033cOfdMJGlGY6HCWPppWenc0y1RnWARZ/AUOgfVMm/19XVfr9nWzGo2yChkMaIxrIAmaWJZFFNMM7VofozpjDhTC8osnQtPD3iYWZaMQr0FTsACL+aFrmCF01iBnbgCN3CDA9h7ti1owAVI0ENUAuDS6o5Qmpl5Vwfcz4Hq55a6kTtL8TafHj47zWXbrnvdJwWpmq61oeMnFpUps+2tJgolItK7e4hxBefqqABiliJawnS2LV+3fH9N35qbCqSW3PaW3aaNtnvrtgOigHtDgLs7zg7siM3YqSY5ipY55udYnrg8cnpCnBnn4PkNlmfy80YLV2ClZnAHZ+MBuZMV3OENrmA1dnAnEqhgdstR5t6yHzuUmd1SKPA48PaYjFQD1drr+4x5Ko+nh6/2/XWva2sVAHKqbWvevd3AcYRL8JRta2h71sYiZsubKXHOfW8uLZaXtt0yad2yfbi+AIBOUBCFWjoCIuMcE3xa93UgIBrZmnPLbc26Jmr2UjNLE3gDV/M7RElNrUwuZ8ynny1Pmp/i9HCeH7+Yl4eiGT7Bzz1vpW/Ee+gFWrshrB+DCXZfWJL8D3/8d7tIHlNpRj9BrislQ6Hs5zn0YwQoxMJYWq0Pb367uWW+v20v1+vtNL2BotZXM2gm8HrbUm8ezp/VfMm21wTjTD687K+v++2S23XNpuU0v73kujl++OYnRfzum68vvKZn9DFoTcS0O+HydPqilLlW3/b22rZr9Wa0Vpv7CVaTEUBJhFmAklZjtP5/zhkzNbOcp/ms5bHMZ57OOp3K6Twv8xJ6pM9I09sx+XwDLsCFXIEV+P8AVVSIwPhIpMwAAAAASUVORK5CYIIA);\
    background-size:100% 100%;} .Btnvista{margin-top:7px;border:1px solid black;background-color: rgba(255, 255,255, 0.5);}.Btnvista:hover{border:1px solid yellow;background-color: rgba(150, 255,220, 0.5);}";
     
    var parent=document.getElementById("ruban");
    parent.className="r"+lestyle;
     
    for (var i = 0; i < boutons.length; i++) {
    var bout=document.createElement("img");
    bout.className="Btn"+lestyle;
    bout.style.marginLeft="3px";
    bout.style.borderRadius="3px";
    bout.title=bouton[boutons[i]][4];
    bout.src=bouton[boutons[i]][5];
    parent.appendChild(bout);
    }}
    </script>
    </head>
     
    <body>
    <!input type="button" value="test" onclick="quoi('bold','5')"!>
    <div id="ruban">
    <script>
    var boutons=['bold','italic','underline','strikeThrough','fontname','fontsize','forecolor','backcolor','justifyleft','\
    justifycenter','justifyright','indent','outdent','unorderedlist','orderedlist','rules','superscript','subscript','undo','\
    redo',"cut",'copy','paste','removeFormat'];
    //var lestyle="Office";
    //var lestyle="blackfire";
    var lestyle="vista";
    init(lestyle,boutons)
    </script>
    </div></body>
    </html>
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #132
    Invité
    Invité(e)
    Par défaut
    au niveau personnalisation c'est top!

  13. #133
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    oui j'ai penser que tout le monde ne voudrais peut etre pas le ruban d'office 2007

    bon j'ai testé ca fonctionne nikel

    j'ai compris mon erreur

    en fait il fallait faire
    di a () as byte

    a="codebase64......"

    mais je vais garder ton exemple pour mémoire
    j'ai donc adapté a ma fonction

    strData viens d'un sheets ou le codebase64 est inscrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Function Base64tofichier(ByRef strData As String, chemin As String)    ' As Object
        Dim objXML As Object    '.DOMDocument
        Dim objNode As Object    'MSXML2.IXMLDOMElement
        Dim a() As Byte
        Dim Buffer() As Byte, intFileNumber
        Set objXML = CreateObject("MSXML2.DOMDocument")
        Set objNode = objXML.createElement("b64")
        objNode.DataType = "bin.base64"
        objNode.Text = strData
        a = objNode.nodeTypedValue
        Set objNode = Nothing
        Set objXML = Nothing
        '///////////////////////////////////
     
        intFileNumber = FreeFile
        Open chemin For Binary As #intFileNumber
        Put #intFileNumber, , a
        'GetBinaryData = Buffer
        Close #intFileNumber
        Image1.Picture = LoadPicture(chemin)
        'Kill chemin
    End Function
    c'est nickel!!!
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #134
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour robert

    voila la derniere version du wysiwyg

    nouveau !!

    bouton enregistrer
    bouton ouvrir un document enregistrer
    menu div revu et agrémenté du background image en base 64 et border
    PS:modifie la macro du bouton "nouveau"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub nouveau_Click()
        With WebBrowser1
            With .Document.getelementbyid("editeur")
                .innerhtml = "<p></p>"
                .Style.Height = "800px"
            .contenteditable = True
            End With
            .Width = Me.InsideWidth: .Height = Me.InsideHeight - fond.Height
        End With
    End Sub
    et toujours 152 kilos!!!!

    dis moi ce que tu en pense
    Nom : demoingto64 in-out.gif
Affichages : 510
Taille : 164,8 Ko
    Fichiers attachés Fichiers attachés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #135
    Invité
    Invité(e)
    Par défaut
    Bonjour Patrick,
    tu n'as pas mégote! c'est un éditeur de site web!

    je n'ai pas encore fait le tour mais c'est copieux!

    je vais regarde ce lundi pour place sur un hébergeur mes source et de fournir ce qu'il faut pour te permettre d'y jeter un œil!

    vue que je n'es été qu'un vulgaire pirate, c'est le minium que je pisse faire, rendre à César ce qui appartiens à César!

  16. #136
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    a ben oui a la base c'est un éditeur html la partie mail n'est pas encore au point

    depuis le début il était prévu de pouvoir enregistrer le document puis le rééditer a sa guise
    j'ai vachement avancer avec les div on a aussi le background image maintenant en base 64
    ca permet d'avoir des image avec du texte dessus entre autre
    je suis entrain de travailler sur les position relatives dynamiquement pour ne pas être limité a un en dessous de l'autre
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.
Page 7 sur 7 PremièrePremière ... 34567

Discussions similaires

  1. Fonction simple, mais incapable de trouver l'erreur
    Par garheb dans le forum Haskell
    Réponses: 1
    Dernier message: 30/11/2012, 15h36
  2. [MySQL] Problème de bdd simple mais pas évident à trouver
    Par Cynthia. dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/10/2010, 18h38
  3. [Empreintes] Mais faites donc taire ces vieux fous !
    Par Jerome Briot dans le forum Politique
    Réponses: 6
    Dernier message: 28/01/2008, 16h10
  4. Mais qui donc travail sur l'ordinateur la bas
    Par borislotte dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/06/2007, 19h11
  5. Mais où est Charlie? Enfin où trouver du travail?
    Par sniperseb dans le forum Emploi
    Réponses: 25
    Dernier message: 30/01/2006, 12h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo