OVH Cloud OVH Cloud

Active X pour accéder à un fichier Excel

2 réponses
Avatar
Martin
Bonjour à vous tous


J'aurais besoin de votre pour faire avancer mon projet. J'ai réalisé une
macro (sub excel) sous Access qui ouvre un fichier (telemain.csv) sous
excel. Je voudrais maintenant que cette macro (sub excel) puisse
sélectionner la colonne A du fichier Excel pour la supprimer. Mes
connaissances actuelles me permettent pas pour l'instant de réaliser cette
opération. Pourriez vous regarder ma macro juste ci dessous et la compléter
pour qu'elle puisse réaliser cette action ? Si l'option que j'ai pris n'est
pas la bonne m'indiquer la bonne voie. Merci d'avance pour tous.

Sub excel()

Dim ExcelAppli As Object

'Ouverture du fichier Excel
Set ExcelAppli = GetObject("C:\UTILISAT\USERS\telemain.csv")


'permet de rendre visible Excel
ExcelAppli.Application.Visible = True

'permet de voir le fichier excel dans Excel
ExcelAppli.Parent.Windows(1).Visible = True

End Sub

2 réponses

Avatar
Gérard
Bonsoir,

tu peux essayer ceci :

Attention : CheminCompletVersFichier = le chemin vers ton fichier

Sub excel()

Dim xlApp As Object
Dim xlClasseur As Object
Dim xlFeuille As Object

'Ouverture des objets
Set xlApp = CreateObject("Excel.Application")
Set xlClasseur = xlApp.Workbooks.Open(CheminCompletVersFichier)
Set xlFeuille = xlClasseur.Sheets("Feuil1") 'y faire attention si le nom
est à préciser

'permet de rendre visible Excel
xlApp.Visible = True

'active la feuille où se trouve la colonne à effacer
xlClasseur.Worksheets("Feuil1").Activate

'sélectionne la colonne à effacer
xlFeuille.Columns("A:A").Select

'efface la colonne
xlApp.Selection.Delete Shift:=1

'rend Excel de nouveau invisible
xlApp.Visible = False

'ferme le classeur, un message devrait te demander si tu souhaites
sauvegarder le fichier
'remarque : tu peux aussi automatiser la fermeture avec ou sans
sauvegarde
xlClasseur.Close

'quitte Excel
xlApp.Quit

'libère les objets
set xlFeuille=nothing
set xlClasseur=nothing
set xlApp=nothing

end sub

Autre précision, il me semble que l'on parle plutôt d'automation que
d'Active X pour ce type de procédure.

Bon courage

Gérard


"Martin" a écrit dans le message de news:
4485a9aa$0$870$
Bonjour à vous tous


J'aurais besoin de votre pour faire avancer mon projet. J'ai réalisé une
macro (sub excel) sous Access qui ouvre un fichier (telemain.csv) sous
excel. Je voudrais maintenant que cette macro (sub excel) puisse
sélectionner la colonne A du fichier Excel pour la supprimer. Mes
connaissances actuelles me permettent pas pour l'instant de réaliser cette
opération. Pourriez vous regarder ma macro juste ci dessous et la
compléter pour qu'elle puisse réaliser cette action ? Si l'option que j'ai
pris n'est pas la bonne m'indiquer la bonne voie. Merci d'avance pour
tous.

Sub excel()

Dim ExcelAppli As Object

'Ouverture du fichier Excel
Set ExcelAppli = GetObject("C:UTILISATUSERStelemain.csv")


'permet de rendre visible Excel
ExcelAppli.Application.Visible = True

'permet de voir le fichier excel dans Excel
ExcelAppli.Parent.Windows(1).Visible = True

End Sub



Avatar
Martin
Merci pour les infos
"Gérard" a écrit dans le message de news:
%
Bonsoir,

tu peux essayer ceci :

Attention : CheminCompletVersFichier = le chemin vers ton fichier

Sub excel()

Dim xlApp As Object
Dim xlClasseur As Object
Dim xlFeuille As Object

'Ouverture des objets
Set xlApp = CreateObject("Excel.Application")
Set xlClasseur = xlApp.Workbooks.Open(CheminCompletVersFichier)
Set xlFeuille = xlClasseur.Sheets("Feuil1") 'y faire attention si le
nom est à préciser

'permet de rendre visible Excel
xlApp.Visible = True

'active la feuille où se trouve la colonne à effacer
xlClasseur.Worksheets("Feuil1").Activate

'sélectionne la colonne à effacer
xlFeuille.Columns("A:A").Select

'efface la colonne
xlApp.Selection.Delete Shift:=1

'rend Excel de nouveau invisible
xlApp.Visible = False

'ferme le classeur, un message devrait te demander si tu souhaites
sauvegarder le fichier
'remarque : tu peux aussi automatiser la fermeture avec ou sans
sauvegarde
xlClasseur.Close

'quitte Excel
xlApp.Quit

'libère les objets
set xlFeuille=nothing
set xlClasseur=nothing
set xlApp=nothing

end sub

Autre précision, il me semble que l'on parle plutôt d'automation que
d'Active X pour ce type de procédure.

Bon courage

Gérard


"Martin" a écrit dans le message de news:
4485a9aa$0$870$
Bonjour à vous tous


J'aurais besoin de votre pour faire avancer mon projet. J'ai réalisé une
macro (sub excel) sous Access qui ouvre un fichier (telemain.csv) sous
excel. Je voudrais maintenant que cette macro (sub excel) puisse
sélectionner la colonne A du fichier Excel pour la supprimer. Mes
connaissances actuelles me permettent pas pour l'instant de réaliser
cette opération. Pourriez vous regarder ma macro juste ci dessous et la
compléter pour qu'elle puisse réaliser cette action ? Si l'option que
j'ai pris n'est pas la bonne m'indiquer la bonne voie. Merci d'avance
pour tous.

Sub excel()

Dim ExcelAppli As Object

'Ouverture du fichier Excel
Set ExcelAppli = GetObject("C:UTILISATUSERStelemain.csv")


'permet de rendre visible Excel
ExcelAppli.Application.Visible = True

'permet de voir le fichier excel dans Excel
ExcelAppli.Parent.Windows(1).Visible = True

End Sub