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

Microsoft 365 Modification d'un code VBA

desto

XLDnaute Junior
Bonsoir à tous.
je voudrais solliciter votre assistance pour la modification d'un code me servant à faire une comparaison de données sur la première colonne.
j'aimerais que vous m'indiquiez la façon dont je pourais faire la modification afin que la comparaison des deux fichiers ne soit uniquement pas sur la colonne A.
Par exemple , comment indiquer dans le code que la comparaison doit se faire sur la colonne B d'un fichier et sur la colonne E de l'autre fichier ou vice versa, comme dans les fichiers joint.
Le problème avec les fichiers joints, est que que certaines transactions qui apparaissent absente à une date, peuvent revenir à une autre date et j'aimerais pouvoir les réconcilier à chaque fois et ressortir à la fin d'une periode (Mois ou semaine) les suspens en attente.
toutes indications qui me permettront d'affiner le code dans ce sens seront les bienvenues.

Ci dessous le code :
 

Pièces jointes

  • CorrespPayment_51173_20220714.xlsx
    13.9 KB · Affichages: 4
  • 13072022.xls
    53.5 KB · Affichages: 2
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Je ne modifierai pas votre macro. Par contre je peux vous proposer une solution par power query.
Comme je n'ai pas bien saisi ce que vous vouliez, comment vous définissiez les "suspens en attente", de quel fichier à quel fichier va la relation, je vous ai fait un exemple simple de non correspondance.

Dans le fichier joint vous verrez 3 requêtes (onglet 'Données' bouton 'requêtes et connexions') :

Tout : importe les données du fichier "13072022.xlsx"
CorrespPayment : importe les données du fichier "CorrespPayment_51173_20220714.xlsx"
Non correspondances : contient les données de CorrespPayment qui n'ont pas d'équivalent dans Tout.
La relation et faites sur le champ PIN des deux (Les PIN de CorrespPayment qui ne sont pas dans Tout)
Les données sont affichées dans la feuille du même nom que cette dernière requête.

Important : Une cellule ($B$1) nommée 'Nom_Dossier' contient une fonction retournant le nom du dossier dans lequel se trouve son fichier (Correspondances.xlsm). Si cette cellule n'affiche pas le bon chemin pour vous, recalculer le classeur. Au pire mettez le nom du répertoire à la main dans cette cellule.
Les requêtes utilisent cette cellule pour aller chercher les fichiers.

Power Query est un outil puissant pour faire ce genre de chose. Il mérite qu'on prenne du temps pour le prendre en main.

Cordialement
 

Pièces jointes

  • Correspondances.xlsm
    28.7 KB · Affichages: 3

desto

XLDnaute Junior
Bonsoir Hasco,
je te remercie pour ton retour.
Comme je n'ai pas bien saisi ce que vous vouliez, comment vous définissiez les "suspens en attente", de quel fichier à quel fichier va la relation, je vous ai fait un exemple simple de non correspondance.
''Les suspens en attente" sont en fait des non correspondances provenant à la fois du fichier "13072022.xlsx" et du fichier "CorrespPayment_51173_20220714.xlsx", avec un accent particulier sur le fichier "13072022.xlsx" .
Ces non correspondances du fichier "13072022.xlsx" doivent ensuite être prise en compte lors d'une nouvelle compraraison de nouveaux fichiers
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Et ce que j'ai fait ne va pas ?

Il faut que vous essayez de parler plus concrètement car je ne vois pas ce que vous voulez dire au juste.
des non correspondances provenant à la fois du fichier "13072022.xlsx" et du fichier "CorrespPayment_51173_20220714.xlsx"
Ci dessous A =13072022.xlsx, B = CorrespPayment_51173_20220714.xls

Cela veut-il dire que vous voulez à la fois les PIN de A absents de B et les PIN de B absents de A ?
Voir fichier joint.

avec un accent particulier sur le fichier "13072022.xlsx"

Quel accent ? Trop vague pour savoir de quoi il s'agit ?

Que fait-on des colonnes de A qui ne sont pas dans B et de B qui ne sont pas dans A.
 

Pièces jointes

  • Correspondances.xlsm
    34.3 KB · Affichages: 2

desto

XLDnaute Junior
Re,

Et ce que j'ai fait ne va pas ?

Il faut que vous essayez de parler plus concrètement car je ne vois pas ce que vous voulez dire au juste.

Ci dessous A =13072022.xlsx, B = CorrespPayment_51173_20220714.xls

Cela veut-il dire que vous voulez à la fois les PIN de A absents de B et les PIN de B absents de A ?
Voir fichier joint.



Quel accent ? Trop vague pour savoir de quoi il s'agit ?

Que fait-on des colonnes de A qui ne sont pas dans B et de B qui ne sont pas dans A.
 

desto

XLDnaute Junior
Bonjour Hasco,

Toutes mes excuses si mes explications ne sont pas bien claires.

Quel accent ? Trop vague pour savoir de quoi il s'agit ?
Ce que je voudrait dire par "accent" est que les PIN Présents dans A absent dans B soient recherchés dans un nouveaux fichier B = CorrespPayment_51173_20220715.xls et mis à jour au fur et a mesure que les journées s'ajoutent. Après chaque traitement , je me chargerai de faire la somme des montants.
Quant aux PIN Présents dans B mais absents dans A , ils seront aussi recherchés dans un nouveaux fichier qui aura par exemple pour nom "14072022.xlsx" et la liste mis à jour au fur et a mesure que les journées s'ajoutent.

Que fait-on des colonnes de A qui ne sont pas dans B et de B qui ne sont pas dans A.
J'aurai juste à les afficher afin de les utiliser dans un rapport pour présenter les détails des PIN concernés.
Voila un peu ce que je voulais dire.

Le traitement peut-il marcher sur plusiuers fichier de type A et plusieurs de type B en une seules fois ?
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Power query peut interroger un dossier, en sélectionner les fichiers souhaités en extraire les données, les transformer et beaucoup d'autres choses.
Je vous ai montré un simple exemple sur la base de vos fichiers.
Maintenant à vous d'apprendre de faire et en cas de problème particulier et précis, de revenir.
Le forum, n'est qu'un simple forum de dépannage sur des points particulier d'un développement.
Nous vous donnons les techniques possibles, mais à vous de les apprendre et les appliquer.

Si power query vous paraît trop compliqué à apprendre, vous pouvez continuer avec vba, mais là non plus personne de pourra organiser les choses à votre place.

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Si vous restez sur du VBA alors joignez des fichiers avec les macros nécessaires, les tenants et aboutissants, parce que dans votre post#1 il manque certaines choses. (prcédure "GetWBAndWS" par exemple).

cordialement
 

Discussions similaires

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