Bonjour à tous,
J'ai besoin de récupérer sous excel des données se trouvant sur aramis mais j'ai une erreur d'automation.
Je ne suis pas encore très expérimenté en programmation, merci de votre aide
Le 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 Sub récup() Dim conn As ADODB.Connection Set conn = New ADODB.Connection Dim rst As ADODB.Recordset With conn .Provider = "SQLOLEDB.1;Password=MonMotDePasse;Persist Security Info=True;User ID=MonID;Initial Catalog=aramis;Data Source=agirsrvn" .Open End With Set rst = New ADODB.Recordset Dim requete1 As String Dim entrées As String Dim sorties As String Dim Date_deb As Date Dim Date_fin As Date Dim antenne As Integer Dim ligne As Integer Dim s As String Dim numchamp As Integer Date_deb = Range("date_deb").Value Date_fin = Range("date_fin").Value antenne = Range("antenne").Value requete1 = "SELECT dbo_appareils.Modèle, dbo_mouvementappareils.Point_Origine, dbo_mouvementappareils.Date_Validation, dbo_mouvementappareils.Point_Arrivée" & _ "FROM dbo_appareils INNER JOIN dbo_mouvementappareils ON dbo_appareils.No_Appareil = dbo_mouvementappareils.No_Appareil" & _ "WHERE (((dbo_appareils.Famille) <> '6-C' or (dbo_appareils.Famille) <> '6-P'))" & _ "GROUP BY dbo_appareils.Modèle, dbo_mouvementappareils.Point_Origine, dbo_mouvementappareils.Date_Validation, dbo_mouvementappareils.Point_Arrivée, dbo_appareils.No_Appareil" & _ "HAVING (((dbo_mouvementappareils.Date_Validation) > '" & Date_deb & "' And (dbo_mouvementappareils.Date_Validation) < '" & Date_fin & "') And ((dbo_mouvementappareils.Point_Arrivée) = " & antenne & ")) Or (((dbo_mouvementappareils.Point_Origine) = " & antenne & ") And ((dbo_mouvementappareils.Date_Validation) > '" & Date_deb & "' And (dbo_mouvementappareils.Date_Validation) < '" & Date_fin & "'))" & _ "ORDER BY dbo_appareils.Modèle, dbo_mouvementappareils.Date_Validation;" ligne = 1 rst.Open requete1, conn 'à prioris l'erreur vient d'ici rst.MoveFirst Do Until rst.EOF For numchamp = 0 To 4 s = rst(numchamp) Sheets("présentation").Cells(ligne, 3 + numchamp ) = s Next numchamp ligne = ligne + 1 rst.MoveNext Loop rst.Close End Sub
Partager