Calcul de dépassement et annulation dans une même case

Bonjour,

Je mets en place un tableau de suivi d'impayés. Dans ma case "dépassement", j'ai mis une petite formule pour savoir combien de jours j'ai de dépassement, par rapport à la date du jour. Mon problème est le suivant: je voudrais que lorsque j'ai mis "O" dans "paiement effectué", mon dépassement arrête de se compter et que temps que le paiement n'est pas fait, la case soit colorée... Je ne sais pas si je suis très claire...

Je vous joints mon fichier.

D'avance, merci pour vos retours

9impayes.xlsx (12.21 Ko)

Bonjour,

Voir fichier.

16aud85-impayes.xlsx (14.08 Ko)

Bonjour MFerrand et merci pour votre retour rapide.

C'est tout à fait ce que je cherchais... j'avais pourtant fait plusieurs essais, mais tous infructueux!!

J'ai une autre question: est-ce qu'une fois le règlement effectué, le nombre de jour de dépassement peut se stopper, mais rester affiché (pour l'historique, que l'on ait une trace du nombre de jours avant le paiement)?

Merci pour votre aide

Ça, pas avec une formule ! La formule continuera de calculer...

Avec une procédure qui écrase la formule lorsque tu mets O.

Et il faudra aussi, ajouter $J3<>"O" dans les conditions MFC (dans le ET...)

Trop compliqué pour moi! Je ne suis pas assez calée sur excel! Je vais essayer de faire autrement, quitte à recopier une partie de ma feuille lorsque les clients auront payé

Formule également modifiée pour garder la valeur.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 10 And Target.Row > 2 Then
        If Target = "O" Then
            Application.EnableEvents = False
            Target.Offset(, -1) = Target.Offset(, -1).Value
            Application.EnableEvents = True
        End If
    End If
End Sub

Dans le module de la feuille.

Revalide le "O" de la première ligne, pour voir l'effet.

8aud85-impayes.xlsm (19.63 Ko)

Merci! C'est fou tous ce qu'excel permet!

C'est çà du langage SQL?


Ou c'est plutôt une macro que vous avez fait?

Non ! Là on est en VBA... Le SQL sert à interroger des bases de données...

Ha d'accord merci!

Je crois que je vais regarder de plus près les cours de VBA sur le site.

Encore merci

bonjour

salut MFerrand

ce genre de suivi de dates se gère un peu différemment (comme dans tout autre progiciel, tels que les ERP ou gestions co ou comptabilité)

il suffit de créer une colonne "Date de règlement" qu'on renseigne quand on reçoit un règlement

puis une colonne = SI (datederuglement>=Ajuojrdhui();"ALERTE" ;"") c'est ta colonne actuelle, avec une MFC

et une colonne = Daterèglement - datedue qui te donne l'historique et que tu pourras mettre dans un TCD

aucun VBA (bon tant pis, je l'ai dit) et des calculs limités à des soustractions de dates.

Bonjour jmd,

J'ai essayé avec vos explications, mais je n'y arrive pas! J'aimerais bien comprendre, car je vais être amenée à faire d'autres tableaux de suivi et comme je ne connais pas du tout la VBA, cela va être difficile pour moi.

Pouvez-vous me dire ce que je ne fais pas correctement?

5essai.xlsm (18.47 Ko)

re

j'ai supprimé :

  • des colonnes inutiles
  • des fusions de cellules (source de gros prolbèmes tôt ou tard).
j'ai mis sous forme de tableau (c'est la fonction la plus utile dans Excel, bien avant la fonction + Ceci permet la recopie automatiques des formules et MFC dans les lignes futures de saisie.

une seule formule (en col Dépassement)

2 MFC (vert en col Date règlement, rouge en col dépassement)

Supprime le VBA. Il est inutile.

Filtre selon la col DateRègement pour voir les encours.

N'efface jamais de ligne.

Fais des TCD pour voir les états par clients/dates/montants/retards. Durant des années. Ne jamais changer de feuille, ni en fin de mois, ni en find'année. S'il y a 100000 lignes, tant mieux

Excel est bien plus simple qu'on ne le pense. Tableau, peu de formules, TCD. Ça suffit. 8)

Merci à vous deux. Il est vrai que je n'avais pas pensé à faire un tableau!

Rechercher des sujets similaires à "calcul depassement annulation meme case"