[VBA] Ouvrir un classeur Excel sans exécuter sa macro d'ouverture
8 réponses
HD
Bonjour,
Je dois récupérer des données d'un classeur Excel dans Word, j'utilise pour
cela ce code :
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As
Integer) As String
Dim R As String
Dim Cls As Workbooks
Dim Cl As Workbook
Dim F As Worksheet
Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks
Cls.Application.DisplayAlerts = False
Cls.Application.EnableEvents = False
Cls.Application.ScreenUpdating = False
Cls.Application.AskToUpdateLinks = False
Set Cl = Cls.Open(Fichier, 0)
Set F = Cl.Worksheets(Feuille)
Set Cel = F.Cells(Ligne, Col)
R = Cel.Text
Cl.Close False
RECUP = R
End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open
s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute
macro ?
Je dois récupérer des données d'un classeur Excel dans Word, j'util ise pour cela ce code : Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Cls.Application.DisplayAlerts = False Cls.Application.EnableEvents = False Cls.Application.ScreenUpdating = False Cls.Application.AskToUpdateLinks = False Set Cl = Cls.Open(Fichier, 0) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute macro ?
Merci d'avance pour votre aide -- @+ HD
Bonjour,
Remplacer par auto_open() ' dans un module
JB
http://boisgontierjacques.free.fr
On 20 sep, 16:08, "HD" <h...@anti.spam.fr> wrote:
Bonjour,
Je dois récupérer des données d'un classeur Excel dans Word, j'util ise pour
cela ce code :
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As
Integer) As String
Dim R As String
Dim Cls As Workbooks
Dim Cl As Workbook
Dim F As Worksheet
Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks
Cls.Application.DisplayAlerts = False
Cls.Application.EnableEvents = False
Cls.Application.ScreenUpdating = False
Cls.Application.AskToUpdateLinks = False
Set Cl = Cls.Open(Fichier, 0)
Set F = Cl.Worksheets(Feuille)
Set Cel = F.Cells(Ligne, Col)
R = Cel.Text
Cl.Close False
RECUP = R
End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open
s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute
macro ?
Je dois récupérer des données d'un classeur Excel dans Word, j'util ise pour cela ce code : Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Cls.Application.DisplayAlerts = False Cls.Application.EnableEvents = False Cls.Application.ScreenUpdating = False Cls.Application.AskToUpdateLinks = False Set Cl = Cls.Open(Fichier, 0) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute macro ?
Merci d'avance pour votre aide -- @+ HD
HD
Remplacer par auto_open() ' dans un module
Remplacer quoi par auto_open ? et dans quel module ?
Remplacer par auto_open() ' dans un module
Remplacer quoi par auto_open ? et dans quel module ?
Je dois récupérer des données d'un classeur Excel dans Word, j'utilise pour cela ce code : Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Cls.Application.DisplayAlerts = False Cls.Application.EnableEvents = False Cls.Application.ScreenUpdating = False Cls.Application.AskToUpdateLinks = False Set Cl = Cls.Open(Fichier, 0) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute macro ?
Merci d'avance pour votre aide -- @+ HD
Bonjour je te suggère d'utiliser ADO pour récupérer tes données
va voir sur http://www.excelabo.net/excel/fichiersfermer.php
Bonjour,
Je dois récupérer des données d'un classeur Excel dans Word, j'utilise pour
cela ce code :
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As
Integer) As String
Dim R As String
Dim Cls As Workbooks
Dim Cl As Workbook
Dim F As Worksheet
Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks
Cls.Application.DisplayAlerts = False
Cls.Application.EnableEvents = False
Cls.Application.ScreenUpdating = False
Cls.Application.AskToUpdateLinks = False
Set Cl = Cls.Open(Fichier, 0)
Set F = Cl.Worksheets(Feuille)
Set Cel = F.Cells(Ligne, Col)
R = Cel.Text
Cl.Close False
RECUP = R
End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open
s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute
macro ?
Je dois récupérer des données d'un classeur Excel dans Word, j'utilise pour cela ce code : Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Cls.Application.DisplayAlerts = False Cls.Application.EnableEvents = False Cls.Application.ScreenUpdating = False Cls.Application.AskToUpdateLinks = False Set Cl = Cls.Open(Fichier, 0) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute macro ?
Merci d'avance pour votre aide -- @+ HD
HD
Remplacer par auto_open() ' dans un module Remplacer quoi par auto_open ? et dans quel module ?
Je viens de chercher des infos sur le Net et... il semblerait que auto_open soit à abandonner... et il ne semble pas fonctionner sur Excel 2007. Car c'est bien là mon problème, que ma macro est sensé fonctionnée avec des fichiers Word et Excel en mode compatible pour des versions allant d'Office 97 à Office 2007.
Remplacer par auto_open() ' dans un module
Remplacer quoi par auto_open ? et dans quel module ?
Je viens de chercher des infos sur le Net et... il semblerait que auto_open
soit à abandonner... et il ne semble pas fonctionner sur Excel 2007. Car
c'est bien là mon problème, que ma macro est sensé fonctionnée avec des
fichiers Word et Excel en mode compatible pour des versions allant d'Office
97 à Office 2007.
Remplacer par auto_open() ' dans un module Remplacer quoi par auto_open ? et dans quel module ?
Je viens de chercher des infos sur le Net et... il semblerait que auto_open soit à abandonner... et il ne semble pas fonctionner sur Excel 2007. Car c'est bien là mon problème, que ma macro est sensé fonctionnée avec des fichiers Word et Excel en mode compatible pour des versions allant d'Office 97 à Office 2007.
Remplacer par auto_open() ' dans un module Remplacer quoi par auto_open ? et dans quel module ?
Je viens de chercher des infos sur le Net et... il semblerait que auto_op en soit à abandonner... et il ne semble pas fonctionner sur Excel 2007. Car c'est bien là mon problème, que ma macro est sensé fonctionnée av ec des fichiers Word et Excel en mode compatible pour des versions allant d'Offi ce 97 à Office 2007.
La macro auto_open fonctionne sur Excel 2007.
JB
http://boisgontierjacques.free.fr
On 20 sep, 17:02, "HD" <h...@anti.spam.fr> wrote:
Remplacer par auto_open() ' dans un module
Remplacer quoi par auto_open ? et dans quel module ?
Je viens de chercher des infos sur le Net et... il semblerait que auto_op en
soit à abandonner... et il ne semble pas fonctionner sur Excel 2007. Car
c'est bien là mon problème, que ma macro est sensé fonctionnée av ec des
fichiers Word et Excel en mode compatible pour des versions allant d'Offi ce
97 à Office 2007.
Remplacer par auto_open() ' dans un module Remplacer quoi par auto_open ? et dans quel module ?
Je viens de chercher des infos sur le Net et... il semblerait que auto_op en soit à abandonner... et il ne semble pas fonctionner sur Excel 2007. Car c'est bien là mon problème, que ma macro est sensé fonctionnée av ec des fichiers Word et Excel en mode compatible pour des versions allant d'Offi ce 97 à Office 2007.
'Microsoft ActiveX dataobject doit être coché Sub Essai() ChDir ActiveWorkbook.Path Dim rs As ADODB.Recordset Set Cnn = New ADODB.Connection Cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQOExcel3.XLS" Set rs = Cnn.Execute("SELECT nom,service FROM MaListe") Range("A65000").End(xlUp).Offset(1, 0).CopyFromRecordset rs End Sub
JB
On 20 sep, 20:46, JB wrote:
La macro auto_open fonctionne sur Excel 2007.
JBhttp://boisgontierjacques.free.fr
On 20 sep, 17:02, "HD" wrote:
Remplacer par auto_open() ' dans un module Remplacer quoi par auto_open ? et dans quel module ?
Je viens de chercher des infos sur le Net et... il semblerait que auto_ open soit à abandonner... et il ne semble pas fonctionner sur Excel 2007. Car c'est bien là mon problème, que ma macro est sensé fonctionnée avec des fichiers Word et Excel en mode compatible pour des versions allant d'Of fice 97 à Office 2007.- Masquer le texte des messages précédents -
'Microsoft ActiveX dataobject doit être coché
Sub Essai()
ChDir ActiveWorkbook.Path
Dim rs As ADODB.Recordset
Set Cnn = New ADODB.Connection
Cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=ADOExcel3.XLS"
Set rs = Cnn.Execute("SELECT nom,service FROM MaListe")
Range("A65000").End(xlUp).Offset(1, 0).CopyFromRecordset rs
End Sub
JB
On 20 sep, 20:46, JB <boisgont...@hotmail.com> wrote:
La macro auto_open fonctionne sur Excel 2007.
JBhttp://boisgontierjacques.free.fr
On 20 sep, 17:02, "HD" <h...@anti.spam.fr> wrote:
Remplacer par auto_open() ' dans un module
Remplacer quoi par auto_open ? et dans quel module ?
Je viens de chercher des infos sur le Net et... il semblerait que auto_ open
soit à abandonner... et il ne semble pas fonctionner sur Excel 2007. Car
c'est bien là mon problème, que ma macro est sensé fonctionnée avec des
fichiers Word et Excel en mode compatible pour des versions allant d'Of fice
97 à Office 2007.- Masquer le texte des messages précédents -
'Microsoft ActiveX dataobject doit être coché Sub Essai() ChDir ActiveWorkbook.Path Dim rs As ADODB.Recordset Set Cnn = New ADODB.Connection Cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQOExcel3.XLS" Set rs = Cnn.Execute("SELECT nom,service FROM MaListe") Range("A65000").End(xlUp).Offset(1, 0).CopyFromRecordset rs End Sub
JB
On 20 sep, 20:46, JB wrote:
La macro auto_open fonctionne sur Excel 2007.
JBhttp://boisgontierjacques.free.fr
On 20 sep, 17:02, "HD" wrote:
Remplacer par auto_open() ' dans un module Remplacer quoi par auto_open ? et dans quel module ?
Je viens de chercher des infos sur le Net et... il semblerait que auto_ open soit à abandonner... et il ne semble pas fonctionner sur Excel 2007. Car c'est bien là mon problème, que ma macro est sensé fonctionnée avec des fichiers Word et Excel en mode compatible pour des versions allant d'Of fice 97 à Office 2007.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
HD
La macro auto_open fonctionne sur Excel 2007.
Ce qu'il y'a c'est que mes classeurs Excel sur lesquels doivent être récupérés les données sont très nombreux et que du coup je ne pourrais faire la modif' que pour les prochains fichiers... les anciens eux auront encore le Workbook_open... :-(
La macro auto_open fonctionne sur Excel 2007.
Ce qu'il y'a c'est que mes classeurs Excel sur lesquels doivent être
récupérés les données sont très nombreux et que du coup je ne pourrais faire
la modif' que pour les prochains fichiers... les anciens eux auront encore
le Workbook_open... :-(
Ce qu'il y'a c'est que mes classeurs Excel sur lesquels doivent être récupérés les données sont très nombreux et que du coup je ne pourrais faire la modif' que pour les prochains fichiers... les anciens eux auront encore le Workbook_open... :-(
Damien Kergosien
Bonjour JFrancois QC Je dis peut-êtr une bétise mais quand j'ai à ouvrir des classeurs excel contenant des macros dans le module Workbook, je place dans la macro du classeur de traitrement l'instruction : Application.enanleEvents = False
ne pas oublier de remettre à true à la fin Bonne soirée Damien
Je dois récupérer des données d'un classeur Excel dans Word, j'utilise pour cela ce code : Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Cls.Application.DisplayAlerts = False Cls.Application.EnableEvents = False Cls.Application.ScreenUpdating = False Cls.Application.AskToUpdateLinks = False Set Cl = Cls.Open(Fichier, 0) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute macro ?
Merci d'avance pour votre aide -- @+ HD
Bonjour JFrancois QC
Je dis peut-êtr une bétise mais quand j'ai à ouvrir des classeurs excel
contenant des macros dans le module Workbook, je place dans la macro du
classeur de traitrement l'instruction :
Application.enanleEvents = False
ne pas oublier de remettre à true à la fin
Bonne soirée
Damien
Bonjour je te suggère d'utiliser ADO pour récupérer tes données
va voir sur http://www.excelabo.net/excel/fichiersfermer.php
Bonjour,
Je dois récupérer des données d'un classeur Excel dans Word, j'utilise pour
cela ce code :
Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As
Integer) As String
Dim R As String
Dim Cls As Workbooks
Dim Cl As Workbook
Dim F As Worksheet
Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks
Cls.Application.DisplayAlerts = False
Cls.Application.EnableEvents = False
Cls.Application.ScreenUpdating = False
Cls.Application.AskToUpdateLinks = False
Set Cl = Cls.Open(Fichier, 0)
Set F = Cl.Worksheets(Feuille)
Set Cel = F.Cells(Ligne, Col)
R = Cel.Text
Cl.Close False
RECUP = R
End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open
s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute
macro ?
Bonjour JFrancois QC Je dis peut-êtr une bétise mais quand j'ai à ouvrir des classeurs excel contenant des macros dans le module Workbook, je place dans la macro du classeur de traitrement l'instruction : Application.enanleEvents = False
ne pas oublier de remettre à true à la fin Bonne soirée Damien
Je dois récupérer des données d'un classeur Excel dans Word, j'utilise pour cela ce code : Function RECUP(Fichier As String, Feuille As String, Ligne As Long, Col As Integer) As String Dim R As String Dim Cls As Workbooks Dim Cl As Workbook Dim F As Worksheet Dim Cel As Excel.Range
Set Cls = CreateObject("Excel.Application").Workbooks Cls.Application.DisplayAlerts = False Cls.Application.EnableEvents = False Cls.Application.ScreenUpdating = False Cls.Application.AskToUpdateLinks = False Set Cl = Cls.Open(Fichier, 0) Set F = Cl.Worksheets(Feuille) Set Cel = F.Cells(Ligne, Col) R = Cel.Text Cl.Close False RECUP = R End Function
Or mon problème est qu'à l'ouverture d'Excel la macro Workbook_Open s'exècute... Comment peut on ouvrir un classeur Excel en désactivant toute macro ?