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

probleme de macro contenant ADODB

4 réponses
Avatar
florian.mora
Bonjour =E0 tous,

Je sollicite vos comp=E9tences pour me sortir d'un probl=E8me dont je ne
trouve pas la solution... j'ai =E9cris une macro pour faire une
extraction d'une table access vers une feuille excel.... mais =E7a ne
marche pas... a l'execution il bug d=E8s la premiere ligne....

voici le code

Private Sub Commande15_Click()
If InputBox("Mot de Passe") =3D "x" Then

'Dim password As String, chMsg As String

'chMsg =3D "Entrez le mot de passe"
'password =3D InputBox(chMsg, "Information utilisateurs")


'If password =3D "x" Then
'Else
'MsgBox ("Mauvais mot de passe, recommencez ou consultez
l'Administrateur au Service Qualit=E9")

Dim conn As New ADODB.Connection

Dim Rs As ADODB.Recordset

conn.Open "Provider=3DMicrosoft.Jet.OLEDB.4.0;Data Source=3D" & "S:
\QUALITE\BDD RNC_AC_AP.mdb" & ";"
conn.CursorLocation =3D adUseClient
Set Rs =3D conn.Execute("NON_CONFORMITES_Extraction", , adCmdTable)

Dim XL_App As Object
Set XL_App =3D CreateObject("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object

With XL_App
Set XL_classeur =3D .Workbooks.Open("S:\QUALITE
\BDD_Extraction_RNC.xls")
Set XL_feuille =3D XL_classeur.Sheets("01")
' -----------------------------------------------'
With XL_feuille
XL_feuille.Range("A2").CopyFromRecordset Rs
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Rs.Close
conn.Close
Set XL_App =3D Nothing
Set XL_classeur =3D Nothing
Set XL_feuille =3D Nothing
End If
End Sub



merci d'avance =E0 vous tous....

4 réponses

Avatar
Fabien
wrote:
Bonjour à tous,

Je sollicite vos compétences pour me sortir d'un problème dont je ne
trouve pas la solution... j'ai écris une macro pour faire une
extraction d'une table access vers une feuille excel.... mais ça ne
marche pas... a l'execution il bug dès la premiere ligne....

voici le code

Private Sub Commande15_Click()
If InputBox("Mot de Passe") = "x" Then

'Dim password As String, chMsg As String

'chMsg = "Entrez le mot de passe"
'password = InputBox(chMsg, "Information utilisateurs")


'If password = "x" Then
'Else
'MsgBox ("Mauvais mot de passe, recommencez ou consultez
l'Administrateur au Service Qualité")

Dim conn As New ADODB.Connection

Dim Rs As ADODB.Recordset

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& "S:
QUALITEBDD RNC_AC_AP.mdb"& ";"
conn.CursorLocation = adUseClient
Set Rs = conn.Execute("NON_CONFORMITES_Extraction", , adCmdTable)

Dim XL_App As Object
Set XL_App = CreateObject("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object

With XL_App
Set XL_classeur = .Workbooks.Open("S:QUALITE
BDD_Extraction_RNC.xls")
Set XL_feuille = XL_classeur.Sheets("01")
' -----------------------------------------------'
With XL_feuille
XL_feuille.Range("A2").CopyFromRecordset Rs
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Rs.Close
conn.Close
Set XL_App = Nothing
Set XL_classeur = Nothing
Set XL_feuille = Nothing
End If
End Sub



merci d'avance à vous tous....


Bonjour,
je n'utilise pas ADODB mais la synthaxe de Conn.open me semble étrange
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "S:
QUALITEBDD RNC_AC_AP.mdb" & ";"
Ne serais ce pas plutôt
conn.Open "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='S:
QUALITEBDD RNC_AC_AP.mdb';"
??
Avatar
florian.mora
On 3 juil, 10:23, Fabien wrote:
wrote:
> Bonjour à tous,

> Je sollicite vos compétences pour me sortir d'un problème dont je n e
> trouve pas la solution... j'ai écris une macro pour faire une
> extraction d'une table access vers une feuille excel.... mais ça ne
> marche pas... a l'execution il bug dès la premiere ligne....

> voici le code

> Private Sub Commande15_Click()
> If InputBox("Mot de Passe") = "x" Then

> 'Dim password As String, chMsg As String

>   'chMsg = "Entrez le mot de passe"
>      'password = InputBox(chMsg, "Information utilisateurs")

> 'If password = "x" Then
> 'Else
> 'MsgBox ("Mauvais mot de passe, recommencez ou consultez
> l'Administrateur au Service Qualité")

> Dim conn As New ADODB.Connection

>      Dim Rs As ADODB.Recordset

>      conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "&  "S:
> QUALITEBDD RNC_AC_AP.mdb"&  ";"
>      conn.CursorLocation = adUseClient
>      Set Rs = conn.Execute("NON_CONFORMITES_Extraction", , adCm dTable)

>      Dim XL_App As Object
>      Set XL_App = CreateObject("Excel.Application")
>      Dim XL_classeur As Object
>      Dim XL_feuille As Object

>      With XL_App
>          Set XL_classeur = .Workbooks.Open("S:QUALITE
> BDD_Extraction_RNC.xls")
>          Set XL_feuille = XL_classeur.Sheets("01")
>          ' -----------------------------------------------'
>          With XL_feuille
>              XL_feuille.Range("A2").CopyFromRecordset Rs
>          End With
>          .ActiveWorkbook.Save
>          .ActiveWorkbook.Close
>          .Quit
>      End With
>      Rs.Close
>      conn.Close
>      Set XL_App = Nothing
>      Set XL_classeur = Nothing
>      Set XL_feuille = Nothing
>      End If
> End Sub

> merci d'avance à vous tous....

Bonjour,
je n'utilise pas ADODB mais la synthaxe de Conn.open me semble étrange
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "S:
QUALITEBDD RNC_AC_AP.mdb" & ";"
Ne serais ce pas plutôt
conn.Open "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='S:
QUALITEBDD RNC_AC_AP.mdb';"
??- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



bah ca change rien en fait... je crois que le probleme est avant....
il me surligne la ligne ci-dessou quand j'ouvre le debuger...

Dim conn As New ADODB.Connection
Avatar
Corto
Bonjour ,
Si tu as un message du genre : "Type défini par l'utilisateur non
défini" il faut que tu ajoutes la référence "Microsoft ActiveX Data
Objects 2.8 Library" (Dans Outils->Références...)

Corto

a écrit :
Bonjour à tous,

Je sollicite vos compétences pour me sortir d'un problème dont je n e
trouve pas la solution... j'ai écris une macro pour faire une
extraction d'une table access vers une feuille excel.... mais ça ne
marche pas... a l'execution il bug dès la premiere ligne....

voici le code

Private Sub Commande15_Click()
If InputBox("Mot de Passe") = "x" Then

'Dim password As String, chMsg As String

'chMsg = "Entrez le mot de passe"
'password = InputBox(chMsg, "Information utilisateurs")


'If password = "x" Then
'Else
'MsgBox ("Mauvais mot de passe, recommencez ou consultez
l'Administrateur au Service Qualité")

Dim conn As New ADODB.Connection

Dim Rs As ADODB.Recordset

conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "S:
QUALITEBDD RNC_AC_AP.mdb" & ";"
conn.CursorLocation = adUseClient
Set Rs = conn.Execute("NON_CONFORMITES_Extraction", , adCmdTable)

Dim XL_App As Object
Set XL_App = CreateObject("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object

With XL_App
Set XL_classeur = .Workbooks.Open("S:QUALITE
BDD_Extraction_RNC.xls")
Set XL_feuille = XL_classeur.Sheets("01")
' -----------------------------------------------'
With XL_feuille
XL_feuille.Range("A2").CopyFromRecordset Rs
End With
.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
Rs.Close
conn.Close
Set XL_App = Nothing
Set XL_classeur = Nothing
Set XL_feuille = Nothing
End If
End Sub



merci d'avance à vous tous....



Avatar
florian.mora
On 3 juil, 10:51, Corto wrote:
Bonjour ,
Si tu as un message du genre : "Type défini par l'utilisateur non
défini" il faut que tu ajoutes la référence "Microsoft ActiveX Data
Objects 2.8 Library" (Dans Outils->Références...)

Corto

a écrit :



> Bonjour à tous,

> Je sollicite vos compétences pour me sortir d'un problème dont je ne
> trouve pas la solution... j'ai écris une macro pour faire une
> extraction d'une table access vers une feuille excel.... mais ça ne
> marche pas... a l'execution il bug dès la premiere ligne....

> voici le code

> Private Sub Commande15_Click()
> If InputBox("Mot de Passe") = "x" Then

> 'Dim password As String, chMsg As String

>  'chMsg = "Entrez le mot de passe"
>     'password = InputBox(chMsg, "Information utilisateurs")

> 'If password = "x" Then
> 'Else
> 'MsgBox ("Mauvais mot de passe, recommencez ou consultez
> l'Administrateur au Service Qualité")

> Dim conn As New ADODB.Connection

>     Dim Rs As ADODB.Recordset

>     conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "S:
> QUALITEBDD RNC_AC_AP.mdb" & ";"
>     conn.CursorLocation = adUseClient
>     Set Rs = conn.Execute("NON_CONFORMITES_Extraction", , adCmdTab le)

>     Dim XL_App As Object
>     Set XL_App = CreateObject("Excel.Application")
>     Dim XL_classeur As Object
>     Dim XL_feuille As Object

>     With XL_App
>         Set XL_classeur = .Workbooks.Open("S:QUALITE
> BDD_Extraction_RNC.xls")
>         Set XL_feuille = XL_classeur.Sheets("01")
>         ' -----------------------------------------------'
>         With XL_feuille
>             XL_feuille.Range("A2").CopyFromRecordset Rs
>         End With
>         .ActiveWorkbook.Save
>         .ActiveWorkbook.Close
>         .Quit
>     End With
>     Rs.Close
>     conn.Close
>     Set XL_App = Nothing
>     Set XL_classeur = Nothing
>     Set XL_feuille = Nothing
>     End If
> End Sub

> merci d'avance à vous tous....- Masquer le texte des messages préc édents -

- Afficher le texte des messages précédents -



merci Corto, c'était ça...