XL 2013 Comparaison balances comptables

Pol

XLDnaute Occasionnel
Bonjour,

L'idée est de comparer 2 balances datées (dans mon exemple 01/04/21 et 05/04/21) et de colorier en fonction de l'évolution des soldes et de critère couleur de la première version (dans mon exemple 01/04/21).

J'ai récupéré un code sur les doublons que je souhaiterai adapter pour arriver au résultat escompté voir balance 05/04/21. Le problème de ce code est qu'il retouche les couleurs de la première balance or il ne faut pas retoucher ces couleurs puis le code n'intègre pas les conditions liées aux couleurs de la première version.

L'objectif final est de pouvoir détecter rapidement sur la balanc 050421 les soldes "toujours" valides (c'est à dire 2 conditions cumulées : solde inchangé et code couleur vert dans la version du 010421) et ceux qui ne le sont pas.

Je vous joins le fichier avec le code VBA.

Merci pour votre aide précieuse.
 

Pièces jointes

  • comparatifBalancesAvecCritèreDeValidation.xlsm
    16.8 KB · Affichages: 11

Pol

XLDnaute Occasionnel
Bonjour,

Je remercie vivement Dudu2 pour son travail!! impeccable !

Peut-on ajouter en commentaire de cellule ou en colonne C (de la deuxième feuille ou version) le solde de la précédente version ? ainsi que le commentaire inscrit le cas échéant en colonne C de la première version (j'ai oublié de vous informer de ce point).

Un grand merci !
 

Dudu2

XLDnaute Barbatruc
Le solde précédent en colonne C, OK
- Coloré ou pas ?
ainsi que le commentaire inscrit le cas échéant en colonne C de la première version
S'agit-il d'un commentaire précédent inscrit en colonne C ?
Alors, non parce que à la prochaine manip du genre, quand le dernier deviendra le précédent, en colonne C on aura le solde de l'antépénultième qu'on vient de rajouter. A moins que la manip n'ait lieu qu'une fois, il faut toujours le commentaire en colonne D. Confirmation ?
 

Dudu2

XLDnaute Barbatruc
Question: en précédent il n'y a jamais de couleur jaune ?
Parce que si les jaunes sont changés manuellement de couleur après vérification, y a pas intérêt à se tromper de nuance car le test des couleurs a lieu sur des ColorIndex précis ! (Un peu flashy d'ailleurs :))

Sinon, s'il fallait sophistiquer l'affaire, une autre option serait de créer un colonne supplémentaire pour indiquer un code "ok" / "ko" pour valide / non valide (ou n'importe quoi d'autre) et de créer une MFC (fut-ce par Macro pour ne pas se prendre la tête) pour colorer les cellules.
Le test sur "ok" / "ko" serait moins risqué que sur la couleur et le marquage valide / non valide en serait facilité.
 

Pol

XLDnaute Occasionnel
Bonsoir Dudu2,

Effectivement il faut être précis avec ce jaune un peu agressif un peu gilet jaune :p !

Petite question complémentaire, j'aurais souhaité mettre ce code dans personal.xlsb pour pouvoir avoir cette macro accessible dans tout classeur, mais quand je fais copier coller du code ça ne fonctionne pas, quelle est l'adaptation qu'il faut faire ?

Merci Dudu2
 

Dudu2

XLDnaute Barbatruc
Bonjour @Pol,

Je ne connais pas les .xlb. En l'occurrence peut-être faudrait-il créer un .xlam.
Je te propose plutôt l'option qui a ma préférence, c'est à dire un classeur indépendant qui demande sur quel classeur appliquer le traitement, ce dernier ne contenant aucune macro.

Par exemple ce fichier (supprimé).
 
Dernière édition:

Pol

XLDnaute Occasionnel
Merci Dudu2, le problème est que cette manipulation est très récurrente dans mon métier, je suis comptable.
la macro adaptée dans personal serait bien plus simple pour moi quitte à fixer certaine variable comme par exemple la variable du nom des feuilles du classeur actif.
par exemple exécuter la macro si feuil1=balance1 et feuil2=balance2. C'est bien plus simple pour moi de renommer des feuilles plutot que d'aller chercher systématiquement un autre classeur à exécuter qui va s'empiler à 2 ou 3 classeurs excel déjà ouverts (suis amené à manipuler plusieurs classeurs dans mon métier).
j'essaie d'adapter votre code dans ce sens mais suis novice...
Merci encore.
 

Dudu2

XLDnaute Barbatruc
Dans ce cas il faut utiliser un .xlam. Les .xlb sont des fichiers de configuration de barre d'outils.

1 - Reprends le fichier joint ci-dessous légèrement modifié (en .xlam il n'apparait pas dans la liste des classeurs et j'ai donc du modifier le code en conséquence)
2 - Conseil: choisis une lettre de raccourci clavier pour la macro ChoisirClasseur (la lettre 'w' est pratique)
3 - Enregistre-le en tant que .xlam
4 - Va dans Fichier / Options / Compléments / Gérer <Compléments Excel> Atteindre
5 - Coche le nom de ce classeur qui y est listé
6 - Ferme le classeur

7 - Ouvre un ou plusieurs classeurs à balances
Lorsque tu veux exécuter la macro, entre le raccourci clavier défini ci-dessus.
Tu remarqueras qu'en panneau VBA on trouve le projet VBA du classeur .xlam qui y est automatiquement inséré par Excel pour rendre disponible sa ou ses macros.
 
Dernière édition:

Pol

XLDnaute Occasionnel
Bonjour Dudu2,

J'ai un problème d'exécution sur quelques cas, je pense que c'est lié à des formats de nombre et/ou de textes.

Je te joins un fichier exemple, où les lignes ressortent à tort rouges. Quelle méthode peux tu me préconiser pour éviter ça ?

Encore merci pour ton aide.
 

Pièces jointes

  • compar bal maz coeff.xlsx
    15.4 KB · Affichages: 3

Dudu2

XLDnaute Barbatruc
Bonjour @Pol,
Dans ton fichier il ne faut pas oublier de mettre la ligne titre sur la feuille balanc 2.
Donne-moi un exemple de ligne à tort en rouge ?
'----------------------
'Pas de solde précédent
'----------------------
ColorIndex = ColorIndexJaune
'---------------------
'Solde précédent rouge
'---------------------
'Un solde précédent rouge reste rouge
ColorIndex = ColorIndexRouge
'--------------------
'Solde précédent vert
'--------------------
'Le solde précédent est identique au nouveau solde
ColorIndex = ColorIndexVert
'Le solde précédent est différent du nouveau solde
ColorIndex = ColorIndexRouge
'--------------------------------

'Solde précédent couleur inconnue
'--------------------------------
'Un solde précédent non traite passe au rouge
ColorIndex = ColorIndexRouge


Dans la feuille balanc 1, aucun des soldes n'est coloré et donc dans la feuille balanc 2 il ne peut y avoir que 2 couleurs:
- Jaune parce que le solde n'est pas présent en feuille balanc 1 qui rentre dans la cadre des lignes 5, 12 & 13 de tes spécifications.
- Rouge parce que le solde en feuille balanc 1 n'a aucune couleur qui rentre dans le cadre le la ligne 11 de tes spécifications.

1620632404074.png
 
Dernière édition:
Haut Bas