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 :

Copier le contenu d'une table HTML dans une feuille Excel [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut Copier le contenu d'une table HTML dans une feuille Excel
    Bonjour à tous ,

    Je suis actuellement sur un gros projet en VBA, pour lequel j'ai été bloqué à plusieurs reprises mais grâce aux différentes astuces trouvées sur ce forum, j'ai toujours pu m'en sortir.
    Sauf que là j'ai beau chercher encore et encore, je ne trouve pas de solution à mon problème :

    Je dois accèder à une page web puis activer un onglet en javascript (jusqu'ici pas de problème), pour ensuite aller chercher les informations contenues dans un tableau HTML (le 9ème de la page). Il faut que seul le texte contenu dans les cellules du tableau soit recopié dans une nouvelle feuille Excel.
    Je continue de chercher, mais je ne trouve rien qui corresponde à mon besoin, je m'en remet donc directement à vous.

    Voici le code VBA (non fonctionnel pour la partie d'accès et de recopie, vous l'aurez compris) ainsi que le code qui m'intéresse de la page HTML :

    Le code VBA :
    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
    Option Explicit
     
    Private Sub InfoPJIAccueil_Click()
         Dim Okay As VbMsgBoxResult
        Okay = MsgBox("Vous êtes sur le point de retourner à l'accueil." & Chr(13) & "Toutes les informations seront perdues." _
                        & Chr(13) & "Etes-vous sur?", vbOKCancel + vbExclamation, "Retourner à l'accueil")
        If Okay = 1 Then
            Unload InfoPJI
            UserForm1.Show
        Else
            Exit Sub
        End If
    End Sub
     
    Private Sub RecherchePJI_Click()
        Dim LePJI As String
        LePJI = PJI.Value
        Call Rechercher(LePJI)
    End Sub
     
    'Fonction de recherche des informations des critères du PJI
    Sub Rechercher(PJI)
        Dim IE As New InternetExplorer
        Dim IEDoc As HTMLDocument
        Dim TableHTML As HTMLTable
        Dim trBoucle As HTMLTableRow
        Dim cellBoucle As HTMLTableCell
        Dim i As Integer, j As Integer
     
        Set IE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
     
        IE.navigate "http://monsiteweb/recherche.do?method=rechercher&identifiant.identifiantPji=" & PJI 'Accéder à la page correspondant à la recherche du PJI
        IE.Visible = False
     
        Do Until IE.readyState = READYSTATE_COMPLETE 'Attente du chargement complet de la page web
            DoEvents
        Loop
     
        Set IEDoc = IE.document
        IE.document.all.Item
        Call IE.document.parentWindow.execScript("javascript:selectionner(31)", "JavaScript") 'accéder à l'onglet javascript du tableau des composants
     
        Do Until IE.readyState = READYSTATE_COMPLETE 'attente du chargement de la page
            DoEvents
        Loop
     
        Set TableHTML = IEDoc.getElementsByTagName("table")(9)
     
        i = 1
        j = 1
        For Each trBoucle In TableHTML
            For Each cellBoucle In trBoucle
                ThisWorkbook.Sheets(7).Range(i, j).Value = TableHTML.outerText
                i = i + 1
                j = j + 1
            Next
            End
        Next
        End
     
    End Sub
    Le code HTML :
    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
    <div class="RnoSectionFree RnoSectionFirst"> 
    	<div class="RnoSectionContent"> 
    		<div class="RnoDataTable">
    			<table><tr></tr>
     
    					<tr>
     
    					<td  onmouseout="return nd();" onmouseover="openCellTagCrit(
    					'002',
    					'001',
    					'STANDA',
    					'STANDARD                 ',
    					'                    ',
    					'5840');">
    						STANDA
    					</td>
     
    					<td  onmouseout="return nd();" onmouseover="openCellTagCrit(
    					'007',
    					'A2S',
    					'XFC   ',
    					'FAMILLE XFC              ',
    					'                    ',
    					'1691');">
    						XFC   
    					</td>

    Je précise que le code HTML est incomplet car très repetitive, je peux néanmoins ajouter qu'il s'agit du 9ème tableau de la page web.

    Merci d'avance pour vos réponses!
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonsoir,
    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
    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
    #If VBA7 Then
     Private Declare PtrSafe Function GlobalUnlock Lib "kernel32" (ByVal hMem As LongPtr) As Long
     Private Declare PtrSafe Function GlobalLock Lib "kernel32" (ByVal hMem As LongPtr) As Long
     Private Declare PtrSafe Function GlobalAlloc Lib "kernel32" (ByVal wFlags As LongPtr, ByVal dwBytes As LongPtr) As Long
     Private Declare PtrSafe Function CloseClipboard Lib "User32" () As Long
     Private Declare PtrSafe Function OpenClipboard Lib "User32" (ByVal hwnd As LongPtr) As Long
     Private Declare PtrSafe Function EmptyClipboard Lib "User32" () As Long
     Private Declare PtrSafe Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
     Private Declare PtrSafe Function SetClipboardData Lib "User32" (ByVal wFormat As LongPtr, ByVal hMem As LongPtr) As Long
     Private Declare PtrSafe Function GetClipboardData Lib "User32" (ByVal wFormat As Long) As Long
    #Else
     Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
     Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
     Private Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
     Private Declare Function CloseClipboard Lib "User32" () As Long
     Private Declare Function OpenClipboard Lib "User32" (ByVal hwnd As Long) As Long
     Private Declare Function EmptyClipboard Lib "User32" () As Long
     Private Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
     Private Declare Function SetClipboardData Lib "User32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
     Private Declare Function GetClipboardData Lib "User32" (ByVal wFormat As Long) As Long
    #End If
    Private Const GHND = &H42
    Private Const CF_TEXT = 1
    Private Const MAXSIZE = 4096
     
     
    Sub test()
     
    Dim txt As String
    txt = " <table> <tr> <td  onmouseout=""return nd();"" onmouseover=""openCellTagCrit('002','001','STANDA','STANDARD','','5840');"">STANDA</td> <td  onmouseout="" nd();"" onmouseover=""openCellTagCrit('007','A2S','XFC   ','FAMILLE XFC              ','                    ','1691');"">XFC   </td></tr></table>"
    ClipBoard_SetData txt
    ActiveCell.PasteSpecial xlPasteAll
    End Sub
    Function ClipBoard_GetData() As String
       Dim hClipMemory As Long
       Dim lpClipMemory As Long
       Dim MyString As String
       Dim RetVal As Long
     
       If OpenClipboard(0&) = 0 Then
          MsgBox "Cannot open Clipboard. Another app. may have it open"
          Exit Function
       End If
     
       ' Obtain the handle to the global memory
       ' block that is referencing the text.
       hClipMemory = GetClipboardData(CF_TEXT)
       If IsNull(hClipMemory) Then
          MsgBox "Could not allocate memory"
          GoTo OutOfHere
       End If
     
       ' Lock Clipboard memory so we can reference
       ' the actual data string.
       lpClipMemory = GlobalLock(hClipMemory)
     
       If Not IsNull(lpClipMemory) Then
          MyString = Space$(MAXSIZE)
          RetVal = lstrcpy(MyString, lpClipMemory)
          RetVal = GlobalUnlock(hClipMemory)
     
          ' Peel off the null terminating character.
          MyString = Mid(MyString, 1, InStr(1, MyString, Chr$(0), 0) - 1)
       Else
          MsgBox "Could not lock memory to copy string from."
       End If
     
    OutOfHere:
     
       RetVal = CloseClipboard()
       ClipBoard_GetData = MyString
     
    End Function
    Function ClipBoard_SetData(MyString As String)
       Dim hGlobalMemory As Long, lpGlobalMemory As Long
       Dim hClipMemory As Long, X As Long
     
       ' Allocate moveable global memory.
       '-------------------------------------------
       hGlobalMemory = GlobalAlloc(GHND, Len(MyString) + 1)
     
       ' Lock the block to get a far pointer
       ' to this memory.
       lpGlobalMemory = GlobalLock(hGlobalMemory)
     
       ' Copy the string to this global memory.
       lpGlobalMemory = lstrcpy(lpGlobalMemory, MyString)
     
       ' Unlock the memory.
       If GlobalUnlock(hGlobalMemory) <> 0 Then
          MsgBox "Could not unlock memory location. Copy aborted."
          GoTo OutOfHere2
       End If
     
       ' Open the Clipboard to copy data to.
       If OpenClipboard(0&) = 0 Then
          MsgBox "Could not open the Clipboard. Copy aborted."
          Exit Function
       End If
     
       ' Clear the Clipboard.
       X = EmptyClipboard()
     
       ' Copy the data to the Clipboard.
       hClipMemory = SetClipboardData(CF_TEXT, hGlobalMemory)
     
    OutOfHere2:
     
       If CloseClipboard() = 0 Then
          MsgBox "Could not close Clipboard."
       End If
     
       End Function

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Bonjour,

    Merci pour la réponse, mais ce n'est pas ce que je demande.
    La question en très simplifié :
    Comment recopier mon le contenu de mon tableau HTML dans une page feuille excel non ouverte? En langage VBA.

    Je pensais utilser une boucle FOR EACH qui irait chercher chaque élément du tableau HTML et le recopier dans la cellule suivante d'une nouvelle feuille excel.
    Merci d'avance.
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    J'ai presque trouvé, le problème maintenant c'est de faire en sorte que de récupérer le tableau qui se trouve dans mon onglet JavaScript.
    J'arrive à faire soit l'un (Récupérer le tableau dans la page courante) soit l'autre (Ouvrir l'onglet JavaScript) mais pas les deux en même temps.

    Voici le code qui me permet de récupérer le tableau (il y a dedans des tentatives d'accès à l'onglet JavaScript, mais qui n'ont aucun effet.

    Merci d'avance pour votre aide.
    Code :
    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
     
    Sub test(PJI)
        Dim oDom As Object
        Dim IE As New InternetExplorer
        Dim IEDoc As HTMLDocument
        Dim x As Long, y As Long
        Dim myURL As String
        Dim oRow As Object, oCell As Object
        Dim data() As String
     
        Set IE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")
        myURL = "http://mapageweb.fr/PSFV/CONSVEHI/recherche.do?method=rechercher&identifiant.identifiantPji=" & PJI
        IE.navigate myURL 'Accéder à la page correspondant à la recherche du PJI
        IE.Visible = False
     
        Do Until IE.readyState = READYSTATE_COMPLETE 'Attente du chargement complet de la page web
            DoEvents
        Loop
     
        Set IEDoc = IE.document
        IE.document.all.Item
        Call IE.document.parentWindow.execScript("javascript:selectionner(31)", "JavaScript") 'accéder à l'onglet javascript du tableau des composants
     
        Do Until IE.readyState = READYSTATE_COMPLETE 'attente du chargement de la page
            DoEvents
        Loop
     
        y = 1
        x = 1
        Set oDom = CreateObject("htmlFile")
        Call IE.document.parentWindow.execScript("javascript:selectionner(31)", "JavaScript")
        '''''''''''''''''''''''''
        With CreateObject("msxml2.xmlhttp")
            .Open "GET", myURL, False
            Call IE.document.parentWindow.execScript("javascript:selectionner(31)", "JavaScript")
            .send
            Call IE.document.parentWindow.execScript("javascript:selectionner(31)", "JavaScript")
            oDom.body.innerHTML = .responseText
        End With
     
        With oDom.getElementsByTagName("table")(9)
            ReDim data(1 To .Rows.Length, 1 To .Cells.Length)
            For Each oRow In .Rows
                For Each oCell In oRow.Cells
                    data(x, y) = oCell.innerText
                    y = y + 1
                Next oCell
                y = 1
                x = x + 1
            Next oRow
        End With
     
        ThisWorkbook.Sheets(7).Cells(1, 1).Resize(UBound(data), UBound(data, 2)).Value = data
    End Sub
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jeanmidudu Voir le message
    Bonjour,

    Merci pour la réponse, mais ce n'est pas ce que je demande.
    La question en très simplifié :
    Comment recopier mon le contenu de mon tableau HTML dans une page feuille excel non ouverte? En langage VBA.

    Je pensais utilser une boucle FOR EACH qui irait chercher chaque élément du tableau HTML et le recopier dans la cellule suivante d'une nouvelle feuille excel.
    Merci d'avance.
    bonjour,
    c'est exactement ce que je te proposé! accorde toi au moins le temps te tester ce que je t'es donné!


    Code Copie colle HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
     
    Dim txt As String
    txt = " <table> <tr> <td  onmouseout=""return nd();"" onmouseover=""openCellTagCrit('002','001','STANDA','STANDARD','','5840');"">STANDA</td> <td  onmouseout="" nd();"" onmouseover=""openCellTagCrit('007','A2S','XFC   ','FAMILLE XFC              ','                    ','1691');"">XFC   </td></tr></table>"
    ClipBoard_SetData txt
    ActiveCell.PasteSpecial xlPasteAll
    End Sub

  6. #6
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Hélas ça ne fonctionne pas. Ton code ne permet pas l'accès à l'élément créé en JavaScript. Il me retourne unique le tableau HTML original.
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  7. #7
    Invité
    Invité(e)
    Par défaut
    et ça ce n'est pas de l'HTML?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt=oDom.getElementsByTagName("table")(9)

  8. #8
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Si bien sûr, mais le problème est que ce code HTML n'est pas celui présent lors de l'appel JavaScript fait part

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Call IE.document.parentWindow.execScript("javascript:selectionner(31)", "JavaScript")
    Il faut que je récupère le tableau présent dans cet onglet JavaScript. Ce qu'aucun code jusqu'ici ne m'a permis de faire.

    Sinon, pour de l'HTML simple, ton code est parfait, mais il est insuffisant dans mon cas.
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  9. #9
    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 heu
    Bonjour

    j'ai pourtant donné moulte exemples sur le forum

    sert toit de l'object htmlfile(htmldocument) et en late binding SVP c'est plus simple

    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
    Sub test()
    Dim ie As Object, matable As Object
    Set ie = CreateObject("internetexplorer.application")
    ie.Visible = False 'true si tu veut voir la page ie  s'afficher
    ie.navigate "ton url" 'met ton url ici
    Set matable = getelementsbytagname("table")(8) 'pour la 9 eme table html
    With CreateObject("htmlfile")
    .write matable.outerhtml
    If .parentWindow.clipboardData.setData("Text", .body.innerhtml) Then
            Application.ScreenUpdating = False
            With Sheets(1) 'adapte le sheets
                .Activate
                            .Cells(2, 1).Select 'adapte la premiere cellule ici
                .Paste
            End With
            .parentWindow.clipboardData.clearData "Text"
        End If
        End With
    End Sub
    voili voilou !!
    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. #10
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    De même, ne fonctionne pas comme espéré à cause du JAVASCRIPT.
    J'avais déjà vu ton code à plusieurs reprises, mais il ne permet pas d'obtenir les éléments présents uniquement dans la partie JavaScript.

    J'en profite également pour signaler une erreur dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set matable = getelementsbytagname("table")(8)
    n'est pas définit et refuse l'acceptation d'un objet de type HTMLTable (de tout objet HTML même)
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  11. #11
    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 autant pour moi j'ai fait ca vite fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set matable =ie.document. getelementsbytagname("table")(8)
    maintenat si la table est créée par javascript executer le script d'abords

    voir meme si la on a paqs a faire a UN JSON

    au quel cas peut etre qu'une requete suffirait
    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. #12
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Si tu regardes le code que j'ai posté, j'exécute le javascript avant d'essayer de récupérer la table, mais rien n'y fait, impossible d'accéder à la bonne table =/
    Par contre, tu parles de JSON et cela m'intéresse, est-ce que tu pourrais développer un peu, stp?

    *ps : merci beaucoup pour le temps que vous prenez afin de m'aider
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  13. #13
    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
    bnsoir
    jes fichiers JSON, ont un format pour échange de données avec JavaScript

    quand tu les lit tu a vite la migraine mais pourtant avec un parser ont les transforme en table ou autres en un clic
    l'utilisation est assez large


    bref si tu sais te servir de l'espion de ton navigateur "F12" pour IE

    et que tu sais te servir de la capture resaux tu peut voir toutes les etapes par les quelles passe IE (ou autre) pour t'afficher la page

    dans ces etapes il y a la construction de ta table soit par un lien soit par un fichier json

    je n'ai pas d'url sinon je te ferais bien un exemple

    mais sans aller jusque la quelle est l'action qui declenche la construction de ta table je ne te parle pas de la fonction mais juste l'action

    un bouton ,une case a cocher etc....??????

    ou se construit elle a l'affichage directement (load)

    si aucune action est necessaire pour la creation cela veut dire que tu devrais pouvoir la récupérer

    peut etre mettre une boucle d'attente
    ce que j'ai oublié de te mettre dans mon exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    set ie=create....
    ie.navigate .......
    do:doevents:loop while ie.readystate<>4 or ie.busy 
    set matable=ie.document.getelementsbytagname("table")(x)
    etc......
    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. #14
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Un exemple en images sera peut-être plus explicite.
    Je lance mon URL et j'arrive sur cette page :
    Nom : Trajet.JPG
Affichages : 2209
Taille : 63,2 Ko
    Et je dois me render sur l'onglet JAVASCRIPT nommé critères (auquel j'arrive à accéder en exécutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ie.navigate "javascript:selectionner(31)"
    Nom : Criteres.JPG
Affichages : 2052
Taille : 96,0 Ko que voici.

    Problème : Impossible actuellement de faire la navigation vers l'onglet JAVASCRIPT pour ensuite récupérer les informations de ce nouvel onglet.

    Code HTML de la page avec l'onglet CRITERES (celle que je veux récupérer) , en simplifié (je n'ai laissé que ce qui pourrait être utile):
    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
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <!-- DEBUT HEADER.PHP-->
     
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    	<meta http-equiv="Content-Style-Type" content="text/css"/>
    	<meta http-equiv="Content-Script-Type" content="text/javascript" />
     
    	<!-- Forece IE à ne pas mettre la page en cache mais à la redemander au serveur-->
     
    	<title>PASA WEB Application</title>
     
    	<script language="javaScript" type="text/javascript" src="/PSFV/GENERAL/scripts/menuExpandable.js"></script>
    	<script language="javaScript" type="text/javascript" src="/PSFV/GENERAL/scripts/i18n.js"></script>
    	<script language="javaScript" type="text/javascript" src="/PSFV/GENERAL/scripts/utils.js"></script>
    	<script language="javaScript" type="text/javascript" src="/PSFV/GENERAL/scripts/overlib.js"></script>
    	<script language="javaScript" type="text/javascript" src="/PSFV/GENERAL/scripts/overlib_shadow.js"></script>
    	<script language="javascript" type="text/javascript" src="/PSFV/GENERAL/scripts/MImageList.js"></script>
    	<script language="javascript" type="text/javascript" src="/PSFV/GENERAL/scripts/MLib.js"></script>
    	<script language="javascript" type="text/javascript" src="/PSFV/GENERAL/scripts/MMenu.js"></script>
    	<script language="javascript" type="text/javascript" src="/PSFV/GENERAL/scripts/main.js"></script>
    	<script language="javascript" type="text/javascript" src="/PSFV/GENERAL/scripts/onglets.js"/></script>
    	<script language="javascript" type="text/javascript" src="/PSFV/CONSVEHI/js/consVehiPSFV.js"/></script>
     
    	<script type="text/javascript" language=JavaScript>
     
                    /*************************************************
                     * Initialisation variables globales
                     *************************************************/
                    var flgFieldsChanged = false;           // Flag détection de chgt sur les forms
                    var browser = new Browser();            // Sniffer browser
     
            </script>
    </head>
    <!-- FIN header.jsp -->
     
    <!-- DEBUT STDLAYOUT.JSP  -->
    	<body>
    		<table id="RnoPage" class="RnoLayout-1col">
    			<tr>
    				<td id="RnoPageWidthRange">	
    					<!-- DEBUT NAVIGATIONBARRE.PHP-->
    <!-- FIN NAVIGATIONBARRE.PHP-->
    					<!-- DEBUT MENUVEH.PHP-->
    <div id="RnoNav2Top" class="sc">
    	<ul>
    		<li class="on"><a href="/PSFV/CONSVEHI">Consultation véhicules</a></li>
    		<li><a href="/PSFV/LISTEVEHZONE/rechVehZone.do?method=init">Véhicules dans une zone</a></li>
    		<li><a href="/PSFV/STERC/rechRestitution.do?method=init">Vieillissement STERC</a></li>
    		<li><a href="/PSFV/CONSVEHI/signability.do?method=init">Signabilité Véhicules</a></li>
    		<li><a href="/PSFV/MCQ/mcq.do?method=init">Recherche Multi Critères</a></li>
    	</ul>
    </div>
    <!-- FIN MENUVEH.PHP-->
    					<div id="RnoBody">				
    <!-- DEBUT error.jsp -->
     
    <!-- FIN error.jsp -->
    						<!-- DEBUT MAIN.JSP -->
    <script type="text/javascript">RnoAddOnloadFunction("colorerOnglet();");</script>
     
    <!-- DEBUT criteria.jsp -->
     
    <!-- Breadcrumb -->
    <div id="RnoBreadcrumb" class="sc">
    	<ul>
    		<li><a href="/PSFV/GENERAL/afficherVehicules.do">Accueil</a> &gt;</li>
    		<li><strong>Consultation véhicules</strong></li>
    	</ul>
    </div>
    <!-- /Breadcrumb --> 
     
    <div id="RnoMainContent" class="sc">
    	<!-- Page Title -->
    	<h2 id="RnoPageTitle">Recherche de véhicules</h2>
    	<!-- /Page Title -->
     
    <script>
    function popup(field)
            {
                    var printWindow = window.open("/PSFV/CONSVEHI/signability.consult.do?method=consultFromVehicles&pji="+field+"&capturePt=1", "criteria", "resizable=yes, scrollbars=yes,menubar=yes,location=yes,status=yes,titlebar=yes,toolbar=yes,height=500, width=700");
                    if (window.focus) {printWindow.focus();}
            }
            </script>
    <!-- DEBUT criteriaBody.jsp -->
     
    	<form name="critereRechercheForm" method="get" action="/PSFV/CONSVEHI/recherche.do">
    		<input type="hidden" name="method" value="rechercher">			
    		<!-- Page Level Buttons -->
    		<div class="RnoPageLevelButtons sc">
    			<ul class="RnoBtn RnoSep">
     
    					<li class="RnoNoSep"><a href="/PSFV/CONSVEHI/recherche.do?method=initialiser" class="RnoBtnBorder RnoBtnHighlight">
    					Nouvelle recherche
    					</a>&nbsp;&nbsp;&nbsp;</li>
    					<li class="RnoNoSep"><a target="_blank" href="/PSFV/CONSVEHI/listperiph.do?method=listperiph&pji=0150314" class="iconeAction">
    					<img src="/PSFV/GENERAL/images/pasa_ico_print.jpg" alt="Imprimer le véhicule." hspace="0" vspace="0" border="0" />
    					</a>&nbsp;&nbsp;&nbsp;</li>
    					<li class="RnoNoSep"><a href="javascript:popup('0150314');" class="RnoBtnBorder RnoBtnHighlight">
    					Consultation de la signabilité
    					</a>&nbsp;</li>
    			</ul>
    		</div>
    		<!-- /Page Level Buttons -->		     		
    	</form>
     
    <!-- FIN criteriaBody.jsp -->
    </div>
    <!-- FIN criteria.jsp -->
     
    <!-- DEBUT consVehiBody.jsp -->
     
           <div id="RnoTabs" class="sc">
     
    				<ul>
    					<li id="ong1"><a href="#ong1" onmouseup="javascript:selectionner(1);">Généralités</a></li>
    					<li id="ong2"><a href="#ong2" onmouseup="javascript:selectionner(2);">Trajet</a></li>
    					<li id="ong3"><a href="#">Composition</a>
    						<ul>
    							<li><a href="#ong31" onmouseup="javascript:selectionner(31);">Critères</a></li>
    							<li><a href="#ong32" onmouseup="javascript:selectionner(32);">Composants</a></li>
    						</ul>
    					</li>
    				</ul>
    			</div>
    			<form name="ongletForm" method="post" action="/PSFV/CONSVEHI/onglet/selectionner.do">
    			<input type="hidden" name="method" value="selectionnerOnglet">
    			<input type="hidden" name="numeroOnglet" value="31">
     
    <!-- DEBUT compositionBody.jsp -->
     
    <!-- DEBUT compCritereDetailBody.jsp -->
     
    <script language="JavaScript">
     
    // Affichage d'une info-bulle pour un critere
    function openCellTagCrit(p_obj, p_crit, p_critclair, p_liblong, p_usine, p_nbvehi)
    { 
    	// Corps de l'info-bulle
    	var tag_body;
    	p_liblong = p_liblong.replace("apostrophe","'");
    	tag_body = '<font color=#FFFFFF>' + 
    		'<ul><li>Numéro Objet : <b>' + p_obj + '</b></li>' +
    		'<li>Numéro Critère : <b>' + p_crit + '</b></li>' +
    		'<li>Critère en clair : <b>' + p_critclair + '</b></li>' +
    		'<li>Libellé long : <b>' + p_liblong + '</b></li>' +
    		'<li>Libellé usine : <b>' + p_usine + '</b></li>' +
    		'<li>Nombre de véhicules  : <b>' + p_nbvehi + '</b></li>' +
    		'</ul></li></font>';
     
    	// entete de l'info-bulle
    	var tag_head = '<table class=bulle><tr><td class="bulleC">' + p_critclair + '</td></tr></table>';
     
    	// L'info bulle utilise la librairie overlib
    	return overlib(tag_body,SHADOW,VAUTO,FGCOLOR,'#ffad00',DELAY,1000,FOLLOWMOUSE,CAPTION,tag_head);
    }
    </script>
     
    <div class="RnoSectionFree RnoSectionFirst"> 
    	<div class="RnoSectionContent"> 
    		<div class="RnoDataTable">
    			<table><tr></tr>
     
    					<tr>
     
                                            <td  onmouseout="return nd();" onmouseover="openCellTagCrit('002','001','STANDA','STANDARD','','6617');">
    						STANDA
    					</td>
     
                                            <td  onmouseout="return nd();" onmouseover="openCellTagCrit( '007','A2S','XFC','FAMILLE XFC',' ','1897');">
    						XFC   
    					</td>
     
    /* Les données */
    /*j'ai supprimé les lignes car ce n'est que de la répétition*/
    					</td>
    					</tr>
     
    			</table>
    		</div>
    	</div>
    </div>
    <!-- FIN composantDetailBody.jsp -->
     
     
    <!-- FIN compositionBody.jsp -->
     
    			</form>
    		</div>
     
    <!-- FIN consVehiBody.jsp -->
     
    <!-- FIN MAIN.JSP -->					
    					</div>
    				</td>
    			</tr>
    		</table>	
     
    	</body>
    </html>
    <!-- FIN STDLAYOUT.JSP  -->
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  15. #15
    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 non ca'est pas un onglet javascript

    donne moi le code html des composants qui sont entouré sur ta capture

    est ce que c'est des LI ?????? il manipuler le clic de ses boutons et c'est tout je vois pas pourquoi tu va t'embeter a chercher a manipiler le javascript

    sur tout que si le site et protéger par googleappsonwindows et bien c'est walouh!!!!

    Nom : Trajet.JPG
Affichages : 2043
Taille : 91,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

  16. #16
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Voici la partie de code correspondante :
    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
    <div id="RnoTabs" class="sc">
     
    				<ul>
    					<li id="ong3"><a href="#">Composition</a>
    						<ul>
    							<li><a href="#ong31" onmouseup="javascript:selectionner(31);">Critères</a></li>
    							<li><a href="#ong32" onmouseup="javascript:selectionner(32);">Composants</a></li>
    						</ul>
    					</li>
    				</ul>
    			</div>
    			<form name="ongletForm" method="post" action="/PSFV/CONSVEHI/onglet/selectionner.do">
    			<input type="hidden" name="method" value="selectionnerOnglet">
    			<input type="hidden" name="numeroOnglet" value="31">

    Et voice l'URL de la première page : http://mapageweb.fr/PSFV/CONSVEHI/re...dentifiantPji=
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  17. #17
    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
    bonsoir
    comme ca vite fait en rentrant du boulot
    c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ie.document.getelementbyid("ong3").getelementsbytagname("li")(0).click 'te declanche la table critere
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <ul>
                        <li id="ong3"><a href="#">Composition</a>
                            <ul>
                                <li><a href="#ong31" onmouseup="javascript:selectionner(31);">Critères</a></li>
                                <li><a href="#ong32" onmouseup="javascript:selectionner(32);">Composants</a></li>
                            </ul>
    c'est pas complique non de dieu

    et le lien que tu a donné declanche une erreur 404 soit mauvaise url
    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

  18. #18
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    C'est qu'il s'agit d'une page d'entreprise en intranet, donc normal, c'était pour donner l'aspect du lien.
    Et j'essaye dès demain 8h pour voir si ça fonctionne,
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  19. #19
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Ce que je trouve génial c'est que tu analyse les pages web développé par ton voisin de bureau!

    J'espère que le web master de ta boite est abonné à developpez.com
    Dernière modification par Invité ; 27/11/2015 à 08h13.

  20. #20
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Bonjour,
    Ce que je trouve génial c'est que tu analyse les pages web développé par ton voisin de bureau!

    J'espère que le web master de ta boite est abonné à developpez.com
    Je ne suis pas sûr de comprendre

    Citation Envoyé par patricktoulon Voir le message
    bonsoir
    comme ca vite fait en rentrant du boulot
    c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ie.document.getelementbyid("ong3").getelementsbytagname("li")(0).click 'te declanche la table critere
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <ul>
                        <li id="ong3"><a href="#">Composition</a>
                            <ul>
                                <li><a href="#ong31" onmouseup="javascript:selectionner(31);">Critères</a></li>
                                <li><a href="#ong32" onmouseup="javascript:selectionner(32);">Composants</a></li>
                            </ul>
    c'est pas complique non de dieu

    et le lien que tu a donné declanche une erreur 404 soit mauvaise url
    Le code que tu m'as fourni cette fois encore ne fonctionne. Lorsque j'affiche la page Internet, j'accède bien à l'onglet "Critères", mais dans le code, les informations récupérées sont TOUJOURS les informations de l'onglet initial (TRAJET).
    Par contre, lorsque j'essaye d'accèder à l'onglet en dur via l'URL de recherche de mon navigateur, j'ai le message suivant qui s'affiche :
    Internet Explorer a modifié cette page pour empêcher le script de site à site
    Je me demande s'il ne serait pas tout simplement impossible d'accèder à la page Internet par script en Intranet, car dans les options du navigateur j'ai pourtant bien activer l'autorisation de l'exécution de scripts et désactiver la verification.
    D'apèrs vous, étant en Intranet, est-il possible que l'exécution de script soit impossible?
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Supprimer une ligne d'une table html dans une page jsp
    Par dev_newbie dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 30/04/2013, 13h01
  2. [MySQL] Comment afficher le résultat d'une données mysql dans une table html ?
    Par Alexandrebox dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/03/2010, 22h44
  3. [HTML] Intégrer une page html dans une page html
    Par leloup84 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 25/03/2008, 12h09
  4. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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