probleme de macro contenant ADODB

Le
florian.mora
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #11177701
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';"
??
florian.mora
Le #11177781
On 3 juil, 10:23, Fabien
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
Corto
Le #11177961
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....



florian.mora
Le #11178271
On 3 juil, 10:51, 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 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...
Publicité
Poster une réponse
Anonyme