La situation d'origine - le service financier rapproche quotidiennement les relevés bancaires avec le registre des comptes dans Excel, en passant 2 à 3 heures par jour et en commettant des erreurs en raison de différents formats de date, de frais bancaires et de paiements partiels. Les données se présentent sous la forme de plusieurs fichiers Excel/CSV provenant de différentes banques et du registre interne des factures. Besoin de rassembler cela dans un processus gérable dans Microsoft Excel avec des macros VBA. Environnement technique - Windows 10/11, Applications Microsoft 365 (Excel 64 bits). Seul VBA est autorisé (pas de modules complémentaires tiers et pas de Power BI). Les données sont stockées sur un lecteur réseau, certains fichiers peuvent être ouverts par d'autres utilisateurs. Volume - jusqu'à 50 000 lignes de transactions par mois, jusqu'à 10 000 factures dans le registre. Un travail stable sur Excel 64 bits est requis, en tenant compte des limitations de mémoire et de performances. Domaine - rapprochement des paiements : paiement intégral, paiement partiel, trop-payé, remboursement, commissions bancaires sur des lignes distinctes, différentes devises (UAH, EUR, USD), différents formats de destination de paiement avec numéro de facture/contrat. Le résultat concret est un fichier modèle Excel avec des boutons de ruban/formulaire et un ensemble de modules VBA qui : 1) Importe les instructions de 2 à 3 formats différents (CSV avec séparateurs ; ou , et XLSX) et les normalise dans une seule table (n'utilisez pas Power Query). 2) Importe le registre interne des factures à partir d'un fichier séparé, met à jour les répertoires des contreparties et des contrats. 3) Rapproche automatiquement les transactions avec les factures selon les règles : numéro de facture dans la destination, montant avec une tolérance allant jusqu'à 0,5% (en raison des commissions/différences de taux de change), date de paiement dans un délai acceptable de +/- 10 jours, prise en charge des paiements partiels avec accumulation de solde. 4) Crée un rapport sur l'état des factures : payées, partiellement, en retard, paiement inconnu, duplicata suspect. Pour les paiements inconnus, il crée une liste de publication manuelle avec la possibilité d'extraire une facture de la liste. 5) Crée un journal d'exécution (log) avec l'heure, le nombre de lignes importées, le nombre de correspondances, les erreurs d'analyse. 6) Fournit une protection contre les échecs courants : colonnes manquantes, encodages CSV incorrects, valeurs vides, doublons, formats de date mixtes. Restrictions - ne pas utiliser de bibliothèques externes, d'accès COM aux clients bancaires, de requêtes Internet. Vous devez minimiser les étapes manuelles avant d'exécuter des macros et de sélectionner des fichiers. Le code doit être lisible, avec des commentaires, divisé en modules. Il est interdit de stocker des mots de passe dans le code. Étapes de mise en œuvre - analyse d'exemples de fichiers et accord des règles de correspondance, élaboration de la structure du livre et des modules, mise en œuvre de l'importation et de la normalisation, mise en œuvre de la mise en correspondance et de la différenciation manuelle, génération de rapports et de logs, optimisation des performances, tests sur l'ensemble de contrôle. Critères d'acceptation (mesurables) - l'importation de 50 000 transactions et 10 000 factures prend jusqu'à 3 minutes sur un ordinateur de bureau classique ; la précision de l'auto-étalonnage sur l'ensemble de test fourni n'est pas inférieure à 95 % (les erreurs sont confirmées manuellement par le journal) ; avec un fichier incorrect, la macro ne plante pas, mais émet un message clair et une entrée de journal ; les résultats des rapports sont reproduits lors d'une nouvelle exécution sur les mêmes fichiers. Documents sources - 3 exemples de relevés de différentes banques, un exemple de registre de factures et une description des règles actuellement appliquées manuellement seront fournis. Vous devez également ajouter un bref manuel d'utilisation sur une feuille séparée.