XL 2013 Rapprochement

  • Initiateur de la discussion Initiateur de la discussion momo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

momo

XLDnaute Occasionnel
Bonjour à tous
Je voudrais savoir si il est possible de comparer le total d'un tableau (tableau détail) se trouvant sur onglet avec le montant inscrit dans un autre tableau (Tableau mère) et renvoyer un message, si le total est bon ou une alerte si il y a une différence.

Merci par avance
 

Pièces jointes

Bonsoir momo,

Efforcez-vous d'écrire "Accueil" correctement...

Voyez le fichier joint et la macro du bouton "Vérif" du ruban :
Code:
'Callback for Vérif onAction
Sub Check(control As IRibbonControl)
Dim P As Range, w As Worksheet, i As Variant, j As Variant, test1 As Boolean, test2 As Boolean, mes$, n, s, s1
Set P = Sheets("Accueil").[B:B]
For Each w In Worksheets
    i = Application.Match(w.Range("A11"), P, 0) 'adapter au besoin
    j = Application.Match("Total", w.Columns("A"), 0)
    If IsNumeric(i) And IsNumeric(j) Then
        test1 = P(i, 2) = w.Cells(j, 2)
        test2 = P(i, 3) = w.Cells(j, 3)
        mes = IIf(mes = "", "", mes & vbLf) & w.Name & Chr(9)
        If test1 And test2 Then mes = mes & "Vérif Ok": n = n + 1
        If Not test1 Then mes = mes & "Erreur sur Année N": n = n + 1
        If Not test2 Then mes = mes & IIf(test1, "", vbLf & w.Name & Chr(9)) & "Erreur sur Année N-1": n = n + 1
    End If
Next
MsgBox mes
With Sheets("Verif")
   . [A:B].ClearContents 'RAZ
    If mes = "" Then Exit Sub
    s = Split(mes, vbLf)
    For i = 1 To n
        s1 = Split(s(i - 1), Chr(9))
        .Cells(i, 1) = s1(0)
        .Cells(i, 2) = s1(1)
    Next
End With
End Sub
Je rappelle que CAR(9) - Chr(9) - est le caractère de tabulation.

A+
 

Pièces jointes

Dernière édition:
Bonsoir momo,

Efforcez-vous d'écrire "Accueil" correctement...

Voyez le fichier joint et la macro du bouton "Vérif" du ruban :
Code:
'Callback for Vérif onAction
Sub Check(control As IRibbonControl)
Dim P As Range, w As Worksheet, i As Variant, j As Variant, test1 As Boolean, test2 As Boolean, mes$, n, s, s1
Set P = Sheets("Accueil").[B:B]
For Each w In Worksheets
    i = Application.Match(w.Range("A11"), P, 0) 'adapter au besoin
    j = Application.Match("Total", w.Columns("A"), 0)
    If IsNumeric(i) And IsNumeric(j) Then
        test1 = P(i, 2) = w.Cells(j, 2)
        test2 = P(i, 3) = w.Cells(j, 3)
        mes = IIf(mes = "", "", mes & vbLf) & w.Name & Chr(9)
        If test1 And test2 Then mes = mes & "Vérif Ok": n = n + 1
        If Not test1 Then mes = mes & "Erreur sur Année N": n = n + 1
        If Not test2 Then mes = mes & IIf(test1, "", vbLf & w.Name & Chr(9)) & "Erreur sur Année N-1": n = n + 1
    End If
Next
MsgBox mes
With Sheets("Verif")
   . [A:B].ClearContents 'RAZ
    If mes = "" Then Exit Sub
    s = Split(mes, vbLf)
    For i = 1 To n
        s1 = Split(s(i - 1), Chr(9))
        .Cells(i, 1) = s1(0)
        .Cells(i, 2) = s1(1)
    Next
End With
End Sub
Je rappelle que CAR(9) - Chr(9) - est le caractère de tabulation.

A+
Bonsoir Job!

Merci pour le rappel sur le mot "Accueil", Erreur d'inattention

Un grand merci pour le code, j'ai essayé la première Version elle a vait marché au premier et plus au deuxième

la deuxième version est vraiment top! si seulement vous pouvez me donner des cours.... vous donnez vraiment envie d'apprendre

Par contre n'est il pas possible que la l'onglet vérif disparaisse à la fermeture du fichier
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
143
Réponses
5
Affichages
288
Réponses
12
Affichages
562
Retour