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

Mettre à jour les données d'un fichier excel à partir d'un autre fichier avec VBA

LINA1997

XLDnaute Nouveau
Bonjour Team ,

J’ai besoin de votre aide j’ai cherché mais je n’arrive pas à trouver une solution..

J’ai deux fichiers Excel un fichier « A »et un autre « B »,

« A » contient plusieurs colonnes, « B » contient quelques colonnes qui sont déjà dans « A ».

J’ai besoin de faire 2 choses :

1- Mettre à jour « A » si les données de « B » changent, (Dans le fichier « A » il y a une possibilité de trouver le même nom ; prénom qui se répète, pour faire la comparaison je dois balayer la liste chercher la dernière occurrence du nom ; prénom en question et mettre à jour les informations.

2- Mettre à jour « B » si les données « de » A changent

Par exemple dans l’exemple que j’ai mis :

Pour le ‘Nom, Prénom ‘:Anol, fin’ j’ai deux lignes dans mon fichier « A » et il y a eu une modification au nouveau de fichier « B » donc je cherche la dernière ligne du ‘Nom, Prénom ‘:Anol, fin’ et je fais ma modification.

J’espère que j’ai bien expliqué mon problème, je vous remercie pour votre aide.
Cordialement ,
Lina
 

Pièces jointes

  • B.xlsx
    13.5 KB · Affichages: 53
Dernière édition:

LINA1997

XLDnaute Nouveau
Bonjour,

Quelqu’un peut m'aider s'il vous plaît,j'ai besoin d'avancer et de puis 3 jours je cherche et je n'ai rien trouvé .
merci de me dire si ma demande est faisable en VBA ou je dois chercher une autre solution ?

merci .
 

gosselien

XLDnaute Barbatruc
Bonjour,

pas possible de t'aider comme ça (j'en laisse le soin à plus fort que moi), mais tu ne dis pas que faire avec l'une des 2 lignes déjà présentes avec le doublon du fichier A ?
On la supprime ?

P.
 

LINA1997

XLDnaute Nouveau
Bonjour,

pas possible de t'aider comme ça (j'en laisse le soin à plus fort que moi), mais tu ne dis pas que faire avec l'une des 2 lignes déjà présentes avec le doublon du fichier A ?
On la supprime ?

P.
Bonjour,
Merci pour votre retour,
la ligne double contient des anciennes informations ( je peux dire que c'est un historique.)
donc je ne dois pas le supprimer. je dois faire une boucle qui cherche le nom X compter le nombre
d'occurrences et faire la mise à jour de la dernière valeur.

Merci
 

gosselien

XLDnaute Barbatruc
re,

une tentative (vite fait)
les 2 fichiers doivent être ouverts simultanément, je n'ai pas codé l'ouverture de "B" depuis "A"

P.
 

Pièces jointes

  • B.xlsm
    23 KB · Affichages: 105
  • A.xlsm
    131.8 KB · Affichages: 335

zebanx

XLDnaute Accro
@gosselien

Bonjour,

Le sujet a été beaucoup consulté mais vous êtes le seul à vous être "collé" à cette gestion de BDD avec des besoins de mises à jour, bravo!
(Sur le fond, ça me parait toujours compliqué sur excel de faire des A/R de mise à jour entre deux fichiers - dont aucun ne sert vraiment de base de ma compréhension -mais ce n'est pas mon sujet^^).

Le code est vraiment intéressant sur les termes utilisés et je vous avoue l'avoir repris dans un seul wbk pour le conserver et tenter de l'appréhender -)
Je voulais simplement vous signaler, en ayant juste modifié quelques noms de variables, que le résultat de la boucle est étonnant sur le wks base. J'avais collé comme "clé d'entrée" de la colonne A un truc simple ("A"+ligne()+colonne()) mais ça fait quelques retours bizarre et je n'arrive pas à comprendre pourquoi.

Je joints le fichier pour clarifier le tout. Il n'y a pas forcément du temps à perdre sur le dit-sujet si le retour convient parfaitement à LINA1997 mais juste pour l'explication, ça m'intéresserait SVP de savoir comment modifier le code pour avoir un déversement correct entre deux wks avec cette macro intéressante.

Cdlt
thierry
 

Pièces jointes

  • gosselien.xls
    55.5 KB · Affichages: 65
Dernière édition:

LINA1997

XLDnaute Nouveau
@gosselien Bonjour,

Un grand merci pour votre retour, votre code ma trop aider mais j'ai toujours deux problèmes, le 1re c'est que j'ai besoin de mettre à jour les deux colonnes (Date Dernière convergence /Date prochaine convergence) ce qui n'est pas le cas puisque j'ai que la colonne (Date Dernière convergence) qui se met à jour et le plus grand problème que je n'arrive pas à trouver c'est dans le cas où j'ai deux ou plusieurs lignes pour la même personne et que j'ai besoin de mettre à jour que la dernière ligne ... ne pas modifier les lignes précédentes .
Un grand merci pour vous .
 

cance

XLDnaute Nouveau
Bonjour à tous

J'ai besoin d'un renseignement.
Nous travaillons avec excel pour la facturation des clients, qui se fait après livraison des produits.
Nous prenons donc juste une fiche imprimé avec tout les départs de livraison de la semaine ( origine fichier excel ) et comparons avec les fichiers excel suivi livraison :
1 ctrl F numéro client
2 chercher dans fichier client livrer
3 chercher dans fichier client non livrer
il ne reste plus qu'à facturer les clients livré;

Cette étape est très longue et répétitive
Connaissez vous un moyen de réduire ou peut être d'automatiser la recherche.

Merci
 

gosselien

XLDnaute Barbatruc

@cance :

Il n'est pas habituel de s'insérer ainsi dans un post existant...
Tu dois créer une nouvelle conversation et mettre un exemple TRES PROCHE de ton fichier réel !

P.
 

zebanx

XLDnaute Accro
@LINA1997

A tester par rapport au retour de Gosselien, à son fichier, et vos dernières questions :

- Première partie : macro n°2 à tester, ça met bien à jour dans le fichier A colonne 43 (colonne de référence 1 = nom) en rose avec la date. Je n'ai pas écrasé sa macro mais copier le code comme vous le verrez.

- Deuxième partie : la macro a comme clé d'entrée le nom de la personne. Si le nom est identique sur le tableau A... Il faudrait une "clé" qui permette d'avoir une unicité dans le tableau.
Si on prend les lignes 10 et 14 : comment voulez-vous faire une différence ?
Est-ce la dernière ligne sur le tableau à prendre en compte à chaque fois ?
(Je m'avance un peu, peut-être que Gosselien arrivera à résoudre le point ! -)

Cdlt
thierry
 

Pièces jointes

  • B.zip
    136.3 KB · Affichages: 62
Dernière édition:

gosselien

XLDnaute Barbatruc
Bonjour,
En effet, il faut rendre le nom unique ! sinon la mise à jour se fait sur la ligne 10 ET la ligne 14 ...
Une colonne à côté avec un numéro national , carte d'identité, de pointage etc etc...
Il n'y a surement aucun intérêt ici à faire une mise à jour des 2 lignes
L'une des 2 est peut être de trop non ?

P.
 
Dernière édition:

LINA1997

XLDnaute Nouveau
@gosselien @zebanx Bonsoir ,


je vous remercie pour votre aide, s'il faut rajouter un ID pour résoudre mon problème je le fais, en PJ les deux fichiers ou j'ai rajouté une clé unique nommée ID.
Je vous remercie encore une fois pour votre aide..

Lina
 

Pièces jointes

  • A.xlsm
    18.2 KB · Affichages: 55
  • B.xlsm
    23.6 KB · Affichages: 57

zebanx

XLDnaute Accro
@LINA1997

Cela ne change rien au problème.
Ci-joint un wks récapitulatif de ce qui bloque pour identifier une clé unique puisque, de ma compréhension, vous avez besoin de faire un update sur une valeur unique dans le tableau 1.
Si c'est un classement chronologique avec la dernière ligne à prendre en considération par occurence, c'est un autre traitement directement sur le fichier 1 (avec quelques manips à prévoir pour neutraliser temporairement les noms en doublons à ne pas remplir).

Cdlt
thierry
 

Pièces jointes

  • B_info.xls
    71.5 KB · Affichages: 45

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…