Transfert automatique entre 2 feuilles Excel

Bonjour,

Dans mon listing de factures, j'aimerais pouvoir effectuer un filtre automatique entre 2 feuilles.

La feuille de travail et une feuille "Archive".

A l'ouverture du fichier, il faudrait que mes factures vieilles de + de 2 mois soient redirigées vers la feuille "Archive" histoire que au final je ne me retrouve pas occupé de travailler avec des dizaines de lignes sur le feuille principale.

Voici une partie du projet, à voir si cela est possible.

Merci d'avance

17test-liste.xlsx (20.29 Ko)

slt

juste un exemple pour debuter mais il faut le developper

Private Sub Workbook_Open()
Dim lngDern As Long
Dim lngAkt As Long
With Worksheets("Archive")
lngDern = IIf(IsEmpty(.Cells(.Rows.Count, 2)), .Cells(.Rows.Count, 2).End(xlUp).Row, .Rows.Count) + 1
End With
With Worksheets("Liste paiements")
For lngAkt = IIf(IsEmpty(.Cells(.Rows.Count, 2)), .Cells(.Rows.Count, 2).End(xlUp).Row, .Rows.Count) To 2 Step -1
If Date - .Cells(lngAkt, 5) > 60 Then
.Range(.Cells(lngAkt, 1), .Cells(lngAkt, 11)).Cut Worksheets("Archive").Cells(lngDern, 1)
lngDern = lngDern + 1
End If
Next lngAkt
End With
End Sub

Bonjour m3ellem1,

Je n'en suis encore qu'au début des formules dans excel alors insérer du code ^^

J'ai renommé le fichier pour accepter les macros mais ensuite ... J'ai copié ton code dans VBA workbook (sans doute une erreur)

Je reposte le fichier, si tu sais (ou un autre expert bien meilleur que moi) y jeter un coup d'oeil ?!

15liste-paiement.xlsm (21.46 Ko)

J'en profite pour améliorer quelques formules.

=SI([@Montant]=[@Paiem];"Payé";"En attente") en I -> Il serait plus visible d'ajouter une condition supplémentaire SI la date d'échéance est passée par rapport à la date d'aujourd'hui alors afficher "En retard"

et en A56 une formule permettant de calculer le montant restant à payer. Les formules existante en A56 et A57 ne fonctionnent pas.

D'avance merci pour le coup de main.

Petit à petit j'y arriverai

bonjour

salut au passage m3ellem1

dans ma pratique, depuis 20 ans ( ! ) en milieu pro, je n'archive rien. Tout reste sur l'onglet de saisie, des milliers de lignes. Il suffit de filtrer sur la colonne "réglé" et / ou la colonne "retard".

pas de VBA

concernant la gestion des règlements de factures, il faut:

  • une colonne = SI(règlement=montant ; "" ; "ECART") que tu mettras en caractères gras et orange
  • une colonne Réglé dans laquelle tu mets au clavier le mot "Réglé". Ne pas chercher à l'automatiser. C'est un choix humain, ne pas le laisser à une formule ou une macro.
  • une colonne =SI(ET(échéance<aujourdhui ; Réglé = "" ) ; "ALERTE" ; "") en gras rouge

bonne année à tous

Voilà, j'ai fait les modifications, c'est plus simple qu'avec un code vba.

C'est certainement encore améliorable mais ça fonctionne correctement.

Merci à vous deux pour le temps passé à solutionner mon oeuvre

A bientôt

Re,

Voilà un problème que je n'avais pas envisagé. A savoir le fait d'avoir payé un acompte me donne ici I, J et K "vierges" alors que J et K devraient m'indiquer une alerte vu que la date de paiement est dépassée et que le paiement n'est pas complet.

La ligne 23 présente cette "anomalie" dans les formules I, J, K

Serait-il possible de vérifier les formules pour ces 3 colonnes ?

Désolé de devoir encore vous embêter avec cela

Merci d'avance

14liste-test.xlsx (15.31 Ko)

Edit : En J j'ai modifié en =SI(ET([@Échéance]<AUJOURDHUI(); Réglé <> [Montant] ); "ALERTE"; "") et ça a l'air de fonctionner , reste K mais je creuse

Rechercher des sujets similaires à "transfert automatique entre feuilles"