Microsoft 365 transfère infos

ryosaeba4

XLDnaute Nouveau
Bonjour,
j'ai un problème que je souhaite vous exposer. Cela sembla facile certainement pour vous mais c'est très complexe pour moi.

J'ai 2 fichiers excel. La structure de ces fichiers (noms des colonnes) ne sont pas identiques. Dans le fichier "source", il y a des informations que j'essaie d'exporter dans le ficher 'destination'.

Ces informations sont des montants de salaires. Ils sont repris dans la colonne H. Chaque salaire correspond à un nom. Vous constaterez qu'il y plusieurs fois les mêmes nom. L'idée est de pouvoir transférer le salaire correspondant à la date la plus récente sur un fichier destination. Dans le fichier destination, le salaire doit être repris dans la colonne F (A01).

Ces 2 fichiers sont des exemples. Ils se peut que les données à transférer concernent plus de personnes (par exemple 100 ou plus). Je cherche à pouvoir automatiser cela via une macro (?) afin que je puisse effectuer ces transfères rapidement. L'idéal étant d'avoir une feuille excel avec 2 boutons, l'un pour charger le fichier source, l'autre pour charger le fichier destination et que ce fichier soit modifié. Pensez-vous que cela soit réalisable ? Pouvez-vous m'aider ?

Voici les 2 fichiers ainsi que le résultat espéré. D'avance merci.

Bien à vous.
 

Pièces jointes

  • fichier de destination.xls
    29 KB · Affichages: 18
  • fichier source.xls
    28 KB · Affichages: 14
  • résultat.xls
    29.5 KB · Affichages: 7

_Thierry

XLDnaute Barbatruc
Repose en paix
Re bonjour

Ah "Identiquement" c'est bizare !

Dans ce code :
VB:
            Case 5                                          'DATE EN VIGUEUR
                If x = 1 Then
                    TabloSource(5, x - 1) = Trim(Contenu(i))
                Else
                    TabloSource(5, x - 1) = CDate(Trim(Contenu(i)))
                End If
            Case 6                                          'CODE

Remplace le par ceci simplement :

Code:
            Case 5                                          'DATE EN VIGUEUR
                TabloSource(5, x - 1) = Trim(Contenu(i))
            Case 6                                          'CODE

Et probablement plus bas tu fais pareil pour le Case 7... (on ne vérifie plus si c'est une date en 5 ou si c'est une valeur numérique en 7... Mais je n'aime pas trop quand même...

Sinon il faudrait fournir ce 4013.csv car quelque chose m'échappe...

@+Thierry
 

_Thierry

XLDnaute Barbatruc
Repose en paix
De rien @ryosaeba4 !

Heureux d'avoir pu te trouver une solution. (fais encore d'autres tests sur un environnment de "DEV" avant de mettre ça en "PROD" quand même... (On ne contrôle plus les formats montant/date)

Pour apprendre, il y a ce Forum et la toile, et surtout un MAX de patience et de persévérence !!!

Je suis autodidacte, mais le peu que je connais en programmation m'a pris presque un quart de siècle LoL ! (et encore avant je me suis initié au "basic" avec un commodore 64, moment "nostalgie" LoL)

Si tu as des questions sur le code utilisé, n'hésites pas ...

Bien à toi, à vous et bon week-end confiné !
@+Thierry
 

ryosaeba4

XLDnaute Nouveau
Ok je vais tester. Au cas où est-ce que je pourrais revenir vers vous ?
Le commodore 64, j'en ai eu un aussi à l'époque. Je me souviens avoir tapé des centaines de lignes du journal hebdogiciel. Cet ordinateur m'a tellement marqué que j'ai récemment acheté un THEC64 full size. J'ai aussi eu un ST et un Amiga avec lesquels j'ai un peu programmé (au plutôt ripped des sources .... j'en suis pas fier:)).

Un tout grand merci.

Bien à toi.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re !
Ben je suis souvent par là sur ce Forum en ces temps de "Lock Down", donc tu ne devrais pas avoir de mal à me retrouver sur XLD ;)

Et oui les Commodores... Ca ne nous rajeunit pas tout ça !!!

Bien à toi !
@+Thierry
 

ryosaeba4

XLDnaute Nouveau
Bonjour Thierry,

Pensez-vous qu'il serait possible dans la première version que vous m'avez fournie (celle qui travaille avec le format XLS) de pouvoir prendre une rémunération en fonction d'une date ? Par exemple que l'excel prenne en compte la rémunération en vigueur au 31/12/2013 ? Donc s'il y a eu une modification au 02/05/2012 et puis plus aucune modification avant le 3 mars 2014, que l'excel prenne en compte cette rémunération ? Idéalement la date pourrait être modifiée en fonction de mes besoins.

D'avance merci.

Bien à vous.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @ryosaeba4 ,

Oui tout est possible, et encore plus simple si on n'est déjà en format XLS...
Par contre j'ai besoin d'un synopsis plus complet ...

Je m'imagine :

1) tu ouvres un classeur Excel Structuré, où tu as Code Salarié / Nom / Date / Rémunération
2) Depuis un autre Classeur (Sur Cellule, ou UserForm, (Je ne sais pas encore) tu renseignes :
a) le Code PERS = 2 (hyoga)​
b) la Date recherché = 31/07/2012​
3) Tu voudrais que le système te retoune 1,361.00

Si tu n'as pas le classeur sous la main c'est ceci pour l'exemple :
1588591900701.png


Si c'est bien ça, je suis loin d'être spécialiste de Formule, mais je pense que celà est faisable sans sortir une armada de codes VBA...

On va voir si des Contributeurs passent par là....

Entre-temps confirme bien que j'ai bien "visualisé" ta demande...

Bien @ toi, @ vous
@+Thierry
 

Pièces jointes

  • 1588591867198.png
    1588591867198.png
    17.3 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
312 161
Messages
2 085 848
Membres
103 004
dernier inscrit
ponas