Supprimer des lignes qui s'annulent (positif/négatif)

Bonjour à tous,

Je me permets de vous solliciter sur un sujet sûrement simple mais que je n'arrive décidemment pas à résoudre.

J'ai deux colonnes : la première contenant noms des fournisseurs et des factures, la deuxième les montants associés

Parfois des avoirs viennent annuler le montant des factures.

Ce que je voudrais faire est de supprimer les lignes qui s'annulent mais j'ai des difficultés.

Ci-joint un fichier résumant ma base.

Merci d'avance à toutes et tous pour votre aide.

arochab

Bonsoir

essayer ca

Bonsoir Amir,

Merci de ta réponse, mais ta macro ne semble pas répondre à mes besoins, les lignes restantes après avoir cliqué sur le bouton font partie de celles qui ont une compensation et que je cherche à supprimer.

J'aimerai supprimer les lignes dont le montant s'annule.

Merci,

arochab

alors

et comment les facture s annulent ?

Par exemple on a une facture dont le montant est -21 671,96 compensé par un avoir de +21 671,96. (cf fichier)

Tu vois ?

Merci

arochab

je suis désole

si vous reenvoyer un PJ AVEC 3 ou 4 exemlpes

Bonjour,

Voici une macro qui marque les lignes complémentaires. Ce qui permet de vérifier le résultat.

Après YAPUKA supprimer les lignes marquées...

Sub Galopin()
Dim i%, j%, k, Y As Boolean, x
k = Range("B1").End(4).Row
For i = 2 To k - 1
Y = False
  If Cells(i, 3) = 0 Then
    For j = i + 1 To k
    If Cells(i, 2) + Cells(j, 2) = 0 Then
          Cells(i, 3) = x + 1
          Cells(j, 3) = x + 1
          x = x + 1
          Y = True
      End If
      If Y Then Exit For
    Next j
  End If
Next i
End Sub

Cet autre macro fait directement la suppression

Sub Galopin2()
Dim i%, j%, k, Y As Boolean, x
k = Range("B1").End(4).Row
For i = 2 To k - 1
Y = False
  If Cells(i, 3) = 0 Then
    For j = i + 1 To k
    If Cells(i, 2) + Cells(j, 2) = 0 Then
          Cells(i, 3) = x + 1
          Cells(j, 3) = x + 1
          x = x + 1
          Y = True
      End If
      If Y Then Exit For
    Next j
  End If
Next i
For i = k To 2 Step -1
If Cells(i, 3) > 0 Then Rows(i).Delete
Next
End Sub

A+

Bonjour ,

On supprime donc si les montants s'annulent sans autre vérification ???

Je trouve ça un peu étrange moi, mais je ne suis pas comptable

A mon avis, l'exemple ne reflète pas la réalité ...

P.

bonjour

un essai

153arochab.xlsx (8.98 Ko)

cordialement

salut patrick

maintenant c'est comme ça ,et tellement plus cool mais peut etre qu'il n'y a qu'une feuille par client ( y avais tu songé ?)

Bonsoir à tous,

Je suis perplexe comme patrick1957 quant au résultat à obtenir

Il faut aussi tenir compte du nom de fournisseurs en colonne 1

Option Explicit
Sub supprime()
Dim a, i As Long, x As Range, e
    With Sheets("Feuil4").Cells(1).CurrentRegion
        .EntireRow.Interior.ColorIndex = xlNone
        a = .Value
        With CreateObject("Scripting.Dictionary")
            For i = 2 To UBound(a, 1)
                If a(i, 2) > 0 Then
                    .Item(i) = a(i, 2)
                End If
            Next
            For i = 2 To UBound(a, 1)
                If a(i, 2) < 0 Then
                    For Each e In .keys
                        If a(i, 2) + .Item(e) = 0 Then
                            If x Is Nothing Then
                                Set x = Union(Rows(i), Rows(e))
                            Else
                                Set x = Union(x, Rows(e), Rows(i))
                            End If
                            .Remove e: Exit For
                        End If
                    Next
                End If
            Next
        End With
        'supprime
        'If Not x Is Nothing Then x.EntireRow.Delete
        'surligne
        If Not x Is Nothing Then x.Interior.ColorIndex = 44
    End With
End Sub

klin89

Klin89 a écrit :

Bonsoir à tous,

Je suis perplexe comme patrick1957 quant au résultat à obtenir

Il faut aussi tenir compte du nom de fournisseurs en colonne 1

je me sens moins seul sur le coup là


Klin89 a écrit :

Bonsoir à tous,

Je suis perplexe comme patrick1957 quant au résultat à obtenir

Il faut aussi tenir compte du nom de fournisseurs en colonne 1

klin89

Je me sens moins seul là

Bonjour arochab, AMIR, galopin01, patrick1957, tulipe_4... (tous)

Moi, ce qui me semble bizzzzzare c'est de vouloir supprimer une ligne de facture !

Même si

tulipe_4 a écrit :

peut etre qu'il n'y a qu'une feuille par client ( y avais tu songé ?)

je pense qu'outre le problème, certes intéressant il me parait incongru voir interdit de supprimer une ligne de facture, même si il s'agit d'un avoir...

Je suis donc tout à fait de ton avis

patrick1957 a écrit :

Je trouve ça un peu étrange moi, mais je ne suis pas comptable

moi non plus d'ailleurs !

Bon...jour !

Bah ! Faut pas s'inquiéter. C'est pas le premier à employer des mots pas très appropriés...

Dans les logiciels comptables il y a au moins 2 situations comparables, après ce ne sont pas de vraies suppressions, souvent les lignes pointées sont seulement masquées, mébon, la finalité est la même.

Dans les rapprochements bancaires, connaître le montant des débits qui n'ont pas encore été effectués. C'est important pour savoir si on a encore un peu de liquidités disponibles...

Ou dans les comptes de tiers pour savoir si les fournisseurs ont bien été "réglés" et si les clients ont réglés leurs factures...

Dans ces comptes de tiers, pas besoin de s'occuper de comparer avec les N° de référence puisqu'il y a un compte de tiers par compte client ou fournisseur...

Hum. Bon je simplifie... hein !

Celui qui fait ça sur Excel à une comptabilité simplifié qui peut bien s'accommoder de ce genre de pratique qui ne vise qu'à avoir une idée approximative de sa trésorerie.

C'est souvent le cas pour de petites et moyennes associations qui ont une compta à périodicité aléatoire (parfois en fin d'exercice) mais qui doivent quand même surveiller leurs disponibilités au jour le jour...

A+

Bonjour à tous et merci infiniment pour votre aide,

En effet vos remarques quant au fait de supprimer une ligne de facture font sens, mais je travaille en contrôle de gestion (donc dans la gestion, le suivi et l'optimisation de la performance pour faire très simple) et suis en train d'effectuer des travaux n'ayant aucun impact véritable sur les comptes.

Mais merci de vous soucier de cela !

Vos pièces jointes répondent à ce que je souhaitais, je pense que celle de Klin89 est celle qui a retenu le plus mon attention, la surbrillance permet un double check que je trouve pertinent.

Mille merci à tous à nouveau,

arochab

Rechercher des sujets similaires à "supprimer lignes qui annulent positif negatif"