Incrémenter données communes entre deux classeurs

Bonjour à tous,

Etant novice en VBA, j'aurais aimé savoir si il était possible d'incrémenter des données communes entre deux classeurs.

A mon travail je travaille sur un fichier nommé ici "NANCY Ancien", où je renseigne des données à la main dans les colonnes (R, S, T, U, V, W).

Chaque mois je reçois un nouveau fichier ici nommée "NANCY Nouveau" reprenant une partie des dossiers de "NANCY Ancien" avec également de nouveaux dossiers. Sauf que les données renseignées manuellement ne sont plus présentes.

Serait il possible de créer dans "NANCY Nouveau" une petite macro permettant d'incrémenter les données rentrée en colonne (R, S, T, U, V, W) du fichier NANCY Ancien lorsque les dossiers sont présents dans les deux classeurs ?

Pour comparer les classeurs il faudrait peut être se fier au colonne B&C&D

Merci d'avance pour votre retour,

29nancy-nouveau.xlsx (73.62 Ko)

Salut,

Ta demande ne me semble pas insurmontable, mais il y a quelques questions que je me pose.

Ton fichier Nancy nouveau comporte la macro, es-tu certain quelle te sera livrée avec le fichier à chaque fois ? Je veux dire que ce fichier ne devrait pas être modifié par un tiers et que la macro soit perdue.

Et que fais-tu avec ton fichier Nancy ancien une fois que les données ont été transférées dans le fichier Nancy nouveau ? Le supprimes-tu ? Est-il remplacé par un nouveau fichier Nancy ancien basé sur le fichier Nancy nouveau nouvellement modifié ? Cette dernière question car je me demandais s’il ne valait pas mieux mettre la macro dans le fichier Nancy ancien (il reste toujours chez toi et personne ne peut le modifier), quitte à créer le nouveau fichier Nancy ancien (tu suis ? ) directement par la macro.

A toi de dire.

Cordialement.

Salut, et déjà merci pour ta réponse.

Le fichier Nancy Nouveau m'est envoyé brut, c'est à dire sans macro. Ce qui après réflexion pose un soucis comme tu le souligne.

Concernant le dossier Nancy Ancien, une fois que les données ont été transférées sur le nouveau fichier, il n'a plus lieu d'exister, nous travaillerons sur le Nancy Nouveau.

Je pense qu'il vaut mieux donc créer un nouveau fichier Nancy Ancien (reprenant l'intégralité des données du fichier Nancy Nouveau incrémenté des données de l'ancien fichier Nancy Ancien)

Je sais pas si j'ai été clair?

Re,

Mon idée est que la macro se trouve dans le fichier « Nancy ancien » chez toi. Lorsque tu reçois le fichier « Nancy nouveau », la macro reporte les informations de « Nancy ancien » à « Nancy nouveau » et crée un nouveau fichier « Nancy ancien » qui écrase l’ancien.

Alors encore quelques questions avant que je me lance :

1) Lorsque tu reçois le fichier « Nancy nouveau », qu’en fais-tu ? Tu l’archives sur ton PC ou tu l’ouvres simplement à l’écran ? Si tu l’archives sur ton PC, l’archives-tu dans le même dossier que « Nancy ancien » ou dans un autre dossier ?

2) Le fichier « Nancy nouveau » que tu reçois portes-il toujours le même nom lors de sa réception ? Si tu l’archives sur ton PC, lui en changes-tu le nom à chaque fois (par exemple en incrémentant la date) ?

Amicalement.

Bonjour,

Je comprends l'idée qui permet d'avoir la macro toujours dans un même classeur.

Le fichier Nancy Nouveau est archive sur mon pc à chaque reception et je le nomme comme ça chaque mois en écrasant l'ancien.

Je confirme également que les deux fichiers sont dans le même répertoire.

Bonne journée

Salut,

Dans le fichier ci-joint, j’ai placé une macro déclenchée par le bouton « Actualisation » en F1.

Il faut placer ce fichier dans le même dossier que le fichier « NANCY Nouveau » que tu m’as fourni dans ton premier message. Ce fichier « NANCY Nouveau » peut être ouvert ou fermé, ça n’a pas d’importance.

Lorsque tu lances la macro, elle ouvre ou sélectionne le fichier « NANCY Nouveau », elle recherche quelles données du fichier «NANCY Ancien» se trouvent dans le fichier « NANCY Nouveau », y reporte provisoirement les données des colonnes R à V, efface toutes les données des lignes 2 et suivantes du fichier « NANCY Ancien » (Y COMPRIS CELLES QUI NE SE TROUVENT PLUS DANS LE FICHIER « NANCY Nouveau »), recopie toutes les données nouvelles du fichier « NANCY Nouveau » afin de les coller dans le fichier «NANCY Ancien», enregistre les modifications de ce dossier (comportant toujours la macro de base pour un prochain usage) et referme le fichier « NANCY Nouveau » sans en enregistrer les modifications provisoires.

Dans mon fichier ci-joint, j’ai écrit une ligne 3 qui disparait après l’actualisation alors que ta ligne du fichier « NANCY Nouveau » avec l’IdSGI 950245142878 y est nouvellement inscrite.

Ceci devrait répondre à ton attente, sauf si tu désires garder les anciennes données du fichier « NANCY Ancien » qui ont disparu dans le dernier fichier « NANCY Nouveau » que tu reçois. Le cas échéant, il faudra modifier mon code.

Tout ceci fonctionne bien entendu si tes fichiers, tes feuilles, etc., se nomment comme tu me l’as indiqué.

A toi de faire des essais.

Amicalement.

41nancy-ancien.xlsm (85.58 Ko)

Salut et tout d'abord merci pour ton travail Yvouille.

Ta macro fonctionne parfaitement sur les fichiers test.

PAr contre dès que je l'applique sur mes fichiers au boulot excel "ne repond plus"

La seule différence étant que dans chacun des deux fichiers j'ai entre 3500 et 4000 lignes de données comparé au 4/5 lignes sur les fichiers test.

As tu une idée d'où peut provenir le problème? La macro à l'air de fonctionner car les deux fichiers s'ouvrent bien mais excel mouline éternellement..

Merci encore à toi.

clemzor a écrit :

As tu une idée d'où peut provenir le problème?

Oui, de 36'000 endroits différents Un espace de trop dans le nom d'une feuille par exemple

Si tu ne peux absolument pas placer tes fichiers réels sur le fil, peux-tu me les fournir en privé ? Si oui, écris-moi un message ou un courriel privé avec une adresse électronique à laquelle je peux te contacter.

Cordialement.

Rechercher des sujets similaires à "incrementer donnees communes entre deux classeurs"