Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/11/2011, 16h04   #1
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
Par défaut ouvrir un fichier excel a partir d'un classeur

Bonjour a vous, voilà mon problème je voudrais pouvoir ouvrir un fichier excel nommer AA1 a partir d'un bouton se trouvant dans un classeur qui est déja ouvert.

j'ai fais ce bout de code mais ceci ne fonctionne pas il me met qu'un objet est requis. Je ne comprend pas pourquoi si vous avez une idée.

Code :
1
2
3
4
5
Private Sub CommandButton1_Click()
 
Book1.Open ("C:\Documents and Settings\R395184\My Documents\AA1.xls")
 
End Sub
De plus j'aimerais qu'en appuyant sur mon bouton une fois le fichier AA1 ouvert il vienne me copier la feuille 1 de ce fichier dans la feuille 2 du classeur sur lequel il y'a le bouton. Savez vous comment faire?

Merci d'avance pour vos réponses
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 16h14   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Code :
1
2
3
4
5
6
7
8
9
Private Sub CommandButton1_Click()
Dim Wbk As Workbook
 
Application.ScreenUpdating = False
Set Wbk = Workbooks.Open("C:\Documents and Settings\R395184\My Documents\AA1.xls")
Wbk.Worksheets(1).UsedRange.Copy ThisWorkbook.Worksheets("Feuil2").Range("A1")
Wbk.Close False
Set Wbk = Nothing
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/11/2011, 16h32   #3
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
Je ne parviens pas a comprendre il me dit que le chemin spécifié n'est pas bon alors que j'ai vérifié et c'est bien celui ci. Je ne vois pas le problème.
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 16h40   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Revérifie encore, un espace ou autre

Sinon, pour tester l'existence du chemin et du fichier
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub CommandButton1_Click()
Dim Wbk As Workbook
Dim Chemin As String
 
Application.ScreenUpdating = False
Chemin = "C:\Documents and Settings\R395184\My Documents\AA1.xls"
If Dir(Chemin) <> "" Then
    Set Wbk = Workbooks.Open(Chemin)
    Wbk.Worksheets(1).UsedRange.Copy ThisWorkbook.Worksheets("Feuil2").Range("A1")
    Wbk.Close False
    Set Wbk = Nothing
Else
    MsgBox "Fichier ou dossier inexistant"
End If
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/11/2011, 16h51   #5
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
c'est bon çà fonctionne. Il fallais rajouter .xlsx au nom de fichier.

Le code est le suivant:

Code :
1
2
3
4
5
6
7
8
Private Sub CommandButton1_Click()
Dim Wbk As Workbook
 
Application.ScreenUpdating = False
Set Wbk = Workbooks.Open("C:\Documents and Settings\R395184\My Documents\AA1.xlsx")
Wbk.Worksheets(1).UsedRange.Copy ThisWorkbook.Worksheets("Sheet2").Range("A1")
 
End Sub
Merci beaucoup pour ton aide
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 16h54   #6
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Il faut fermer le classeur Wbk et écraser la variable Wbk
Code :
1
2
    Wbk.Close False
    Set Wbk = Nothing
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h26.


 
 
 
 
Partenaires

Hébergement Web