VBA : IF...THEN transférer des données d'un doc à un autre

Bonsoir,

Je vous sollicite une énième fois pour une des dernières étapes de ma macro géante.

Grace à vous j'ai pu identifier les numéros de dossiers que je voulais discriminer. Ces dossiers sont marqués d'un "VRAI" dans le fichier "macro".

La macro que je voudrais développer est la suivante : lorsque l'on a un "VRAI" dans fichier macro (qui sera le fichier cible), on supprime les données relatives à ce dossier dans le fichier Décembre pour reprendre celles du fichier Novembre.

macro

Aucune grosse difficulté pour vous, mis à part le fait que la macro doit pointer vers des documents ("Novembre" et "Décembre") à préciser par une commande du type :

    
Fichm1 = Application.GetOpenFilename(, , "séléctionner le fichier du mois précédent")
    If Fichm1 = False Then
        Exit Sub
    Else
        Workbooks.Open Filename:=Fichm1
        Set Wbsource1 = ActiveWorkbook
    End If

Voilà, si j'arrive à faire ça, j'aurais enfin terminer mon projet incroyable et révolutionnaire au sein de ma boite.

20macro.xlsm (17.83 Ko)
16novembre.xlsx (10.30 Ko)
17decembre.xlsx (11.64 Ko)

Personne pour m'aider ?

Je désespère

Bonjour thibier1 ,

Je viens de regarder ta demande... peux-tu préciser un peu... ?

D'après ce que j'ai compris tu as plusieurs tableaux de "mois" dans lesquels il faut vérifier/remplacer en fonction de "VRAI" cependant que veux-tu exactement dire par

la macro doit pointer vers des documents ("Novembre" et "Décembre") à préciser par une commande du type :

Fichm1 = Application.GetOpenFilename(, , "séléctionner le fichier du mois précédent")
    If Fichm1 = False Then
        Exit Sub
    Else
        Workbooks.Open Filename:=Fichm1
        Set Wbsource1 = ActiveWorkbook
    End If

Est-ce la possibilité de choisir le mois précédent en fonction d'un mois connu "quelque part" parce que en réalité d'après ton "exemple macro.xlsm" je ne vois pas comment connaître ce mois "précédent" et encore moins le mois "actuel/suivant"...

Bonjour Andrea73

Je vais tenter d'expliquer au mieux.

Macro est mon fichier où je récupère une information vrai ou faux et où j'exécute le code que j'essaye de développer avec vous sur le forum. Si vrai, alors,

  • je sélectionne le numéro de dossier correspondant sur la ligne dans fichier macro.
  • je vais chercher et stocker en mémoire toutes les informations relative à ce numéro de dossier dans Novembre.
  • J'efface les informations relatives à ce numéro de dossier dans Décembre et je les remplace par Novembre.

Du fait que c'est une manipulation mensuelle, il faut que lorsque je clique sur le bouton de la macro, on me renvoie 2 fenêtres. La première pour indiquer l'emplacement du fichier de "Novembre" sur mon ordinateur, la seconde pour "Décembre". Evidemment, le mois suivant, Décembre sera le nouveau fichier "référence et Janvier sera la cible où je supprime et remplace les données. C'est pour ça que j'ai besoin d'une commande précisant l'emplacement des fichiers novembre et décembre.

Est ce plus clair ?

PS : pour éviter les confusion : la commande du type

Fichm1 = Application.GetOpenFilename(, , "séléctionner le fichier du mois précédent")
    If Fichm1 = False Then
        Exit Sub
    Else
        Workbooks.Open Filename:=Fichm1
        Set Wbsource1 = ActiveWorkbook
    End If

doit donc exister en deux exemplaires. Ci dessous, une suggestion :

Fichm1 = Application.GetOpenFilename(, , "Veuillez séléctionner le fichier du mois précédent ")
    If Fichm1 = False Then
        Exit Sub
    Else
        Workbooks.Open Filename:=Fichm1
        Set Wbsource1 = ActiveWorkbook
    End If
Fichm2 = Application.GetOpenFilename(, , "Veuillez séléctionner le fichier du mois actuel ")
    If Fichm2 = False Then
        Exit Sub
    Else
        Workbooks.Open Filename:=Fichm2
        Set Wbsource2 = ActiveWorkbook
    End If

(re)

Juste une question alors...

Y a-t-il alors un moyen de "fixer" le mois en cours quelque part, cela permettrait de connaître "automatiquement" les mois à "charger" et donc de faciliter la saisie ... ?

Ce qui peut être fait et qui m'arrangerait bien en fait c'est de développer la macro sur le fichier de Décembre.

On aurait donc besoin de faire pointer une première fois vers le fichier Macro qui nous liste les numéros de dossiers à retenir et une deuxième fois vers l'emplacement du fichier du mois précédent (en l'occurrence, Novembre dans mon exemple).

Cela répond à ta question ?

(re)

thibier1 a écrit :

Ce qui peut être fait et qui m'arrangerait bien en fait c'est de développer la macro sur le fichier de Décembre.

tourné comme ça ce n'est pas forcément plus simple à développer !

ce que je ne comprend pas en réalité c'est :

le fichier "macro.xlsm" sera-t-il utilisé ou non ?

contient-il déjà des macro-cmdes ?

faut-il le conserver ?

Le fichier macro contient effectivement des macros qui me permettent d'arriver à ce que tu vois dans le fichier, c'est à dire une liste de dossier avec un tag #true/false selon certains critères.

Pour le développement de ce que je souhaite faire, Fichier Macro est utile pour savoir quels numéros de dossiers il faudra transférer de novembre à décembre, rien de plus.

Faut-il le conserver ? A vrai il m'est utile pour la phase de test dans laquelle je suis mais en realité il n'a aucun intérêt.

Je ne sais pas si ça va t'avancer ce que je dis...

Je commence à hésiter à up le topic...

Rechercher des sujets similaires à "vba then transferer donnees doc"