Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Extraire une feuille d'un classeur fermé en VBA

12 réponses
Avatar
Daniel
Bonjour à tous le newsgroup,

J'ai un classeur qui s'appel "EFFECTIF" et qui est composé de plusieurs
onglets. Un onglet se nomme "60000".

Mon souhait est de réaliser une macro qui va m'extraire de ce classeur
fermé, uniquement cette feuille, dans un nouveau classeur fraîchement créé !

Informatiquement l'adresse du fichier "EFFECTIF" est la suivante :
C:\EFFECTIFS 2006\EFFECTIF.xls

De plus, je crois avoir vu des macro qui ne se lancent pas à partir d'Excel
mais à partir de l'explorateur ! Vous connaissez ? C'est une macro faite sur
Excel ?

Merci beaucoup pour votre aide !

10 réponses

1 2
Avatar
anonymousA
Bonjour,

extraire des données d'un classeur fermé, j'ai déjà vu. Extraire une
feuille d'un classeur fermé, jamais vu mais sait-on jamais.

A+

On 13 fév, 10:29, Daniel wrote:
Bonjour à tous le newsgroup,

J'ai un classeur qui s'appel "EFFECTIF" et qui est composé de plusieurs
onglets. Un onglet se nomme "60000".

Mon souhait est de réaliser une macro qui va m'extraire de ce classeur
fermé, uniquement cette feuille, dans un nouveau classeur fraîchement créé !

Informatiquement l'adresse du fichier "EFFECTIF" est la suivante :
C:EFFECTIFS 2006EFFECTIF.xls

De plus, je crois avoir vu des macro qui ne se lancent pas à partir d'E xcel
mais à partir de l'explorateur ! Vous connaissez ? C'est une macro fait e sur
Excel ?

Merci beaucoup pour votre aide !


Avatar
MichDenis
Dans un classeur ouvert, tu copies la procédure suivante dans un module standard.
tu dois ajouter la bibliothèque suivante: "Microsoft activex data object 2.x librairy"
Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code, Outils / références
et tu coches la bibliothèque mentionnée.

'------------------------------------
Sub MaRequêteAvecADO()

Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, NomFeuille As String, Rg As Range
Dim Chemin As String

NomFeuille = "6000" 'A déterminer
Chemin = "C:EFFECTIFS 2006EFFECTIF.xls" 'à déterminer

'La requête qui sera exécutée ' `a déterminer
Requete = "SELECT * From [" & NomFeuille & "$]"

'Défini la première cellule où seront copiées les
'données des requêtes ADO
With Worksheets("Feuil1")
If .Range("A1") = "" Then
Set Rg = .Range("A1")
End With

'établir la connection avec le fichier...
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""

Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
Rg.CopyFromRecordset Rst
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
Set Rg = Nothing
End Sub
'------------------------------------



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

Bonjour à tous le newsgroup,

J'ai un classeur qui s'appel "EFFECTIF" et qui est composé de plusieurs
onglets. Un onglet se nomme "60000".

Mon souhait est de réaliser une macro qui va m'extraire de ce classeur
fermé, uniquement cette feuille, dans un nouveau classeur fraîchement créé !

Informatiquement l'adresse du fichier "EFFECTIF" est la suivante :
C:EFFECTIFS 2006EFFECTIF.xls

De plus, je crois avoir vu des macro qui ne se lancent pas à partir d'Excel
mais à partir de l'explorateur ! Vous connaissez ? C'est une macro faite sur
Excel ?

Merci beaucoup pour votre aide !
Avatar
anonymousA
Ca rapatrie les données mais en aucun cas la feuille donc les formats et
les éventuels objets insérés ( commentaires, shapes de tous ordres,...)

Dans un classeur ouvert, tu copies la procédure suivante dans un module standard.
tu dois ajouter la bibliothèque suivante: "Microsoft activex data object 2.x librairy"
Pour ce faire, à partir du menu de la fenêtre de l'éditeur de code, Outils / références
et tu coches la bibliothèque mentionnée.

'------------------------------------
Sub MaRequêteAvecADO()

Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, NomFeuille As String, Rg As Range
Dim Chemin As String

NomFeuille = "6000" 'A déterminer
Chemin = "C:EFFECTIFS 2006EFFECTIF.xls" 'à déterminer

'La requête qui sera exécutée ' `a déterminer
Requete = "SELECT * From [" & NomFeuille & "$]"

'Défini la première cellule où seront copiées les
'données des requêtes ADO
With Worksheets("Feuil1")
If .Range("A1") = "" Then
Set Rg = .Range("A1")
End With

'établir la connection avec le fichier...
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""

Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
Rg.CopyFromRecordset Rst
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
Set Rg = Nothing
End Sub
'------------------------------------



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

Bonjour à tous le newsgroup,

J'ai un classeur qui s'appel "EFFECTIF" et qui est composé de plusieurs
onglets. Un onglet se nomme "60000".

Mon souhait est de réaliser une macro qui va m'extraire de ce classeur
fermé, uniquement cette feuille, dans un nouveau classeur fraîchement créé !

Informatiquement l'adresse du fichier "EFFECTIF" est la suivante :
C:EFFECTIFS 2006EFFECTIF.xls

De plus, je crois avoir vu des macro qui ne se lancent pas à partir d'Excel
mais à partir de l'explorateur ! Vous connaissez ? C'est une macro faite sur
Excel ?

Merci beaucoup pour votre aide !




Avatar
MichDenis
| Ca rapatrie les données mais en aucun cas la feuille donc les formats et
| les éventuels objets insérés ( commentaires, shapes de tous ordres,...)

Pourquoi ne pas laisser le demandeur apporter de plus ambles informations
à sa demande initiale en supposant que la réponse ne lui convienne pas
avant de te perdre en conjectures ?

;-))
Avatar
Daniel
Bonjour MichDenis, AnonymousA, le forum,

En fait j'ai vraiment besoin d'avoir le format va avec !

En plus je m'aperçoit que j'ai un autre soucis ! Le fchier est protégé par
un mot de passe ! Est-ce toujours possible ?



| Ca rapatrie les données mais en aucun cas la feuille donc les formats et
| les éventuels objets insérés ( commentaires, shapes de tous ordres,...)

Pourquoi ne pas laisser le demandeur apporter de plus ambles informations
à sa demande initiale en supposant que la réponse ne lui convienne pas
avant de te perdre en conjectures ?

;-))





Avatar
MichDenis
Tu ouvres ton classeur et fais ta copie !




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

Bonjour MichDenis, AnonymousA, le forum,

En fait j'ai vraiment besoin d'avoir le format va avec !

En plus je m'aperçoit que j'ai un autre soucis ! Le fchier est protégé par
un mot de passe ! Est-ce toujours possible ?



| Ca rapatrie les données mais en aucun cas la feuille donc les formats et
| les éventuels objets insérés ( commentaires, shapes de tous ordres,...)

Pourquoi ne pas laisser le demandeur apporter de plus ambles informations
à sa demande initiale en supposant que la réponse ne lui convienne pas
avant de te perdre en conjectures ?

;-))





Avatar
anonymousA
La réponse est non comme te l' a si gentiment fait remarquer l'autre
contributeur.

A+

On 14 fév, 12:45, Daniel wrote:
Bonjour MichDenis, AnonymousA, le forum,

En fait j'ai vraiment besoin d'avoir le format va avec !

En plus je m'aperçoit que j'ai un autre soucis ! Le fchier est protég é par
un mot de passe ! Est-ce toujours possible ?






| Ca rapatrie les données mais en aucun cas la feuille donc les forma ts et
| les éventuels objets insérés ( commentaires, shapes de tous ord res,...)

Pourquoi ne pas laisser le demandeur apporter de plus ambles informatio ns
à sa demande initiale en supposant que la réponse ne lui convienne pas
avant de te perdre en conjectures ?

;-))- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Modeste
Bonsour® Daniel avec ferveur ;o))) vous nous disiez :

En fait j'ai vraiment besoin d'avoir le format va avec !
Ca c'est pas possible !!!!


En plus je m'aperçoit que j'ai un autre soucis ! Le fchier est protégé par
un mot de passe ! Est-ce toujours possible ?


Ange Ounis a dit le 11/02 à 12:10 ;o))) Salut Fred (*) CTP réservé aux
initiés...
../..
Utilise cette fonction de John Walkenbach :
http://www.j-walk.com/ss/excel/tips/tip82.htm
(les macros Excel 4 se moquent de la protection des classeurs comme des
feuilles, pour autant que je sache).
../..


--
--
@+
;o)))

Avatar
MichDenis
Si tu veux bien préciser laquelle des fonctions de John Walkenbach
peut extraire des formats de cellules d'un classeur fermé, j'en serais
ravi ! Imagine alors le facies d'anym... ? ;-))


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

Bonsour® Daniel avec ferveur ;o))) vous nous disiez :

En fait j'ai vraiment besoin d'avoir le format va avec !
Ca c'est pas possible !!!!


En plus je m'aperçoit que j'ai un autre soucis ! Le fchier est protégé par
un mot de passe ! Est-ce toujours possible ?


Ange Ounis a dit le 11/02 à 12:10 ;o))) Salut Fred (*) CTP réservé aux
initiés...
../..
Utilise cette fonction de John Walkenbach :
http://www.j-walk.com/ss/excel/tips/tip82.htm
(les macros Excel 4 se moquent de la protection des classeurs comme des
feuilles, pour autant que je sache).
../..


--
--
@+
;o)))

Avatar
Modeste
Bonsour® "Michel" avec ferveur ;o))) vous nous disiez :

Si tu veux bien préciser laquelle des fonctions de John Walkenbach
peut extraire des formats de cellules d'un classeur fermé, j'en serais
ravi ! Imagine alors le facies d'anym... ? ;-))


concernant le format ????

je n'ai dit que ça !!!
En fait j'ai vraiment besoin d'avoir le format va avec !
Ca c'est pas possible !!!!

--

--
@+
;o)))


1 2