Copie de données depuis fichier xls à nom changeant vers fichier xls à nom chang

[Résolu]
Signaler
Messages postés
14
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
5 janvier 2009
-
Messages postés
14
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
5 janvier 2009
-
Alors d'abord un grand bonjour à tous, je viens de m'inscrire sur votre forum qui à l'air très pro!

J'ai pour habitude de chercher par moi même dans les milliers de problème rencontrés par d'autres mais là vraiment j'ai l'impression qu'en VB chaque problème est différent, et comme en plus je débute, je comprend rarement les réponses apportées.

Alors voila mon problème, je voudrais créer une macro sous excel.

Etape 1 : en cliquant sur un bouton (dans Fichier1) une msgbox s'ouvre dans et demande à l'utilisateur d'indiquer le fichier (Fichier2) ou se trouve les données
Etape 2 : La macro selectionne les données dans la feuille F2 désignée (elles seront toujours dans les mêmes cellules)
Etape 3 : La macro recopie les données dans la feuille F1 (se sera tjs dans les mêmes cellules)

Je voudrais (si c'est pas trop demandé) comprendre votre réponse pour pouvoir la reproduire avec des données placées ailleurs et à placer ailleurs sans avoir à vous demander le code complet à chaque fois.

Si l'un de vous à le temps de m'aider se serait génial, alors merci d'avance

Mitch

7 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Dans ce cas utilises deux objets WorkBook

Le premier WDestination est ton classeur ou tu à la boite de dialogue et donc ActiveWorkBook avant l'ouverture de l'autre. Puis le second Wsource est le classeur ouvert par l'utilisateur et donc ActiveWorkBook après l'ouverture donc cela donnerait un truc du style

 
Dim WDestination As Workbook
Dim WSource As Workbook
   Set WDestination = ActiveWorkbook
   If Application.Dialogs(xlDialogOpen).Show Then
       Set WSource = ActiveWorkbook
       Call WSource.Worksheets("Feuil2").Range("A3").Copy(WDestination.Worksheets("Feuil1").Range("A1"))
   
       'ensuite on ferme la source
       Call WSource.Close(False)  'False pour ne pas sauver
       'On enregistre le classeur destination
       Call WDestination.Save
   End If , ----
[../code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Etape1: Utilises  Application.Dialogs(xlDialogOpen).Show qui permet depsui excel d'ouvrir un fichier (et donc de le choisir)
Etape 2 , 3 : Une fois ouvert tu peux faire référence au classeur actif par
ActiveWorkBook
Pour copier une cellule d'une feuille donné

ActiveWorkbook.Worksheets("Feuil2").Range("A3").Copy (ActiveWorkbook.Worksheets("Feuil1").Range("A1"))

Devrait copier la cellule A3 de la feuil2 dans la cellule A1 de la feuil1
 
Voilà déjà peu être un bon début à creuser

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
14
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
5 janvier 2009

merci julien de t'occuper de mon problème,

l'étape1 c'est déja bien, cela m'ouvre une boite de dialogue pour choisir le fichier ok.

parcontre pour la suite je n'ai pas été clair, ce n'est pas d'une feuille à l'autre mais d'un fichier à un autre (sachant que je ne peux me fier à aucun nom de fichier puisqu'ils sont variables).

merci d'avance
Messages postés
14
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
5 janvier 2009

j'ai trouvé la réponse à mon probleme, j'enregistre une nouvelle macro durant laquelle je clik sur un bouton auquel j'ai affecté la macro 1.

une fois le fichier ouvert je selectionne mes données et fais un ALT+TAB, ca reviens d'office sur le classeur contenant la macro. et je colle mes données. je stop l'enregistrement et affecte à un 2eme bouton.

ca march!

si t'as plus propre hesite pas sinon un grand merci!
Messages postés
14
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
5 janvier 2009

bon en fait ca marche pas du tout, des que je change le nom de fichier ca marche plus.

je vais étudier tes deux réponses qui sont bien plus "propres" en cas de probleme je revien

merci
Messages postés
14
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
5 janvier 2009

Bon ben après plusieurs essais ta soluce marche au poil!

je vote pour toi au prochaine élection présidentielle!
Messages postés
14
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
5 janvier 2009

Bon ben après plusieurs essais ta soluce marche au poil!

je vote pour toi au prochaine élection présidentielle!