Fonction de requête MySQL dans Excel

ricorico94 Messages postés 3 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 18 octobre 2005 - 14 oct. 2005 à 17:15
ordi50_nerf Messages postés 2 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 20 octobre 2005 - 20 oct. 2005 à 02:13
Bonjour,

Je cherche à faire en VBA pour Excel une fonction qui fasse une reherche dans une base de données MySQL et retourne une unique valeur (un peu comme un VLookup de Excel).
J'ai utilisé l'enregistrement d'une macro pour créer une procédure d'attaque de ma base MySQL, mais je ne vois pas comment faire pour transformer cette procédure en fonction, car elle écrit systématiquement la valeur retournée dans une cellule (range défini dans la propriété Destination) et même en retournant le contenu de cette cellule, ma fonction en marche pas (elle ne se met pas à jour systématiquement, par exemple, ou renvoie #value, etc..).
Voici le texte de ma fonction:

Function Macro2(valeur As String)
'
' Macro2
' Macro recorded 13.10.2005 '
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DATABASE=testamoi;DSN=myodbc;OPTION=0;PORT=0;SERVER=localhost;UID=root", _
Destination:=Range("A1"))
.CommandText = Array( _
"SELECT tabletest_0.F3" & Chr(13) & "" & Chr(10) & "FROM testamoi.tabletest tabletest_0" & Chr(13) & "" & Chr(10) & "WHERE (tabletest_0.F1=" & valeur & ")" _
)
.Name = "Query from myodbc"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Macro2 = Range("A1").Value

End Function

Pourriez-vous m'aider ?

Merci beaucoup!
Eric

1 réponse

ordi50_nerf Messages postés 2 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 20 octobre 2005
20 oct. 2005 à 02:13
Je travail également sur le même sujet et j'ai le même problème à quelque chose près.Dés que je trouve des ssolution je te recontact
0
Rejoignez-nous