Macro ou formule pour concilier des montants

Bonjour a tous

Je besoin de votre aide.Je ne suis pas une experte en Excel et je doit faire vite une conciliation.

Dans le fichier annexé j’aimerais avoir une formule ou une macro qui va chercher le montant de la colonne I ( Rapp sommaire A) dans l'onglet Base de donnes RQE colonne D.

J’aimerais que les montants conciliés soient mis dans une couleur pareille dans les deux onglets et les montants non conciliés soient mis dans une autre couleur dans les deux onglets.

Est ce que sera-t-il possible?

Votre aide serait très très apprécie car je doit faire cela pour demain.

Merci beaucoup et bonne soirée,

Bonjour

Qu'appelles-tu "montants conciliés" ?

Bye !

Bonjour

Je vais dire les montants identiques qui se retrouve dans la colonne D et I dans les deux onglets.C'est très important que les montant soit dans la même couleur dans les deux fichiers , car je vais me vérifier par couleur.

Les montants qui ne sont pas identiques resteront non conciliés(identifiés) ,dans un autre couleur dans les deux colonne ,( pour être facile ça peut rester sans aucune couleurs

Merci beaucoup pour ton aide

Simona

Un essai à tester. Te convient-il ?

Bye !

montants conciliés = entente cordiale entre des montants qui s'faisaient la guerre, mais que la compta a gentiment réconciliés entre eux, au prix d'un effort louable de rapprochement amiable. (ceci n'est pas une définition Wikipédia)

des montants qui s'faisaient la guerre, mais que la compta a gentiment réconciliés entre eux

Qué compta ?

Ne serait-ce pas plutôt une comtesse ? De Ségur par exemple ?

En tout cas j'aimerais bien la connaitre pour qu'elle "concilie" mes recettes et mes dépenses ! Toujours en conflits celles-là !

Bye !

Bonsoir

Merci beaucoup beaucoup

C'est exactement ce que j’avais besoin

Bonne soirée a tous

Bonsoir en effet j'ai un petit problème.

Le total des montants identifies dans les deux onglets n'est pas égale.J'ai un différence de 1500 $.

Pouvez vous s.v.p. regarder

Merci

Bonjour

Nouvel essai.

Bye !

Bonjour

Ca ne fonctionne pas, le total de montants concilié dans l'onglet rapp sommaire est de 660 024.22 et dans le rapp sommaire 659 524.22.

J'ai une différence de 500 , et il possible que se soit a cause de doublure de montant ex 500 existe plusieurs fois dans la colonne ?

Merci beaucoup et bonne journée,

Nouvel essai

En colonne R pour la feuille" BASE DE DONNÉES RQE" et en colonne K pour la feuille "Rapp sommaire A",la macro reporte les valeurs concilées afin d'en faire le total en bas de colonne, dans le tableau.

Bye !

Merci beaucoup ça fonctionne.

Ton aide est très très apprécié.

Bonne soirez,

Bonsoir

J'aurais besoin de votre aide et soutien concernant le macro du fichier ci-joint.

J'ai demandé l'aide pour avoir un macro qui concilie les montants identiques de la colonne I fichier Rapport sommaire A et de la colonne D base de donnée RQE.

Cependant je me suis rendu compte que la conciliation sera plus exacte si le ,,match''(la conciliation ) se fera en fonction du numéro de lot (soit colonne C du base de donne RQE et de la colonne H du Rapp somaire A ) et des montants de la colonne I et D.

Plus exact lorsque j'ai 500 $ plusieurs fois dans les deux fichiers ,que les montants soient identifiés selon deux critères : le montant et le numéro de lot.

Je vous remercie d'avance pour votre aide

Bonne soirée

Bonjour

Nouvelle version.

Bye !

Bonjour, Salut gmb!

Ça me paraît plus réaliste... ! Voici donc un essai de conciliation sommaire :

Sub Concilier()
    Dim d As Object, RQE, RsA, k, clr, i&, plgBD As Range
    clr = Array(RGB(204, 255, 153), RGB(255, 51, 0))
    Set d = CreateObject("Scripting.Dictionary")
    Set plgBD = Worksheets("BASE DE DONNÉES RQE").Range("A1").CurrentRegion _
     .Offset(, 2).Resize(, 2)
    RQE = plgBD.Value
    plgBD.Offset(1).Interior.ColorIndex = xlColorIndexNone
    For i = 2 To UBound(RQE)
        If RQE(i, 1) <> "" Then d("Lot" & RQE(i, 1)) = Array(i, RQE(i, 2))
    Next i
    Application.ScreenUpdating = False
    With Worksheets("Rapp sommaire A").Range("A1").CurrentRegion.Offset(, 7).Resize(, 2)
        RsA = .Value
        .Offset(1).Interior.ColorIndex = xlColorIndexNone
        For i = 2 To UBound(RsA)
            If RsA(i, 2) <> 0 Then
                k = "Lot" & RsA(i, 1)
                If d.exists(k) Then
                    RQE = d(k)
                    If CDec(RQE(1)) = RsA(i, 2) Then
                        .Rows(i).Interior.Color = clr(0)
                        plgBD.Rows(CLng(RQE(0))).Interior.Color = clr(0)
                    Else
                        .Rows(i).Interior.Color = clr(1)
                        plgBD.Rows(CLng(RQE(0))).Interior.Color = clr(1)
                    End If
                    d.Remove k
                End If
            End If
        Next i
    End With
End Sub

J'ai dit sommaire parce qu'on part de la considération, que les lots ne devraient pas en principe être doublonnés. En fait il y a des doublons dans le rapport sommaire, mais avec des montants différents dont un semblant être en général à 0, on ne prend donc pas en considération les lots à 0 qui fausseraient le récollement.

Les lots trouvés de montants identiques sont colorés en vert. Ceux trouvés de montants différents le sont en rouge. Ceux non trouvés restent sans couleur.

A voir. Cordialement.

Whauuu , très professionnel ,merci beaucoup.Vous m’avez beaucoup aidé.

Je vais commencer apprendre les Macro c'est fantastique.

J'ai une question ,est ce que je peut avoir cette formule dans le mémé fichier excel plusieurs fois.

Je m'explique , j'ai d'autres fichiers et je veut faire plusieurs onglet, car le principe c'est toujours le même.

Je vais essayer aujourd’hui, d’adapter le macro.

Si je ne réussi pas je vais demander d'aide .

Merci encore et bonne journée

Bonsoir,

J'ai itinéré aujourd'hui et me trouve à une autre endroit mais je reviens demain pour quelques explications qui t'aideront à l'adapter.

Cordialement et bonne soirée.

Bonjour,

Désolé de n'avoir pu revenir plus tôt...

La procédure fait un traitement qui est somme toute assez générique et peut donc être réalisé sur d'autres feuilles, sous réserve que les structures des feuilles concernées soient relativement similaires...

Le premier élément d'adaptation concerne les indications des feuilles utilisées pour rapprocher des couples n°Lots-Montants : la première se nommait "BASE DE DONNÉES RQE" et la seconde "Rapp sommaire A"

Il est loisible de remplacer ces noms par des variables, plus exactement passer les noms des feuilles à traiter jouant respectivement le même rôle que les deux initiales en arguments à la procédure de conciliation :

Sub Concilier(wsBD As Worksheet, wsRap As Worksheet)

Et remplacer dans la procédure les références faites aux feuilles qui utilisaient leur nom par ces noms d'arguments fonctionnant comme des variables de type Worksheet.

L'appel de la procédure sera fait alors par une procédure tiers, sous la forme :

    Concilier "NomFeuilleBasedeDonnées", "NomFeuilleRapportSommaire"

Lesquels noms y pourront être récupérés de la façon qu'on souhaite, sur une feuille dédiée au lancement de cette vérification, par des InputBox, etc. ce ne sont pas les méthodes qui manquent et c'est à voir selon la façon dont on organise ce type de travail.

Il peut en être de même pour les indications relatives aux colonnes à traiter si elles diffèrent...

Pour les problèmes d'adaptation que peuvent poser les structures respectives des deux feuilles, il convient de voir comment opère la procédure pour détecter les problèmes éventuels qui pourraient survenir.

Tu dois d'abord noter que pour travailler aussi rapidement que possible avec VBA, la préférence va à des tableaux, on prélève donc les plages sur lesquelles on doit travailler (leurs valeurs) pour en constituer des tableaux, d'où dans les déclarations deux variables : RQE et RsA, destinées à recueillir sous forme de tableaux les valeurs des plages sur lesquelles on veut opérer des comparaisons.

Ces variables sont de type Variant (pouvant accueillir d'une part tout type de valeurs, et d'autre part des tableaux.

On leur affecte un tableau sous la simple forme : Var = Plage.Value à la suite de quoi Var contiendra un tableau constitué par les valeurs de la plage organisées de la même façon que sur la plage. Le tableau produit est de base 1, c'est à dire que les indices 'lignes' et les indices 'colonnes' du tableau démarrent à 1, qu'on peut donc en parcourir les lignes en débutant systématiquement à 1 (ou 2 lorsque l'on sait qu'il y a une en-tête) sans se préoccuper de la ligne initiale sur la feuille...

Cependant, si pour des valeurs on peu travailler sur tableaux hors Excel, produire le résultat sous forme de tableau, lequel pourra être affecté ensuite à une plage d'un bloc lorsqu'on aura achevé, dans ton cas la matérialisation doit s'opérer par l'apposition de couleurs conjointement sur les deux feuilles. Il faudra donc conserver une référence précise des plages concernées sur lesquelles on aura à réintervenir, et dans le détail (par lignes). D'où une variable déclarée de type Range : PlgBD, qui comme son nom l'indique se verra affecter la plage qu'on compare sur la feuille Base de données, variable qui nous permettra une intervention directe sur la plage.

Et en ce qui concerne la seconde plage, on se passera de variable en la plaçant pour opérer sous instruction With... End With. Et on ne perd rien, au contraire, en économisant ainsi une variable car la plage sous With est mise en mémoire par VBA pour y accéder sans délai...

Il était important d'avoir cette vue d'ensemble pour maîtriser les articulations de la procédure. Par ailleurs la comparaison utilisera l'outil Dictionnaire qui consiste en la constitution de couples clé-valeur (ou item), les clés ayant la particularité d'être par définition uniques dans le dico.

Ainsi que tu l'as déjà vu, on l'appliquera au recueil des éléments de la Base de données dans laquelle les numéros de lots semblaient devoir être uniques, avant d'examiner si les éléments ainsi recueillis ont une correspondance dans le rapport.

L'usage du Dico se justifie par le caractère unique des clés, mais également par le fait qu'il s'agit d'un outil extrêmement rapide à l'exécution.

Je reviendrais pour ajouter quelques détails à prendre en considération, afin de détecter s'ils peuvent poser des problèmes d'adaptation.

@+

Bonsoir

Merci beaucoup beaucoup , je suis en train de regarder toutes les fichiers et de faire des modifications afin que par après je puisse utiliser la macro et les conseils que vous m'avez donnée.

Vos explications m'ont fait comprendre beaucoup plus sur les macro , même si je ne suis pas un pro...

Donc encore une fois mille merci il est très très apprécie.

Je vais vous revenir si jamais je ne réussis pas , mais je me donne la chance d'essayer.

Merci et bonne soirée,

Bonjour,

Il me reste quelques détails à fournir, qui peuvent avoir un impact sur l'adaptation... mais je suis absent pour la journée...

@+

Rechercher des sujets similaires à "macro formule concilier montants"