Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Intregration automatique

  • Initiateur de la discussion Initiateur de la discussion Gexk5
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Gexk5

XLDnaute Occasionnel
Bonjour le forum, je revient vers vous pour finaliser mon projet ( merci le forum )
A l'aide de la macro suivante , j'ouvre 1 deuxieme classeur et je copie l'onglet dans mon premier, ca c'est ok, le problème est que le nom de mon fichier principal change tous les mois, comment faire pour que que ma macro s'adapte a ce nouveau nom??

Sub IntegrerProg()
deProteger ' j'enleve les protections
ActiveWindow.DisplayWorkbookTabs = True ' j'affiche la barre d'onglet
ChDir "H:\MOD-UAP_M1" 'toujours pareil
Workbooks.Open Filename:="H:\MOD-UAP_M1\export.xls" ' toujours pareil
Sheets("export").Select
Sheets("export").Copy Before:=Workbooks("Bilan_Mod_M1 Original.xls").Sheets _
(1)
Windows("export.xls").Activate
ActiveWindow.Close
Sheets("MENU").Select
ActiveWindow.DisplayWorkbookTabs = False
Proteger
End Sub

Ce qui change tous les mois , c'est ca
("Bilan_Mod_M1 Original.xls")
("Bilan_Mod_M1 avril2009.xls")
("Bilan_Mod_M1 mai2009.xls")
("Bilan_Mod_M1 juin2009.xls")
("Bilan_Mod_M1 juillet2009.xls")

Si je ne faisais l'integration qu'une fois par mois , ce ne me poserais pas de problème, mais il faut que le fasse chaques semaine
Merci d'avance pour votre aide
 
Re : Intregration automatique

Bonsoir Gexk,

pas sûr d'avoir tout compris, regarde peut être le code ci-dessous si il peut t'aider :

Code:
Workbooks ("Bilan_Mod_M1 " & LCase(MonthName(Month(Date))) & Year(Date) & ".xls")

fait référence au classeur du mois en cours...

bonne soirée
@+

Edition : a noter que l'utilisation de la fonction "lcase" n'est pas forcement utile car la fonction fonction "monthname" renvoie en principe le nom du mois en minuscules
 
Dernière édition:
Re : Intregration automatique

Re

qu'est ce qui ne fonctionne pas... tu l'as intégré dans quel contexte ? mets peut ^tre l'intégralité du code utilisé et résultat attendu dans un petit fichier, car en l'état , je ne vois pas trop comment t'aider...

@+
 
Re : Intregration automatique

Re , pierrot
Désolé, pas vu tout de suite, en test avec Ubuntu 9.04

Je joint mes deux classeurs pour plus d'explication, nettoyés au maximum.

Au cas ou vous auriez des idées pour simplifier quelques codes, c'est pas de refus, mais avec le fichier incomplet, c pas top.

Merci d'avance
 

Pièces jointes

Re : Intregration automatique

Bonjour,

attention au nom des classeurs, en l'occurence il y a 3 espaces dans le nom du classeur cible, d'autre part le mois en cours n'est pas le mois de mai mais avril, donc bogue...

pour copie dans le mois de mai j'ai rajouté +1 dans le code, après il faut adapter...

Code:
Sheets("export").Copy _
        Before:=Workbooks("Bilan_Mod_M1   " & LCase(MonthName(Month(Date) [COLOR="Red"][B]+ 1[/B][/COLOR])) & _
            Year(Date) & ".xls").Sheets(1)

bonne journée
@+
 
Re : Intregration automatique

Merci Pierrot pour ton code, a vrai dire après mure reflexion, j'ai trouvé une solution, quand je lance ma macro pour recuperer mon "export" j'enregistre mon fichier sous Bilan_Mod_M1 temporaire ( comme toujours le meme nom), j'importe mon export, je le traite et le supprimme, et re reenregitre mon fichier sous Bilan_Mod_M1 +mois +année, comme cela , ca marche dans tous les cas.

Merci quand mème pour avoir travaillé sur mon post

A charge de revanche
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…