[VBA] impoter une feuille excel.
Fermé
tobec
-
15 avril 2010 à 15:51
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 17 avril 2010 à 02:28
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 17 avril 2010 à 02:28
A voir également:
- [VBA] impoter une feuille excel.
- Feuille de pointage excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Calculer une moyenne sur excel - Guide
- Si et excel - Guide
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
16 avril 2010 à 08:44
16 avril 2010 à 08:44
Salut,
Voici une réponse à ton souci, si les 2 classeurs sont ouverts...
Sinon pour écire et lire dans les classeurs fermés je te recommande fortement toute cette lecture : https://silkyroad.developpez.com/VBA/ClasseursFermes/
Voici une réponse à ton souci, si les 2 classeurs sont ouverts...
Workbooks(vnomfichier).Sheets("extstk").Copy Workbooks("rupture.xls").Sheets("Feuil2")
Sinon pour écire et lire dans les classeurs fermés je te recommande fortement toute cette lecture : https://silkyroad.developpez.com/VBA/ClasseursFermes/
dct33
Messages postés
41
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
20 avril 2010
39
Modifié par dct33 le 16/04/2010 à 21:57
Modifié par dct33 le 16/04/2010 à 21:57
Bonsoir
pour copier un page il faut tout sélectionner dans le classeur actif dans la feuille active
on peut choisir la feuille active en tapant ex Sheets(1).select
Cells.Select ' sélectionne toute la feuille
Selection.Copy
Windows("rupture.xls").Activate ' sélectionne le classeur
Sheets(2).select ' sélectionne la feuille
Range("A1").Select
ActiveSheet.Paste
Bonne programmation
pour copier un page il faut tout sélectionner dans le classeur actif dans la feuille active
on peut choisir la feuille active en tapant ex Sheets(1).select
Cells.Select ' sélectionne toute la feuille
Selection.Copy
Windows("rupture.xls").Activate ' sélectionne le classeur
Sheets(2).select ' sélectionne la feuille
Range("A1").Select
ActiveSheet.Paste
Bonne programmation
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
Modifié par Polux31 le 17/04/2010 à 02:41
Modifié par Polux31 le 17/04/2010 à 02:41
Bonjour,
Voilà une procédure pour extraire le contenu d'une feuille d'un fichier Excel sans avoir besoin de l'ouvrir:
Il faut pour que ça fonctionne, cocher la référence: Microsoft ActiveX Data Objects x.x Library :
Menu Outils > Références > Cochez la ligne "Microsoft ActiveX Data Objects x.x Library".
Un exemple pour utiliser cette procédure :
Bon courage
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Voilà une procédure pour extraire le contenu d'une feuille d'un fichier Excel sans avoir besoin de l'ouvrir:
Il faut pour que ça fonctionne, cocher la référence: Microsoft ActiveX Data Objects x.x Library :
Menu Outils > Références > Cochez la ligne "Microsoft ActiveX Data Objects x.x Library".
Sub Recup_Donnees_XL_Ferme(ByVal vnomFichier As String) 'vnomfichier = chemin complet du fichier source fermé Dim Cnx As ADODB.Connection Dim xlSheet As String Dim Query As String Dim Rs As ADODB.Recordset 'Nom de la feuille dans le fichier source fermé xlSheet = "extstk" ' Set Cnx = New ADODB.Connection ' 'Connection With Cnx .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & vnomFichier & _ ";Extended Properties=Excel 8.0;" .Open End With ' 'Ecriture de la requête. '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille. Query = "SELECT * FROM [" & xlSheet & "$]" ' Set Rs = New ADODB.Recordset Set Rs = Cnx.Execute(Query) ' 'Copie le résultat de la requête dans la cellule A2 de la feuille 1 ThisWorkbook.Worksheets(1).Range("A2").CopyFromRecordset Rs ' 'Fermeture de la connexion et du recordset et libération de la mémoire. Cnx.Close Set Cnx = Nothing Rs.Close Set Rs = Nothing End Sub
Un exemple pour utiliser cette procédure :
Call Recup_Donnees_XL_Ferme("C:\Temp\monFichier.xls")
Bon courage
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau