J'ai plusieurs probl=E8mes et j'aimerais avoir vos conseils
Probl=E8me 1:
J'ai un probl=E8me concernant ma proc=E9dure et plus=20
pr=E9cis=E9ment sur la d=E9claration de mes variables. Si je=20
type mes variables comme ceci, cela ne marche pas :
'Dim db As Database
'Dim rs As Recordset
'Dim fichier As String
Mais par contre comme ceci cela marche
Dim db As Variant
Dim rs As Variant
Dim fichier As Variant
Pourquoi d'apr=E8s vous ?.
Probl=E8me 2 :
J'ai un autre probl=E8me sur la partie de mon code o=F9 je=20
sauve et je ferme ma WorkBook. Je souhaite simplement=20
fermer et quitter ma workbook sans qu'il m'affiche le=20
message si je souhaite r=E9ellement sauver et quitter mon=20
fichier, mais pour faire cela je pense que je dois=20
utiliser Set Warning.=20
Par contre, il me dit que je dois changer mon fichier "en=20
lecture seule " alors que si je
regarde mon fichier, tout le monde peux faire ce qu'ils=20
veulent. pourquoi ce probl=E8me ?
Probl=E8me 3 :
Je n'arrive pas =E0 ouvrir mon fichier Excel en utilisant=20
ceci, pourquoi d'apr=E8s vous ?.:
'stAppName =3D fichier & "\Copie de GPPR_POP.xls"
'Call Shell(stAppName, 1)
Voici le code en entier:
Private Sub DataTransfertToExcel()
=20
'Dim db As Database
'Dim rs As Recordset
'Dim fichier As String
=20
Dim db As Variant
Dim rs As Variant
Dim fichier As Variant
Dim stAppName As String
=20
fichier =3D Application.CurrentProject.Path
=20
Set db =3D DBEngine.OpenDatabase(fichier=20
& "\ProductPerformance.mdb")
Set rs =3D db.OpenRecordset("Board Revenue Part 2=20
Final",
dbOpenDynaset)
Dim XL_App As Object
Set XL_App =3D CreateObject("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object
Dim Rg As Range
Dim Nb As Long
Dim Sh As Worksheet
=20
With XL_App
Set XL_classeur =3D .Workbooks.Open(fichier=20
& "\Copie de
GPPR_POP.xls")
Set Sh =3D XL_classeur.Sheets("Revenue")
=20
With Sh
Set Rg =3D .Range("A7")
End With
=20
Rg.CurrentRegion.Clear
=20
If rs.EOF =3D False Then
Nb =3D rs.Fields.Count - 1
For a =3D 0 To Nb
Rg(, 1 + a) =3D rs.Fields(a).Name
Next
Rg.Resize(, Nb + 1).Font.Bold =3D True
Rg.Offset(1).CopyFromRecordset rs
Rg.CurrentRegion.EntireColumn.AutoFit
Rg.CurrentRegion.WrapText =3D True
Rg.CurrentRegion.BorderAround bordure,=20
xlHairline, 0
Rg.CurrentRegion.Borders.LineStyle =3D=20
xlContinuous
Else
MsgBox "Aucun enregistrement trouv=E9."
End If
=20
'.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
db.Close
Set XL_App =3D Nothing
Set XL_classeur =3D Nothing
Set XL_feuille =3D Nothing
=20
'stAppName =3D fichier & "\Copie de GPPR_POP.xls"
'Call Shell(stAppName, 1)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond
Bonsoir.
problème touffu que tu vas résoudre en plusieurs fois.
1 - déclarations: Dim db As DAO.Database Dim rs As DAO.Recordset (cocher la référence microsoft DAO 3.6 object library)
2 - sous Excel il faut utiliser: .DisplayAlerts = False .ActiveWorkbook.SaveAs ("C:Feuilles.XLS") .DisplayAlerts = True (pourquoi différent de access ? que pour nous embêter)
3 - pour gérer des feilles excel tu as des modèles sur mon site: http://access.seneque.free.fr/excel.htm
Quand tu auras amélioré ta procédure et si tu as encore un problème n'hésite pas à revenir dans cette même conversation. -- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"keawee" a écrit dans le message de news:4cb701c37643$8b288200$ Bonjour,
J'ai plusieurs problèmes et j'aimerais avoir vos conseils
Problème 1:
J'ai un problème concernant ma procédure et plus précisément sur la déclaration de mes variables. Si je type mes variables comme ceci, cela ne marche pas :
'Dim db As Database 'Dim rs As Recordset 'Dim fichier As String
Mais par contre comme ceci cela marche
Dim db As Variant Dim rs As Variant Dim fichier As Variant
Pourquoi d'après vous ?.
Problème 2 :
J'ai un autre problème sur la partie de mon code où je sauve et je ferme ma WorkBook. Je souhaite simplement fermer et quitter ma workbook sans qu'il m'affiche le message si je souhaite réellement sauver et quitter mon fichier, mais pour faire cela je pense que je dois utiliser Set Warning. Par contre, il me dit que je dois changer mon fichier "en lecture seule " alors que si je regarde mon fichier, tout le monde peux faire ce qu'ils veulent. pourquoi ce problème ?
Problème 3 :
Je n'arrive pas à ouvrir mon fichier Excel en utilisant ceci, pourquoi d'après vous ?.:
'stAppName = fichier & "Copie de GPPR_POP.xls" 'Call Shell(stAppName, 1)
Voici le code en entier:
Private Sub DataTransfertToExcel()
'Dim db As Database 'Dim rs As Recordset 'Dim fichier As String
Dim db As Variant Dim rs As Variant Dim fichier As Variant Dim stAppName As String
fichier = Application.CurrentProject.Path
Set db = DBEngine.OpenDatabase(fichier & "ProductPerformance.mdb") Set rs = db.OpenRecordset("Board Revenue Part 2 Final", dbOpenDynaset)
Dim XL_App As Object Set XL_App = CreateObject("Excel.Application") Dim XL_classeur As Object Dim XL_feuille As Object Dim Rg As Range Dim Nb As Long Dim Sh As Worksheet
With XL_App Set XL_classeur = .Workbooks.Open(fichier & "Copie de GPPR_POP.xls") Set Sh = XL_classeur.Sheets("Revenue")
With Sh Set Rg = .Range("A7") End With
Rg.CurrentRegion.Clear
If rs.EOF = False Then Nb = rs.Fields.Count - 1
For a = 0 To Nb Rg(, 1 + a) = rs.Fields(a).Name Next Rg.Resize(, Nb + 1).Font.Bold = True Rg.Offset(1).CopyFromRecordset rs Rg.CurrentRegion.EntireColumn.AutoFit Rg.CurrentRegion.WrapText = True Rg.CurrentRegion.BorderAround bordure, xlHairline, 0 Rg.CurrentRegion.Borders.LineStyle xlContinuous
Else
MsgBox "Aucun enregistrement trouvé." End If
'.ActiveWorkbook.Save .ActiveWorkbook.Close .Quit End With db.Close Set XL_App = Nothing Set XL_classeur = Nothing Set XL_feuille = Nothing
'stAppName = fichier & "Copie de GPPR_POP.xls" 'Call Shell(stAppName, 1)
End Sub
Merci de votre aide
Keawee
Bonsoir.
problème touffu que tu vas résoudre en plusieurs fois.
1 - déclarations:
Dim db As DAO.Database
Dim rs As DAO.Recordset
(cocher la référence microsoft DAO 3.6 object library)
2 - sous Excel il faut utiliser:
.DisplayAlerts = False
.ActiveWorkbook.SaveAs ("C:Feuilles.XLS")
.DisplayAlerts = True
(pourquoi différent de access ? que pour nous embêter)
3 - pour gérer des feilles excel tu as des modèles sur mon site:
http://access.seneque.free.fr/excel.htm
Quand tu auras amélioré ta procédure et si tu as encore un problème n'hésite
pas à revenir dans cette même conversation.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.
"keawee" <keawee@hotmail.com> a écrit dans le message de
news:4cb701c37643$8b288200$a401280a@phx.gbl...
Bonjour,
J'ai plusieurs problèmes et j'aimerais avoir vos conseils
Problème 1:
J'ai un problème concernant ma procédure et plus
précisément sur la déclaration de mes variables. Si je
type mes variables comme ceci, cela ne marche pas :
'Dim db As Database
'Dim rs As Recordset
'Dim fichier As String
Mais par contre comme ceci cela marche
Dim db As Variant
Dim rs As Variant
Dim fichier As Variant
Pourquoi d'après vous ?.
Problème 2 :
J'ai un autre problème sur la partie de mon code où je
sauve et je ferme ma WorkBook. Je souhaite simplement
fermer et quitter ma workbook sans qu'il m'affiche le
message si je souhaite réellement sauver et quitter mon
fichier, mais pour faire cela je pense que je dois
utiliser Set Warning.
Par contre, il me dit que je dois changer mon fichier "en
lecture seule " alors que si je
regarde mon fichier, tout le monde peux faire ce qu'ils
veulent. pourquoi ce problème ?
Problème 3 :
Je n'arrive pas à ouvrir mon fichier Excel en utilisant
ceci, pourquoi d'après vous ?.:
'stAppName = fichier & "Copie de GPPR_POP.xls"
'Call Shell(stAppName, 1)
Voici le code en entier:
Private Sub DataTransfertToExcel()
'Dim db As Database
'Dim rs As Recordset
'Dim fichier As String
Dim db As Variant
Dim rs As Variant
Dim fichier As Variant
Dim stAppName As String
fichier = Application.CurrentProject.Path
Set db = DBEngine.OpenDatabase(fichier
& "ProductPerformance.mdb")
Set rs = db.OpenRecordset("Board Revenue Part 2
Final",
dbOpenDynaset)
Dim XL_App As Object
Set XL_App = CreateObject("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object
Dim Rg As Range
Dim Nb As Long
Dim Sh As Worksheet
With XL_App
Set XL_classeur = .Workbooks.Open(fichier
& "Copie de
GPPR_POP.xls")
Set Sh = XL_classeur.Sheets("Revenue")
With Sh
Set Rg = .Range("A7")
End With
Rg.CurrentRegion.Clear
If rs.EOF = False Then
Nb = rs.Fields.Count - 1
For a = 0 To Nb
Rg(, 1 + a) = rs.Fields(a).Name
Next
Rg.Resize(, Nb + 1).Font.Bold = True
Rg.Offset(1).CopyFromRecordset rs
Rg.CurrentRegion.EntireColumn.AutoFit
Rg.CurrentRegion.WrapText = True
Rg.CurrentRegion.BorderAround bordure,
xlHairline, 0
Rg.CurrentRegion.Borders.LineStyle xlContinuous
Else
MsgBox "Aucun enregistrement trouvé."
End If
'.ActiveWorkbook.Save
.ActiveWorkbook.Close
.Quit
End With
db.Close
Set XL_App = Nothing
Set XL_classeur = Nothing
Set XL_feuille = Nothing
'stAppName = fichier & "Copie de GPPR_POP.xls"
'Call Shell(stAppName, 1)
problème touffu que tu vas résoudre en plusieurs fois.
1 - déclarations: Dim db As DAO.Database Dim rs As DAO.Recordset (cocher la référence microsoft DAO 3.6 object library)
2 - sous Excel il faut utiliser: .DisplayAlerts = False .ActiveWorkbook.SaveAs ("C:Feuilles.XLS") .DisplayAlerts = True (pourquoi différent de access ? que pour nous embêter)
3 - pour gérer des feilles excel tu as des modèles sur mon site: http://access.seneque.free.fr/excel.htm
Quand tu auras amélioré ta procédure et si tu as encore un problème n'hésite pas à revenir dans cette même conversation. -- @+ Raymond Access MVP. http://access.seneque.free.fr/ http://users.skynet.be/mpfa/charte.htm pour une meilleure efficacité de tes interventions sur MPFA.
"keawee" a écrit dans le message de news:4cb701c37643$8b288200$ Bonjour,
J'ai plusieurs problèmes et j'aimerais avoir vos conseils
Problème 1:
J'ai un problème concernant ma procédure et plus précisément sur la déclaration de mes variables. Si je type mes variables comme ceci, cela ne marche pas :
'Dim db As Database 'Dim rs As Recordset 'Dim fichier As String
Mais par contre comme ceci cela marche
Dim db As Variant Dim rs As Variant Dim fichier As Variant
Pourquoi d'après vous ?.
Problème 2 :
J'ai un autre problème sur la partie de mon code où je sauve et je ferme ma WorkBook. Je souhaite simplement fermer et quitter ma workbook sans qu'il m'affiche le message si je souhaite réellement sauver et quitter mon fichier, mais pour faire cela je pense que je dois utiliser Set Warning. Par contre, il me dit que je dois changer mon fichier "en lecture seule " alors que si je regarde mon fichier, tout le monde peux faire ce qu'ils veulent. pourquoi ce problème ?
Problème 3 :
Je n'arrive pas à ouvrir mon fichier Excel en utilisant ceci, pourquoi d'après vous ?.:
'stAppName = fichier & "Copie de GPPR_POP.xls" 'Call Shell(stAppName, 1)
Voici le code en entier:
Private Sub DataTransfertToExcel()
'Dim db As Database 'Dim rs As Recordset 'Dim fichier As String
Dim db As Variant Dim rs As Variant Dim fichier As Variant Dim stAppName As String
fichier = Application.CurrentProject.Path
Set db = DBEngine.OpenDatabase(fichier & "ProductPerformance.mdb") Set rs = db.OpenRecordset("Board Revenue Part 2 Final", dbOpenDynaset)
Dim XL_App As Object Set XL_App = CreateObject("Excel.Application") Dim XL_classeur As Object Dim XL_feuille As Object Dim Rg As Range Dim Nb As Long Dim Sh As Worksheet
With XL_App Set XL_classeur = .Workbooks.Open(fichier & "Copie de GPPR_POP.xls") Set Sh = XL_classeur.Sheets("Revenue")
With Sh Set Rg = .Range("A7") End With
Rg.CurrentRegion.Clear
If rs.EOF = False Then Nb = rs.Fields.Count - 1
For a = 0 To Nb Rg(, 1 + a) = rs.Fields(a).Name Next Rg.Resize(, Nb + 1).Font.Bold = True Rg.Offset(1).CopyFromRecordset rs Rg.CurrentRegion.EntireColumn.AutoFit Rg.CurrentRegion.WrapText = True Rg.CurrentRegion.BorderAround bordure, xlHairline, 0 Rg.CurrentRegion.Borders.LineStyle xlContinuous
Else
MsgBox "Aucun enregistrement trouvé." End If
'.ActiveWorkbook.Save .ActiveWorkbook.Close .Quit End With db.Close Set XL_App = Nothing Set XL_classeur = Nothing Set XL_feuille = Nothing
'stAppName = fichier & "Copie de GPPR_POP.xls" 'Call Shell(stAppName, 1)