OVH Cloud OVH Cloud

pour MichDenis

2 réponses
Avatar
lou
bonjour

tu m'a beaucoup aidé en me fournissant ce code qui marche tres bien
aujourd'hui je suis confronté a un noveau problemme

avec ce code je voudrais si c'est possible après avoir exporte les données
avec la requete recuperer la valeur de 2 cellules (G2 et H2 ) qui se
trouvent dans le fichier excel creé
dans 2 champs (A1 et A2) de mon mon formulaire access

donc G2 dans A1 et H2 dans A2
Voici le code que tu m'a donné
je ne trouve pas l'endroit ou inserer le code qui devrait etre :

Me.A1= .Range("G2").Value
Me.A2= .Range("H2").Value
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''code
Dim a
Dim C As Integer
Dim Cn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Xl As Object
Dim Wk As Object, Rg As Object
Dim Requete As String
Dim CheminEtNomBaseDeDonnée As String
Dim Chemin As String, Fichier As String
Dim NB As Integer

Dim reponse As Integer
reponse = MsgBox("voulez-vous créer le Fichier Touring Secours ?",
vbInformation + vbYesNo, "Attention !!!!")
If reponse = vbYes Then

'lieu ou se trouve mon fichier EXCEL
Chemin = "C:\Backsoc\"

'NOM du fichier EXCEL
Fichier = "107104678_20050203.xls"

'endroit ou se trouve ma base access
CheminEtNomBaseDeDonnée = "C:\Backsoc\FRONT.mde"

'Le texte de ta requête de tes données à exporter
Requete = "SELECT TSexportT.*FROM TSexportT;"

'Vérifie si le fichier excel existe
a = Dir(Chemin & Fichier)
If a = "" Then
MsgBox "le fichier ou le chemin de ce fichier est inexact."
Exit Sub
End If

'Ouverture d'excel et de son fichier si nécessaire
On Error Resume Next
Set Xl = GetObject(, "Excel.application")
If Err <> 0 Then
Err = 0
Set Xl = CreateObject("Excel.application")
End If

'Si fichier déjà ouvert
Set Wk = Xl.Workbooks(Fichier)
If Err <> 0 Then
Err = 0
Set Wk = Xl.Workbooks.Open(Chemin & Fichier)
End If

With Wk
'Nom feuille à déterminer
Set Rg = .Worksheets("Template").Range("D5")
'Vide toutes les données existantes du fichier excel
Rg.CurrentRegion.ClearContents

End With

'Ouverture de la connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & CheminEtNomBaseDeDonnée & ";" & _
"Jet OLEDB:Database Password=", "admin", ""

'Exécution de la requête
Rst.Open Requete, Cn, adOpenStatic
'Nombre d'enregistrements dans ta requête
NB = Rst.RecordCount
Rg.Resize(NB, Rst.Fields.Count) = _
TransposeSpecial2(Rst.GetRows)
Rst.Close

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''quelque part ici ?????????????
'Ferme le classeur et enregistre les données
Wk.Close True

'Si nécessaire pour fermer l'application excel
Xl.Quit

'Libère la mémoire des objets
Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing
'Ferme le recordset et la connection
Rst.Close: Cn.Close
'libère la mémoire des objets
Set Rst = Nothing: Set Cn = Nothing

merci pour votre aide

2 réponses

Avatar
MichDenis
Bonjour Lou,

à l'endroit où tu as indiqué, utilise ceci en prenant soin de modifier le nom de la feuille selon le nom de celle que tu
utilises dans ton application.. Il te reste à déterminer ce que tu veux faire avec ces données.

With Wk
Msgbox .Worksheets("Template").Range("G2").value
Msgbox .Worksheets("Template").Range("G2").value
End With


Salutations!



"lou" a écrit dans le message de news: 42160ccd$0$28549$
bonjour

tu m'a beaucoup aidé en me fournissant ce code qui marche tres bien
aujourd'hui je suis confronté a un noveau problemme

avec ce code je voudrais si c'est possible après avoir exporte les données
avec la requete recuperer la valeur de 2 cellules (G2 et H2 ) qui se
trouvent dans le fichier excel creé
dans 2 champs (A1 et A2) de mon mon formulaire access

donc G2 dans A1 et H2 dans A2
Voici le code que tu m'a donné
je ne trouve pas l'endroit ou inserer le code qui devrait etre :

Me.A1= .Range("G2").Value
Me.A2= .Range("H2").Value
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''code
Dim a
Dim C As Integer
Dim Cn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Xl As Object
Dim Wk As Object, Rg As Object
Dim Requete As String
Dim CheminEtNomBaseDeDonnée As String
Dim Chemin As String, Fichier As String
Dim NB As Integer

Dim reponse As Integer
reponse = MsgBox("voulez-vous créer le Fichier Touring Secours ?",
vbInformation + vbYesNo, "Attention !!!!")
If reponse = vbYes Then

'lieu ou se trouve mon fichier EXCEL
Chemin = "C:Backsoc"

'NOM du fichier EXCEL
Fichier = "107104678_20050203.xls"

'endroit ou se trouve ma base access
CheminEtNomBaseDeDonnée = "C:BacksocFRONT.mde"

'Le texte de ta requête de tes données à exporter
Requete = "SELECT TSexportT.*FROM TSexportT;"

'Vérifie si le fichier excel existe
a = Dir(Chemin & Fichier)
If a = "" Then
MsgBox "le fichier ou le chemin de ce fichier est inexact."
Exit Sub
End If

'Ouverture d'excel et de son fichier si nécessaire
On Error Resume Next
Set Xl = GetObject(, "Excel.application")
If Err <> 0 Then
Err = 0
Set Xl = CreateObject("Excel.application")
End If

'Si fichier déjà ouvert
Set Wk = Xl.Workbooks(Fichier)
If Err <> 0 Then
Err = 0
Set Wk = Xl.Workbooks.Open(Chemin & Fichier)
End If

With Wk
'Nom feuille à déterminer
Set Rg = .Worksheets("Template").Range("D5")
'Vide toutes les données existantes du fichier excel
Rg.CurrentRegion.ClearContents

End With

'Ouverture de la connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & CheminEtNomBaseDeDonnée & ";" & _
"Jet OLEDB:Database Password=", "admin", ""

'Exécution de la requête
Rst.Open Requete, Cn, adOpenStatic
'Nombre d'enregistrements dans ta requête
NB = Rst.RecordCount
Rg.Resize(NB, Rst.Fields.Count) = _
TransposeSpecial2(Rst.GetRows)
Rst.Close

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''quelque part ici ?????????????
'Ferme le classeur et enregistre les données
Wk.Close True

'Si nécessaire pour fermer l'application excel
Xl.Quit

'Libère la mémoire des objets
Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing
'Ferme le recordset et la connection
Rst.Close: Cn.Close
'libère la mémoire des objets
Set Rst = Nothing: Set Cn = Nothing

merci pour votre aide
Avatar
lou
SALUT

c'est parfait ! ça marche impec !

un grand merci

lou

"MichDenis" a écrit dans le message de news:

Bonjour Lou,

à l'endroit où tu as indiqué, utilise ceci en prenant soin de modifier le
nom de la feuille selon le nom de celle que tu

utilises dans ton application.. Il te reste à déterminer ce que tu veux
faire avec ces données.


With Wk
Msgbox .Worksheets("Template").Range("G2").value
Msgbox .Worksheets("Template").Range("G2").value
End With


Salutations!



"lou" a écrit dans le message de news:
42160ccd$0$28549$

bonjour

tu m'a beaucoup aidé en me fournissant ce code qui marche tres bien
aujourd'hui je suis confronté a un noveau problemme

avec ce code je voudrais si c'est possible après avoir exporte les
données

avec la requete recuperer la valeur de 2 cellules (G2 et H2 ) qui
se

trouvent dans le fichier excel creé
dans 2 champs (A1 et A2) de mon mon formulaire access

donc G2 dans A1 et H2 dans A2
Voici le code que tu m'a donné
je ne trouve pas l'endroit ou inserer le code qui devrait etre :

Me.A1= .Range("G2").Value
Me.A2= .Range("H2").Value

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''code
Dim a
Dim C As Integer
Dim Cn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Xl As Object
Dim Wk As Object, Rg As Object
Dim Requete As String
Dim CheminEtNomBaseDeDonnée As String
Dim Chemin As String, Fichier As String
Dim NB As Integer

Dim reponse As Integer
reponse = MsgBox("voulez-vous créer le Fichier Touring Secours ?",
vbInformation + vbYesNo, "Attention !!!!")
If reponse = vbYes Then

'lieu ou se trouve mon fichier EXCEL
Chemin = "C:Backsoc"

'NOM du fichier EXCEL
Fichier = "107104678_20050203.xls"

'endroit ou se trouve ma base access
CheminEtNomBaseDeDonnée = "C:BacksocFRONT.mde"

'Le texte de ta requête de tes données à exporter
Requete = "SELECT TSexportT.*FROM TSexportT;"

'Vérifie si le fichier excel existe
a = Dir(Chemin & Fichier)
If a = "" Then
MsgBox "le fichier ou le chemin de ce fichier est inexact."
Exit Sub
End If

'Ouverture d'excel et de son fichier si nécessaire
On Error Resume Next
Set Xl = GetObject(, "Excel.application")
If Err <> 0 Then
Err = 0
Set Xl = CreateObject("Excel.application")
End If

'Si fichier déjà ouvert
Set Wk = Xl.Workbooks(Fichier)
If Err <> 0 Then
Err = 0
Set Wk = Xl.Workbooks.Open(Chemin & Fichier)
End If

With Wk
'Nom feuille à déterminer
Set Rg = .Worksheets("Template").Range("D5")
'Vide toutes les données existantes du fichier excel
Rg.CurrentRegion.ClearContents

End With

'Ouverture de la connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & CheminEtNomBaseDeDonnée & ";" & _
"Jet OLEDB:Database Password=", "admin", ""

'Exécution de la requête
Rst.Open Requete, Cn, adOpenStatic
'Nombre d'enregistrements dans ta requête
NB = Rst.RecordCount
Rg.Resize(NB, Rst.Fields.Count) = _
TransposeSpecial2(Rst.GetRows)
Rst.Close


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''quelque part ici ?????????????
'Ferme le classeur et enregistre les données
Wk.Close True

'Si nécessaire pour fermer l'application excel
Xl.Quit

'Libère la mémoire des objets
Set Xl = Nothing: Set Wk = Nothing: Set Rg = Nothing
'Ferme le recordset et la connection
Rst.Close: Cn.Close
'libère la mémoire des objets
Set Rst = Nothing: Set Cn = Nothing

merci pour votre aide