Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

requetes programme macro sous excel de philippe

1 réponse
Avatar
urgent
bonjour,

philippe j'ai pas bien compris ton programme , tu peux me faire un exemple
ou me mettre des commentaire sur le programme.
Sub Test()

Dim CurCell As Range
Dim i As Integer
Dim line As Integer

Set c = New ADODB.Connection
Set r = New ADODB.Recordset

c.Open
"Provider=sqloledb;SERVER=MY_SQL_SERVER\MY_SQL_INSTANCE;DATABASE=MY_DATABASS
E;User Id=My_User;Password=My_Password"
r.ActiveConnection = c

CurCell.Offset(0, 0).Value = "Fiscal Year"
CurCell.Offset(0, 1).Value = "Competence"

' Desactive la mise à jour de l'écran
Application.ScreenUpdating = False

' Récupération des données
r.Open "my_ProcedureStockee"
line = 1
Do
line = line + 1
ActiveSheet.Cells(line, 1).Select

CurCell.Offset(line, 0).Value = r("YEAR")
CurCell.Offset(line, 1).Value = r("COMPETENCE")

r.MoveNext
Loop Until r.EOF

r.Close
c.Close

' Reactive la mise à jour de l'écran
Application.ScreenUpdating = True
ActiveSheet.Cells(1, 1).Select

End Sub


merci beaucoup
Merci

1 réponse

Avatar
Philippe [MS]
Bonjour,

Set c = New ADODB.Connection
=> Définition d'une connexion à la base

Set r = New ADODB.Recordset
=> Création d'un recordset

c.Open
"Provider=sqloledb;SERVER=MY_SQL_SERVERMY_SQL_INSTANCE;DATABASE=MY_DATABASE
;User Id=My_User;Password=My_Password"
=> Ouverture de la connexion vers la base : mettre la bonne chaine de
connexion

r.ActiveConnection = c
=> Associer le recordset à la connexion

r.Open "my_ProcedureStockee"
=> Ouverture du recordset correspondant à la procédure stockée passé en
argument

CurCell.Offset(line, 0).Value = r("YEAR")
=> Mettre en colonne 0 la colonne YEAR renvoyé par le recordset
(my_ProcedureStockee)

CurCell.Offset(line, 1).Value = r("COMPETENCE")
=> Mettre en colonne 1 la colonne COMPETENCE renvoyé par le recordset
(my_ProcedureStockee)

r.MoveNext
=> Déplacement à l'enregistrement suivant

r.Close
=> Fermeture du recorset

c.Close
=> Fermeture bde la connexion

N'hésite pas en cas de problème.

Phil.

"urgent" wrote in message
news:
bonjour,

philippe j'ai pas bien compris ton programme , tu peux me faire un exemple
ou me mettre des commentaire sur le programme.
Sub Test()

Dim CurCell As Range
Dim i As Integer
Dim line As Integer

Set c = New ADODB.Connection
Set r = New ADODB.Recordset

c.Open

"Provider=sqloledb;SERVER=MY_SQL_SERVERMY_SQL_INSTANCE;DATABASE=MY_DATABASS

E;User Id=My_User;Password=My_Password"
r.ActiveConnection = c

CurCell.Offset(0, 0).Value = "Fiscal Year"
CurCell.Offset(0, 1).Value = "Competence"

' Desactive la mise à jour de l'écran
Application.ScreenUpdating = False

' Récupération des données
r.Open "my_ProcedureStockee"
line = 1
Do
line = line + 1
ActiveSheet.Cells(line, 1).Select

CurCell.Offset(line, 0).Value = r("YEAR")
CurCell.Offset(line, 1).Value = r("COMPETENCE")

r.MoveNext
Loop Until r.EOF

r.Close
c.Close

' Reactive la mise à jour de l'écran
Application.ScreenUpdating = True
ActiveSheet.Cells(1, 1).Select

End Sub


merci beaucoup
Merci