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 :

Requete SQL VBA avec jointure classeur externe et interne


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut Requete SQL VBA avec jointure classeur externe et interne
    Bonjour,
    Je me permets de vous écrire afin de demander de l'aide. J'utilise une requete SQL dans mon code vba pour récupérer des infos d'un classeur excel externe cependant je voulais savoir s'il est possible de faire une jointure entre mon classeur et le classeur externe?
    Ex :
    Tableau 1 (mon classeur) qui contient 2 colonnes A et B
    Tableau 2 (classeur externe) qui contient 3 colonnes C D et F

    le but est de faire une jointure entre les 2 tableau avec condition A=C et récupérer les colonnes du fichier externe C D et F

    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
    Sub test()
     
    Tableau_Ext = "GLOBAL_NORD$"
    Cellule = "A10:BK5000"
     
    Dim Cn As ADODB.Connection
    Dim oCat As ADOX.Catalog
    Dim Fichier As Variant
    Dim Feuille As ADOX.Table
     
    Dim Rst As ADODB.Recordset
    Dim texte_SQL As String
    Dim Ar() As String, i As Long
     
        Fichier = Application.GetOpenFilename("Fichier Excel,*.xlsx")
        If Fichier = False Then Exit Sub
     
        Set Cn = New ADODB.Connection
        Set oCat = New ADOX.Catalog
     
        'Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & ";Extended Properties=Excel 8.0;"
       With Cn
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
                & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
            .Open
        End With
     
         texte_SQL = "SELECT * FROM [" & Tableau_Ext & Cellule & "]"
     
       Set Rst = New ADODB.Recordset
        Set Rst = Cn.Execute(texte_SQL)
     
       Feuil3.Range("A2").CopyFromRecordset Rst

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
        With CreateObject("ADODB.Connection")
            .Open "Provider = Microsoft.ACE.OLEDB.12.0;data source=" & ThisWorkbook.FullName & ";extended properties=""Excel 12.0;HDR=YES"""
             Feuil3.Range("A2").CopyFromRecordset .Execute("SELECT * FROM [Feuil1$] As FrmInt inner join (select * from [Feuil1$] in 'c:\MyRep\Fichier.xlsx' 'Excel 12.0;HDR=YES;') As  FrmExt on  FrmExt.Id= FrmInt.Id")   '---- Lecture des fichiers ---
             .Close
        End With
    End sub
    Dernière modification par Invité ; 23/03/2017 à 10h17.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup dysorthographie pour votre retour, le code fonctionne bien. Je voulais savoir est ce que on peut utiliser where à la place de inner join ?

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Désolé Pouvez vous s'il vous plait m'aider à adapter le code avec le .Open :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    'Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & ";Extended Properties=Excel 8.0;"
    With Cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
    & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
    .Open
    End With

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par telecom_16 Voir le message
    Merci beaucoup dysorthographie pour votre retour, le code fonctionne bien. Je voulais savoir est ce que on peut utiliser where à la place de inner join ?
    Bonjour,
    Inner join et where c'est la même chose voir mieux!

    Le langage Sql c'est puissant et le bonnes pratique je ne prescris que ça!

    Mais si tu ne veux pas changer tes mauvaises habitudes, fais comme dab!

    Je viens pour proposer des solutions dans les règles.

    Mélanger l'inner join et le where complique considérablement le filtre si pour le coup tu veux utiliser le where!

    Where inner and toto='tt' or inner and toto='gg' ! Il te faudra multiplier des conditions inutile!
    Dernière modification par Invité ; 24/03/2017 à 08h44.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par telecom_16 Voir le message
    Désolé Pouvez vous s'il vous plait m'aider à adapter le code avec le .Open :
    'Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Fichier & ";Extended Properties=Excel 8.0;"
    With Cn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
    & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
    .Open
    End With
    C'est exactement ce que j'ai fait au poste #2

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Merci beaucoup pour votre retour, en fait, je me suis mal exprimé pour le .OPEN. Ma demande était de remplacer le 'c:\MyRep\Fichier.xlsx' 'Excel 12.0;HDR=YES;' par un fichier que j'importe via OpenFile car mon fichier externe change de nom.
    Est ce que c'est possible d’introduire les 2 ligne ci-dessous dans la requête sql en question?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Fichier = Application.GetOpenFilename("Fichier Excel,*.xlsx")
        If Fichier = False Then Exit Sub

    Cdt,

  8. #8
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim Fichier
    Fichier = Application.GetOpenFilename("Fichier Excel,*.xlsx")
    If Fichier = False Then Exit Sub
    Importer CStr(Fichier), Feuil3.Range("A2")
    End Sub
    Sub Importer(Fichier As String, Destination As Range)
        With CreateObject("ADODB.Connection")
            .Open "Provider = Microsoft.ACE.OLEDB.12.0;data source=" & ThisWorkbook.FullName & ";extended properties=""Excel 12.0;HDR=YES"""
             Destination.CopyFromRecordset .Execute("SELECT * FROM [Feuil1$] As FrmInt inner join (select * from [Feuil1$] in '" & Fichier & "' 'Excel 12.0;HDR=YES;') As  FrmExt on  FrmExt.Id= FrmInt.Id")   '---- Lecture des fichiers ---
             .Close
        End With
    End Sub

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup pour votre aide ça marche bien.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonjour dysorthographie,

    Je suis bloqué sur le nom de la Feuil du fichier importé par la requête SQL, je m'explique le nom de le feuille change donc je dois l’écrire à son nom de source (Feuil1)
    Nom de la feuille change beaucoup mais reste toujours dans la feuille 1 ex Feuil1(tableau123466) Feuil1(tableau123466)

    Pourriez vous svp m'aider ? Merci beaucoup

    Cdt,

  11. #11
    Invité
    Invité(e)
    Par défaut
    bonsoir,
    si tu énumères les tables de ton classeur, tu es capable de reconnaître le bon sachant que tu auras toujours le nom qui s'affiche sur l'onglet et jamais feulle1.xxx!

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonsoir

    j'ai trouvé ce code est que on peut l'adapter à notre besoin? svp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Ar() As String, i As Long
     
        For Each Feuille In oCat.Tables
            i = i + 1
            ReDim Preserve Ar(i)
            Ar(i) = Feuille.Name
        Next Feuille

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Je sais faire ce genre de code pour cela pas de problème.
    https://www.developpez.net/forums/d1...s/#post9138433

    Ma question est que dans ton poste tu parle de Feuil1(tableau123466) .

    Je te demande comment tu peux reconnaître le nom de l'onglet sachant que c'est bien le nom coté excel et pas vba que tu verras.


    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
    Dim Cn As ObjectSub test()
    Dim Fichier
    Fichier = Application.GetOpenFilename("Fichier Excel,*.xlsx")
    If Fichier = False Then Exit Sub
    Importer CStr(Fichier), Sheets("Feuil3").Range("A2")
    End Sub
    Sub Importer(Fichier As String, Destination As Range)
    Set Cn = CreateObject("ADODB.Connection")
        With Cn
            .Open "Provider = Microsoft.ACE.OLEDB.12.0;data source=" & Fichier & ";extended properties=""Excel 12.0;HDR=YES"""
            If TableExiste("Feuil1$") Then Destination.CopyFromRecordset .Execute("SELECT * FROM [Feuil1$] As FrmExt inner join (select * from [Feuil1$] in '" & ThisWorkbook.FullName & "' 'Excel 12.0;HDR=YES;') As  FrmInt on  FrmInt.a= FrmExt.a")         '---- Lecture des fichiers ---
             .Close
        End With
    End Sub
     
     
    Public Property Get TableExiste(TableName As String) As Boolean
    With Cn.OpenSchema(20)
        If Not .EOF Then
          .Filter = "TABLE_NAME ='" & Array(TableName, "''" & TableName & "''")(Abs(CBool(InStr(TableName, " ")))) & "'"
           TableExiste = Not .EOF
        End If
        .Close
    End With
    End Property
    Dernière modification par Invité ; 31/03/2017 à 11h01.

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonsoir,
    Désolé pour la réponse tardive , en fait le fichier d'import à toujours un seul onglet donc c'est toujours feuil1 coté vba
    Sinon le code fonctionne mais me donne rien

    Cdt,

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Avec ado tu ne pourras pas voir le nom feuil1 coté vba mais tableau123466 coté Excel.

    Je réitère ma question, as tu le moyen de reconnaître le nom de l'onglet a récupérer. Ou tu récupère systématiquement le seule onglet présent?

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Oui je récupère systématiquement le seule onglet présent. Pour le nom de l'onglet il change souvent donc il faut le connaitre à chaque maj afin changer le code

  17. #17
    Invité
    Invité(e)
    Par défaut
    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
    Dim Cn As Object
    Sub test()
    Dim Fichier
    Fichier = Application.GetOpenFilename("Fichier Excel,*.xlsx")
    If Fichier = False Then Exit Sub
    Importer CStr(Fichier), Sheets("Feuil3").Range("A2")
    End Sub
    Sub Importer(Fichier As String, Destination As Range)
    Dim Table As String
    Set Cn = CreateObject("ADODB.Connection")
        With Cn
            .Open "Provider = Microsoft.ACE.OLEDB.12.0;data source=" & Fichier & ";extended properties=""Excel 12.0;HDR=YES"""
            Table = PremiereTableAdo
            If Table <> "" Then Destination.CopyFromRecordset .Execute("SELECT * FROM [" & Table  & "] As FrmExt inner join (select * from [Feuil1$] in '" & ThisWorkbook.FullName & "' 'Excel 12.0;HDR=YES;') As  FrmInt on  FrmInt.a= FrmExt.a")       '---- Lecture des fichiers ---
             .Close
        End With
    End Sub
     
     
    Public Property Get PremiereTableAdo() As String
    With Cn.OpenSchema(20)
        If Not .EOF Then
            PremiereTableAdo = .fields("TABLE_NAME")
        End If
        .Close
    End With
    End Property

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonsoir

    Parfait, c'est bon merci beaucoup pour ton aide.
    Une dernière demande stp j'ai parfois des fichiers .csv à importer, j'essaye de l'adapter avec la connexion ci dessous mais ce ne marche pas pourrais tu m'aider stp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Open "Provider = Microsoft.Jet.OLEDB.4.0;data source=" & Fichier & "Extended Properties=""text;HDR=Yes;FMT=Delimited;"""
            Table = PremiereTableAdo

  19. #19
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    je n'arrive toujours pas à prendre en compte le séparateur de colonnes {Delimited( ; }!

    je fais les chose comme il faut mais rien y fait! on me dit qu'il faut bricoler la base de registre ce qui veut dire que l'application n'est pas transportable (qui fait ça)!
    quand je demande de l'aide on me répond si tu ne le sais pas qui le saurera!

    enfin voila ça marche sur certaines bécane! les paramétré régionaux semble-t-il???


    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
    Dim Cn As ObjectSub test()
    Dim Fichier
    'Fichier = Application.GetOpenFilename("Fichier Excel,*.xlsx")
    'If Fichier = False Then Exit Sub
    Importer "C:\MyRepertoire\Nouveau dossier", Sheets("Feuil3").Range("A2")
    End Sub
    Sub Importer(Repertoire As String, Destination As Range)
    Dim Table As String
    Set Cn = CreateObject("ADODB.Connection")
        With Cn
            .Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Repertoire & ";Extended Properties='text;HDR=Yes;FMT=Delimited(;);'"
            Table = PremiereTableAdo
            If Table <> "" Then Destination.CopyFromRecordset .Execute("SELECT * FROM [" & Replace(Table, ".CSV", "") & "] As FrmExt ")      '---- Lecture des fichiers ---
             .Close
        End With
    End Sub
     
    Public Property Get PremiereTableAdo() As String
    With Cn.OpenSchema(20)
        If Not .EOF Then
            PremiereTableAdo = .fields("TABLE_NAME")
        End If
        .Close
    End With
    End Property
    Édite:

    j'ai trouvé!
    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
     
    Dim Cn As Object, txt As String
    Sub test()
    Dim Fichier
    txt = "[F.CSV]" & vbCrLf & _
    "Format=Delimited(;)"
    '
    'Fichier = Application.GetOpenFilename("Fichier Excel,*.xlsx")
    'If Fichier = False Then Exit Sub
    Importer "C:\MyRepertoire\Nouveau dossier", Sheets("Feuil3").Range("A2")
    End Sub
    Sub Importer(Repertoire As String, Destination As Range)
    Dim Table As String
    Set Cn = CreateObject("ADODB.Connection")
        With Cn
            .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Repertoire & ";Extended Properties=""Text;HDR=YES;FMT=Delimited;"";"
            Table = PremiereTableAdo
            If Table <> "" Then
                NewFichierTxt Repertoire & "\schema.ini", Replace(txt, "F.CSV", Replace(Table, "#", "."))
               Destination.CopyFromRecordset .Execute("SELECT * FROM [" & Table & "] As FrmExt inner join (select * from [Feuil1$] in '" & ThisWorkbook.FullName & "' 'Excel 12.0;HDR=YES;') As  FrmInt on  FrmInt.a= FrmExt.a")        '---- Lecture des fichiers ---
                Kill Repertoire & "\schema.ini"
                End If
             .Close
        End With
    End Sub
     
    Public Property Get PremiereTableAdo() As String
    With Cn.OpenSchema(20)
        If Not .EOF Then
            PremiereTableAdo = .fields("TABLE_NAME")
        End If
        .Close
    End With
    End Property
    Private Sub NewFichierTxt(Fichier, txt)
    Dim fso, NewFichier
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set NewFichier = fso.OpenTextFile(Fichier, 2, True)
    NewFichier.Write txt
    NewFichier.Close
    Set NewFichier = Nothing
    Set fso = Nothing
    End Sub
    Dernière modification par Invité ; 04/04/2017 à 12h42.

  20. #20
    Futur Membre du Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Le code fonctionne mais il tape vers un dossier sur CE est ce que il peut etre adapté à un import Application.GetOpenFilename

    I

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

Discussions similaires

  1. [SQL] Problème avec jointure externe
    Par critok dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/10/2009, 13h49
  2. Réponses: 7
    Dernier message: 21/09/2006, 15h06
  3. requete SQL: where avec parametre variable
    Par dracula2000 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 06/05/2006, 23h46
  4. Requete SQL croisée avec la clause Like
    Par Orgied dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/03/2006, 17h36
  5. [PL/SQL] update avec jointure
    Par Fox_magic dans le forum Oracle
    Réponses: 6
    Dernier message: 09/12/2004, 13h19

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