Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 24/08/2007, 11h00   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2007
Messages: 11
Par défaut VBA: Copie de données d'un fichier vers un autre fichier

Bonjour à vous tous,


Je débarque fraichement et plein d'enthousiasme sur ce forum pour vous poser une bete question de débutant VBA. Je crois que ma demande n'est pas trop compliquée (en tout cas à mes yeux de novice):

-D'un coté j'ai un fichier "source" qui change chaque mois avec des données dans des tableaux stables, en d'autres mots qui ont la meme forme chaque mois.
De l'autre coté un fichier "bis" semblable, avec les meme tableaux sous la meme forme, que je vais feeder chaque mois avec le fichier "source".

Il y a 3 onglets à feeder de la sorte pour le fichier "bis" (avec des infos qui proviennent donc de 3 onglets différents du fichier "source")

- Ce que je veux faire c'est installer un bouton sur le fichier "bis" qui permet avec un seul click d'aller chercher les infos sur le fichier "source" (les copier) pour ensuite les coller sur le fichier "bis".


Je ne sais pas si j'ai été assez clair, dans tous les cas j'espère qu'une ame bienveillante avec un esprit éclairé voudra bien m'aider sur cette affaire.

J'ai essayé de faire une macro toute bete mais j'imagine que ce n'est pas suffisant puisque ca n'a pas fonctionné. Et pour de la pure programmation VBA, je suis loin d'etre au point.

Merci d'avance.

Dernière modification par spiergili ; 24/08/2007 à 11h02.
spiergili est déconnecté   Réponse avec citation
ANNONCES
Vieux 24/08/2007, 12h21   #2 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2007
Messages: 11
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Up!

Personne n'est en mesure de m'aider?
spiergili est déconnecté   Réponse avec citation
Vieux 24/08/2007, 12h52   #3 (permalink)
XLDnaute Accro
 
Avatar de Luki
 
Date d'inscription: février 2005
Version Excel : Excel 2000 (PC)
Messages: 1 103
Envoyer un message via MSN à Luki
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Bonjour Spiergilli et bienvenue.

Si tu n'as pas encore eu de réponse ( en 1h21'), c'est que ton problème n'est pas forcément si simple, que les intervenants (toujours aussi passionnés et bénévoles qu'au premier jour) ne sont pas dispo dans la minute, ou que ton problème n'a pas été bien compris...

Un peu de patience, éventuellement un exemple de ce que tu as déjà fait (- de 50Ko) et une explication de texte pour moi: que veut dire "feeder"? Et je ne doute pas que tu obtiennes des réponses.

Bonne journée.
__________________

Et un peu de pub perso!
Luki est déconnecté   Réponse avec citation
Vieux 24/08/2007, 13h07   #4 (permalink)
XLDnaute Accro
 
Avatar de Luki
 
Date d'inscription: février 2005
Version Excel : Excel 2000 (PC)
Messages: 1 103
Envoyer un message via MSN à Luki
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Re,

En lisant ton post, je vois que :
  1. tu veux "alimenter" 3 onglets de ton fichier bis à partir de 3 onglets de ton fichier source.
  2. Je ne connais pas la structure de tes fichiers( combien d'onglets dans chaque fichier?, le fichier source est-il le même chaque mois ou un nouveau chaque mois? veux-tu conserver les onglets de ton fichier bis ou les remplacer chaque mois?
En fonction de ça, tu peux essayer plusieurs choses:
  • copier tes 3 onglets source dans ton classeur bis
  • faire tes manip en utilisant l'enregistreur de macro
  • poster un exemple pour nous puissions nous faire une idée de ce que tu veux
A te lire
__________________

Et un peu de pub perso!
Luki est déconnecté   Réponse avec citation
Vieux 24/08/2007, 14h29   #5 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2007
Messages: 11
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Merci pour ta réponse. C'est vrai que je suis un peu impatient. Je pensais que ma requete n'était pas trop compliquée...

Oui, par feeder j'entends amlimenter.

Pour répondre à tes questions:

- le fichier "source" comporte 3 onglets seulement; le fichier "bis" en comporte bien plus mais il contient entre autres les 3 onglets identiques à ceux du fichier "source"
Le fichier "source" est le meme chaque mois dans sa structure, tout ce qui change étant la valeur des données. Je veux conservers les onglets du fichier "bis" tel quel, je veux juste modifier les infos dans l'onglet. Pour l'instant je le fais manuellement avec un bete copier/coller mais je veux automatiser cette manip pour gagner du temps.

- j'ai tenté de le faire manuellement en enregistrant tout ça avec une macro mais le debug intervient en me signifiant une erreur dans "range().selection".
Je pensais donc qu'il existe p-e une programmation "standard" pour ce genre de manip.

Serait-il utile que je copie la formule de la macro? ou que je laisse mes fichiers? (dans les deux cas il faudra que je change les noms de certaines infos que je ne peux pas laisser trainer comme ca sur le net)

Encore merci pour l'aide.
spiergili est déconnecté   Réponse avec citation
Vieux 24/08/2007, 17h36   #6 (permalink)
XLDnaute Accro
 
Avatar de Luki
 
Date d'inscription: février 2005
Version Excel : Excel 2000 (PC)
Messages: 1 103
Envoyer un message via MSN à Luki
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Re,

Je t'ai préparé un exemple en zip:
1 classeur source et un classeur bis.

les macros sont dans le classeur bis. La récupération et lancée par un bouton dans une barre d'outils personnalisée. Elle n'est visible que dans le classeur bis.

la macro agit ainsi:
suppression de l'onglet A dans le bis et copie de l'onglet A source vers le bis. Etc...

Vois si ça convient et dis-moi
Fichiers attachés
Type de fichier : zip spiergili.zip (19,1 Ko, 27 affichages)
__________________

Et un peu de pub perso!
Luki est déconnecté   Réponse avec citation
Vieux 24/08/2007, 17h52   #7 (permalink)
XLDnaute Accro
 
Avatar de Luki
 
Date d'inscription: février 2005
Version Excel : Excel 2000 (PC)
Messages: 1 103
Envoyer un message via MSN à Luki
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Re,

En PJ le fichier corrigé: il y avait un bug si une des feuilles se trouvait en première position.
Fichiers attachés
Type de fichier : zip spicorrigé.zip (21,3 Ko, 54 affichages)
__________________

Et un peu de pub perso!
Luki est déconnecté   Réponse avec citation
Vieux 26/08/2007, 15h30   #8 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2007
Messages: 11
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Mille mercis!!!! Quelle générosité!!

Je dis ça mais je n'ai même pas encore regardé le fichier, je vais m'empresser de le faire. On va voir si ça correspond à ce que je voulais.

Entre temps je me suis mis à la formation en ligne de microsoft pour VBA, ça devrait m'aider....
spiergili est déconnecté   Réponse avec citation
Vieux 26/08/2007, 20h42   #9 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2007
Messages: 11
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Génial, ça fonctionne!!!!!

C'est exactement ça!

Je vais tenter d'appliquer ça au boulot lundi et en cas de pépin ou de besoin de modification je viendrai quémander de l'aide à nouveau. Cependant, avec la petite formation VBA que je me suis faite ça devrait jouer.

Merci encore.
spiergili est déconnecté   Réponse avec citation
Vieux 26/08/2007, 20h48   #10 (permalink)
XLDnaute Accro
 
Avatar de Luki
 
Date d'inscription: février 2005
Version Excel : Excel 2000 (PC)
Messages: 1 103
Envoyer un message via MSN à Luki
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Citation:
Envoyé par spiergili Voir le message

Cependant, avec la petite formation VBA que je me suis faite ça devrait jouer.

Merci encore.
Serais-tu Helvète par hasard ?

Si c'est le cas, bonjour aux compatriotes!
__________________

Et un peu de pub perso!
Luki est déconnecté   Réponse avec citation
Vieux 27/08/2007, 10h22   #11 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2007
Messages: 11
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

haha, je ne pensais pas que c'était une expression typiquement suisse...donc oui....
spiergili est déconnecté   Réponse avec citation
Vieux 27/08/2007, 13h05   #12 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2007
Messages: 11
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Tout fonctionne comme prévu, j'ai remplacé dans la formule le nom des fichiers que tu avais mis par le nom de mes fichiers.

Maintenant, il y a un "mais" qui résulte du fait que j'ai p-e omis de préciser une chose: une fois que j'ai mis à jour mon fichier "bis" avec les données du fichier "source", les 3 onglets du fichier "bis" (données A, B et C selon ton exemple) sont eux-memes à leur tour liés à trois autres onglets dans le fichier "bis"qui sont en fait une sorte de résumé des données précédentes mais mis en page de façon plus propre qu'à leur état brut.

Ce qui se passe c'est qu'une fois la macro lancée, elle remplace les onglets comme prévu mais du coup les trois autres onglets qui sont liés n'affichent plus l'info et un message d'erreur #REF apparait dans toutes les cellules. A priori mon fichier à ce moment là ne supporte par le changement.

Y'a-t-il une solution à ce problème (supplémentaire)???

Merci d'avance!!!
spiergili est déconnecté   Réponse avec citation
Vieux 27/08/2007, 14h39   #13 (permalink)
XLDnaute Accro
 
Avatar de Luki
 
Date d'inscription: février 2005
Version Excel : Excel 2000 (PC)
Messages: 1 103
Envoyer un message via MSN à Luki
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Re,

Le mieux serait que tu zippes un exemple de tes fichier. Sans données confidentielles, et expurgé pour qu'il ne soit pas trop lourd.

A+
__________________

Et un peu de pub perso!
Luki est déconnecté   Réponse avec citation
Vieux 27/08/2007, 15h09   #14 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2007
Messages: 11
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Voila, j'ai enlevé toute information confidentielle, j'ai uploadé le fichier sur ce lien:

Box.net - Free Online File Storage, Internet File Sharing, Online Storage, Access Documents & Files Anywhere, Backup Data, Send Files
spiergili est déconnecté   Réponse avec citation
Vieux 27/08/2007, 17h37   #15 (permalink)
XLDnaute Accro
 
Avatar de Luki
 
Date d'inscription: février 2005
Version Excel : Excel 2000 (PC)
Messages: 1 103
Envoyer un message via MSN à Luki
Par défaut Re : VBA: Copie de données d'un fichier vers un autre fichier

Salut,

Corrigé pour passer par copier/des données. Attention, il ne faut pas de lignes vides dans la plage, sinon il faudra modifier la méthode de détection de la plage à copier.

D'autre part, je ne connais pas la quantité de données à traiter. Fais des essais pour voir s'il n'y a pas de problèmes lors de la copie.

Code:
Option Explicit
'=====================
'Macro pour récupérer et remplacer 3 onglets d'un classeur extérieur
'voir aussi dans le module "this workook" l'activation et désactivation de la barre d'outil personnalisée
'==========================================================
Sub Récupération_des_onglets_source()
Dim Source As Workbook, Bis As Workbook
Dim i As Byte
Set Bis = ThisWorkbook

' desactive la mise à jour de l'écran
    Application.ScreenUpdating = False
'==========================================================
'vérifie que le classeurSource est ouvert, sinon demande ouverture et sortie macro
    On Error Resume Next
    Set Source = Workbooks("Source.xls")
    If Source Is Nothing Then MsgBox " Vous devez d'abord ouvrir le fichier Source!": Exit Sub
    On Error GoTo 0
'=============================================================

'Suppression et remplacement des donées de feuilles
   
    With Bis
    
        .Worksheets("A_ca").Rows(1).CurrentRegion.ClearContents
        Source.Sheets("A_ca").Rows(1).CurrentRegion.Copy Destination:=.Worksheets("A_ca").Range("A1")
        
        .Worksheets("A_un").Rows(1).CurrentRegion.ClearContents
        Source.Sheets("A_un").Rows(1).CurrentRegion.Copy Destination:=.Worksheets("A_un").Range("A1")
       
        .Worksheets("Recap").Rows(1).CurrentRegion.ClearContents
        Source.Sheets("Recap").Rows(1).CurrentRegion.Copy Destination:=.Worksheets("Recap").Range("A1")

    End With
    
'===============================================================
    

Application.ScreenUpdating = True

Bis.Activate

End Sub
Ps: de quel côté de la confédération?

A+
__________________

Et un peu de pub perso!
Luki est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Reprise des données d'un fichier xls vers un autre fichier xls crapounet Forum Excel 6 23/05/2007 12h39
Copie de feuilles d'un fichier vers un autre fichier Céline67 Forum Excel 12 30/10/2006 17h40
Probléme de copie de données d'un fichier à un autre charkada Forum Excel 2 23/10/2006 19h39
Extraction de données d'un fichier vers un autre via macro Fab117 Forum Excel 6 19/10/2006 11h30
Copie d'un userform vers un autre fichier Christophe Forum Excel Downloads - Archives 2 04/05/2003 11h22


Fuseau horaire GMT +2. Il est actuellement 19h55.


(C) 2006 Excel Downloads