OVH Cloud OVH Cloud

Supprimer données Excel

4 réponses
Avatar
Florent
Bonjour

Actuellement j'ai une requ=EAte sp=E9cifique qui est utilis=E9=20
pour l'=E9criture de donn=E9es dans un fichier Excel.

Le probl=E8me est que je veux actualiser r=E9guli=E8rement mon=20
fichier en appuyant sur un bouton et qui me ret=E9l=E9charge=20
les donn=E9es de ma requ=EAtes. Mais seulement il ne supprime=20
pas les anciennes donn=E9es. J'aimerais savoir comment=20
supprimer les anciennes donn=E9es du fichier Excel pour y=20
mettre celle de ma requ=EAte (sachant que cette derni=E8re=20
contient d'anciennes donn=E9es et des nouvelles).

Voici le code de mon bouton :

Private Sub Exporter_Donn=E9es_Click()

Dim xl As Excel.Application
Dim wbk As Excel.Workbook
Dim db As DAO.Database
Dim rst As DAO.Recordset

'Ouvrir la requ=EAte REcritureExcel
Set db =3D CurrentDb()
Set rst =3D db.OpenRecordset("REcritureExcel")

'D=E9marrer Excel
Set xl =3D New Excel.Application
xl.Visible =3D True

With xl
'Ouvrir un classeur existant
Set wbk =3D .Workbooks.Open("C:\MonFichier.xls")
=20
With wbk.Sheets("Sheet1")
'Transf=E9rer les enregistrements
.Range("A2").CopyFromRecordset rst
End With
=20
'Fermer le classeur en l'enregistrant
wbk.SaveAs "C:\MonFichier.xls"
wbk.Close
End With

'Quitter et fermer
xl.Quit
Set xl =3D Nothing
rst.Close
Set rst =3D Nothing
Set db =3D Nothing

End Sub

Merci d'avance

4 réponses

Avatar
Xavier HUE
Bonjour Florent,

Utilise la méthode Clear pour effacer la destination

With wbk.Sheets("Sheet1")
'Effacer destination
.Range("A2:ZZ65535").Clear
'Transférer les enregistrements
.Range("A2").CopyFromRecordset rst
End With

A toi de déterminer la page de destination (A2:??).

Cordialement.
Avatar
Raymond [mvp]
Bonjour.

c'est bien supprimer toutes les valeurs sur la feuille excel ?
utiliser:
.Cells.Select
.Selection.Clear
quand tu ouvres ta feuille excel.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Florent" a écrit dans le message de
news:0cf501c3b420$908515e0$
Bonjour

Actuellement j'ai une requête spécifique qui est utilisé
pour l'écriture de données dans un fichier Excel.

Le problème est que je veux actualiser régulièrement mon
fichier en appuyant sur un bouton et qui me retélécharge
les données de ma requêtes. Mais seulement il ne supprime
pas les anciennes données. J'aimerais savoir comment
supprimer les anciennes données du fichier Excel pour y
mettre celle de ma requête (sachant que cette dernière
contient d'anciennes données et des nouvelles).

Voici le code de mon bouton :

Private Sub Exporter_Données_Click()

Dim xl As Excel.Application
Dim wbk As Excel.Workbook
Dim db As DAO.Database
Dim rst As DAO.Recordset

'Ouvrir la requête REcritureExcel
Set db = CurrentDb()
Set rst = db.OpenRecordset("REcritureExcel")

'Démarrer Excel
Set xl = New Excel.Application
xl.Visible = True

With xl
'Ouvrir un classeur existant
Set wbk = .Workbooks.Open("C:MonFichier.xls")

With wbk.Sheets("Sheet1")
'Transférer les enregistrements
.Range("A2").CopyFromRecordset rst
End With

'Fermer le classeur en l'enregistrant
wbk.SaveAs "C:MonFichier.xls"
wbk.Close
End With

'Quitter et fermer
xl.Quit
Set xl = Nothing
rst.Close
Set rst = Nothing
Set db = Nothing

End Sub

Merci d'avance
Avatar
Florent
Ok merci à tous les deux.

En fait c'est pas tout à fait toute la feuille car je veux
conserver la première ligne qui définit mes attributs.
J'avais oublié de le préciser.


-----Message d'origine-----
Bonjour.

c'est bien supprimer toutes les valeurs sur la feuille
excel ?

utiliser:
.Cells.Select
.Selection.Clear
quand tu ouvres ta feuille excel.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Florent" a écrit
dans le message de

news:0cf501c3b420$908515e0$
Bonjour

Actuellement j'ai une requête spécifique qui est utilisé
pour l'écriture de données dans un fichier Excel.

Le problème est que je veux actualiser régulièrement mon
fichier en appuyant sur un bouton et qui me retélécharge
les données de ma requêtes. Mais seulement il ne supprime
pas les anciennes données. J'aimerais savoir comment
supprimer les anciennes données du fichier Excel pour y
mettre celle de ma requête (sachant que cette dernière
contient d'anciennes données et des nouvelles).

Voici le code de mon bouton :

Private Sub Exporter_Données_Click()

Dim xl As Excel.Application
Dim wbk As Excel.Workbook
Dim db As DAO.Database
Dim rst As DAO.Recordset

'Ouvrir la requête REcritureExcel
Set db = CurrentDb()
Set rst = db.OpenRecordset("REcritureExcel")

'Démarrer Excel
Set xl = New Excel.Application
xl.Visible = True

With xl
'Ouvrir un classeur existant
Set wbk = .Workbooks.Open("C:MonFichier.xls")

With wbk.Sheets("Sheet1")
'Transférer les enregistrements
.Range("A2").CopyFromRecordset rst
End With

'Fermer le classeur en l'enregistrant
wbk.SaveAs "C:MonFichier.xls"
wbk.Close
End With

'Quitter et fermer
xl.Quit
Set xl = Nothing
rst.Close
Set rst = Nothing
Set db = Nothing

End Sub

Merci d'avance


.



Avatar
Raymond [mvp]
ce n'est pas un problème tu passes par une plage en prenant de la marge:
http://access.seneque.free.fr/supprimer_lignes.htm

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"Florent" a écrit dans le message de
news:757401c3b42d$d8c1bf90$
Ok merci à tous les deux.

En fait c'est pas tout à fait toute la feuille car je veux
conserver la première ligne qui définit mes attributs.
J'avais oublié de le préciser.