Copier-coller d'un dossier appelé via msgbox

Fermé
elima - 9 juin 2011 à 15:14
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 9 juin 2011 à 16:47
Bonjour,

Débutante en vba, je dois, pour un stage, créer un bouton avec une macro permettant de copier-coller une feuille d'un fichier (à appeler) vers un autre fichier.
Je voulais savoir comment, après avoir utiliser une boite de dialogue pour chercher un fichier, ouvrir ce fichier ensuite (sachant que son nom devrait changer tous les jours) et copier sa première feuille pour la coller dans un fichier d'arrivée à une page précise.

J'ai essayé de faire ça:

Sub OuvreFichier1()
Dim QuelFichier
QuelFichier = Application.GetOpenFilename()
MsgBox QuelFichier
End Sub


Sub essaicopie_colle()
Call OuvreFichier1
QuelFichier.Activate
Range("A1:G35").Select
Selection.Copy
Workbooks("essai1.xls").Activate
Sheet("calque").Activate
Range("A1").Select
ActiveSheet.Paste
End Sub


Mais je n'arrive pas à ouvrir ce fichier qui n'a pas de nom.
Pouvez-vous m'aider?

Merci beaucoup,

Elima
A voir également:

6 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
9 juin 2011 à 16:03
pour la seconde :


Public quelfichier
Sub copie_colle()
Call OuvreFichier1

Range("A1:G35").Select
Selection.Copy
Workbooks("essai1.xls").Activate
Sheets("calque").Activate
Range("A1").Select
ActiveSheet.Paste
End Sub


Sub OuvreFichier1()

quelfichier = Application.GetOpenFilename()
MsgBox quelfichier
End Sub
1
C'est vachement bien mais ça m'a copié la plage A1:G35 de ma feuille calque dans essai1 et c'est tout... et ça n'ouvre pas mon fichier essai2 d'où je veux extraire ma plage.
Peux-tu encore m'aider? Désolée mais je ne sais pas pourquoi chez moi ça ne marche pas.
Merci encore de ton aide.
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
9 juin 2011 à 15:36
Bonjour,

essaie ca :

Sub OuvreFichier1(Quelfichier)
Dim QuelFichier
QuelFichier = Application.GetOpenFilename()
MsgBox QuelFichier
End Sub


Sub essaicopie_colle()
Call OuvreFichier1 (Quelfichier)
QuelFichier.Activate
Range("A1:G35").Select
Selection.Copy
Workbooks("essai1.xls").Activate
Sheet("calque").Activate
Range("A1").Select
ActiveSheet.Paste
End Sub

sinon autre solution

public quelfichier as variant

Sub OuvreFichier1()
Dim QuelFichier
QuelFichier = Application.GetOpenFilename()
MsgBox QuelFichier
End Sub


Sub essaicopie_colle()
Call OuvreFichier1
QuelFichier.Activate
Range("A1:G35").Select
Selection.Copy
Workbooks("essai1.xls").Activate
Sheet("calque").Activate
Range("A1").Select
ActiveSheet.Paste
End Sub
0
Merci Mélanie,

J'ai essayé la première solution, mais il s'est affiché: nombre d'argments incorrect ou affectation de propriété incorrecte.
En essayant la deuxième solution, il s'est affiché: Sub ou function non définie.
J'ai essayé comme ça:

Public quelfichier As Variant
Sub copie_colle()
Call OuvreFichier1
quelfichier.Activate
Range("A1:G35").Select
Selection.Copy
Workbooks("essai1.xls").Activate
Sheet("calque").Activate
Range("A1").Select
ActiveSheet.Paste
End Sub


Sub OuvreFichier1()
Dim quelfichier
quelfichier = Application.GetOpenFilename()
MsgBox quelfichier
End Sub


Pouvez-vous encore m'aider?

Merci encore.
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
9 juin 2011 à 16:02
Pour la première, voici ce qu'il faut mettre:

Sub OuvreFichier1(QuelFichier)

QuelFichier = Application.GetOpenFilename()
MsgBox QuelFichier
End Sub


Sub essaicopie_colle()
Call OuvreFichier1(QuelFichier)
QuelFichier.Activate
Range("A1:G35").Select
Selection.Copy
Workbooks("essai1.xls").Activate
Sheets("calque").Activate
Range("A1").Select
ActiveSheet.Paste
End Sub
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
9 juin 2011 à 16:03
Il faut juste que tu enlèves la ligne QuelFichier.Activate
et c'est bon.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
En fait j'ai loupé une étape et je ne sais pas comment faire. Le programme va bien m'aider à aller chercher un fichier, mais il n'ouvre pas ce fichier. Comment faire pour ouvrir le fichier selectionner dans la msgbox?
Merci encore.
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
9 juin 2011 à 16:30
Sub OuvreFichier1()

quelfichier = Application.GetOpenFilename()
MsgBox quelfichier
Workbooks.Open quelfichier

End Sub
0
Merci merci merci!!!!
ça fonctionne parfaitement!

Désolée d'avoir un peu bâclé la base du programme posté au départ.
Je fonctionne grâce à tout ce que je trouve sur ce site quand on me demande une macro un peu exotique et donc je l'ai mal construit car je n'ai pas assez réfléchi.

Maintenant je sais comment ouvrir un fichier.

Merci beaucoup Mélanie pour ton aide rapide et ta patience.
Ce site est extra.
Bonne journée!
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
9 juin 2011 à 16:47
de rien c'est normal.
0