Lettrage/rapprochement automatique sur Excel ci joint le fic

Bonjour,

Voilà une macro bien pratique pour le lettrage rapprochement voila ce qu'elle fait :

vous avez le paiement d'un client d'un montant de 1 347,91 €

Et vous attendez le règlement de ces factures (montant là) :

356,89

499,75

242,24

279,28

38,11

477,34

145,52

343,22

944,37

880,00

505,11

910,58

-34,50

13,26

454,10

939,71

A quoi cela correspond ? et bien la macro la fait le rapprochement et trouve le résultat : et met les valeur en couleur !

Fantastique un grand merci à Benjamin DAUBOIN qui fait cette macro gratuitement !

Alors où est le problème il y en a pas mais le script bug quand on cherche à rapprocher 50 résultats ou plus...

Quelqu'un voudrait bien améliorer le script ? je n'y connais rien

Ci joint le document. (oups ça marche pas... voici un lien pour le télécharger : http://funstrike.free.fr/lettrage.xls)

Un grand merci !!!

Cordialement,

Manzo Coralie

Hello ou Hellsoir,

C'est en fait le fichier de Jean-Marie Barone, qui a été créé en 1996 d'après les propriétés du fichier, ce qui est pas tout jeune, on était encore au minitel dans mes souvenirs.

Je connais bien le fichier, s'il s'agit de l'erreur pile insuffisante, c'est normal, l'inconvénient du code est de lancer un trop grand nombre d'appels récursif et la fonction d'affichage de l'avancé du calcul et du mouvement de sélection, fait perdre énormément de temps de calculs.

Je peux te proposer mes modifs du fichier ici : https://www.excel-pratique.com/fr/telechargements/comptabilite/myrmidon-lettrage-no172.php

Sinon, il y'a aussi entre autre la macro d'Eriiic avec pas mal d'autres aussi dans ces threads :

https://forum.excel-pratique.com/excel/lettrage-automatique-t57095.html

https://forum.excel-pratique.com/excel/lettrage-2-t40908.html

Le plus rapide sous Excel, reste encore le code de recherche à l'aide de dictionary, mais je n'ai plus le code sous la main.

Bon week-end

Bonjour à tous,

Il y a quelques années, j'avais commis un fichier pour le lettrage (recherche de toutes les combinaisons possibles).

Si ça peut aider...

Merci à vous deux !

J'ai regardé les fichiers super.

très performant.

Un grand merci

excellente journée à tous.

Bonjour à tous,

J'ai aussi un problème de lettrage automatique avec mon fichier excel qui comporte de nombreuses lignes.

Est-ce que quelqu'un aurait une formule afin de lettrer l'ensemble des montants qui peuvent l'être svp ?

Pour précision les montants en + et en - sont sur la même colonne et le lettrage doit être sur la colonne C.

En vous remerciant beaucoup

Mon fichier est en pièce jointe.

Bonne journée à tous !!

523exemple-lettrage.xlsx (14.07 Ko)

Bonjour XAVI471 !

C'est un sujet "résolu"...

Le mieux est d'ouvrir le votre, afin qu'il soit "tout neuf et beau", et si vous voulez vous pouvez toujours mettre celui-ci en lien afin d'y faire référence dans votre question...

@ bientôt

LouReeD

Il n'y a pas de GEC chez Colas ? Ce genre de pb chez une multi n'est plus sensée existé.

De toute façon pour le lettrage, il vaut mieux laissé tomber Excel, il n'est pas assez performant en nb de calculs.

Bonjour @MaPoire,

Je découvre votre macro pour le lettrage sous Excel (mapomme-lettrage-v4a.xslm) et elle convient parfaitement à ce que je recherchais et de plus, c'est hyper rapide par rapport à ce que j'ai pu trouver à ce jour.

Par contre, j'ai un message d'erreur avec une série de valeurs positives (Crédits) et négatives (Débits) que j'ai tenté d'utiliser que je ne sais pas interpréter. La macro plante et désactive le calcul automatique des cellules.

Pourriez vous jeter un oeil au fichier que j'ai mis en pièce jointe afin d'apporter la petite correction adaptée ?

Je vous en remercie par avance.

Spectrum88

erreur spectrum88

Bonsoir,

sans "trop me tromper" pour ce qui est du calcul manuel c'est du au fait que la macro ne "tourne" pas entièrement, du coup le calcul qui est mis en manuel au départ n'est pas remis en automatique à l'arrivée car l'erreur empêche d'y arriver à l'arrivée...

Pour ce qui est de l'erreur "400" il faut se tourner vers la bible : internet

qui dit que ce type d'erreur est du à un affichage d'un USF en mode "modal" alors qu'il est déjà affiché...

Donc mettez ceci :

  On Error Resume Next
    UserForm1.Show vbModal
  On Error GoTo 0

De mon coté j'ai une erreur d'indice dans un tableau mais je ne saurai vous dire lequel...

@ bientôt

LouReeD

Bonsoir @LouReeD,

J'ai essayé de mettre votre code dans la macro, sans doute aux mauvais endroits, mais ça ne règle pas le problème.

J'espère que @MaPoire, que j'ai contacté via la messagerie interne, pourra me donner la solution.

Merci déjà pour cette astuce.

Spectrum88

Bonsoir,

à la fin de la SUB HOP :

Sub HOP()
' Lancement du traitement
Dim T0!, T1!, xfin As Range, xsh As Worksheet, derlig&

  VarAccelerer True
  Set FF = Worksheets(sSource)  ' sFeuille Source

  ' effacement des précédents résultats
  UserForm1.Show vbModeless
  UserForm1.Label1 = "Effacement des précédents résultats..."
  UserForm1.Repaint

  Application.DisplayAlerts = False
  For Each xsh In Worksheets
    If xsh.Name = sResult Then
      xsh.Delete
      Exit For
    End If
  Next xsh
  Application.DisplayAlerts = True

  ' création d'une nouvelle Feuille "Result" d'après
  ' la feuille masquée "Result-modele"
  Sheets("Result-modele").Visible = True
  Sheets("Result-modele").Copy after:=Sheets(sSource)
  ActiveSheet.Name = sResult
  Set FR = Worksheets(sResult)
  Sheets("Result-modele").Visible = False

  With FR
    .Names.Add Name:="Duree", RefersTo:="=" & FR.Range("n1").Address
    .Names.Add Name:="nbrSol", RefersTo:="=" & FR.Range("n2").Address
  End With

  UserForm1.Label1 = "Recherche des combinaisons..." & vbLf & vbLf & _
    "(l'application ne répond pas pendant la recherche)"
  UserForm1.Repaint
  T0 = Timer

  If VersionVn = "v4" Then
    AFFICHER_LES_SOLUTIONS_v4
  ElseIf VersionVn = "v2" Then
    'AFFICHER_LES_SOLUTIONS_v2
    Unload UserForm1
    VarAccelerer False
    Exit Sub
  Else
    Unload UserForm1
    VarAccelerer False
    Exit Sub
  End If

  FR.Range("nbrSol") = nbrSol
  T1 = Timer: FR.Range("duree") = T1 - T0 - 86400 * (T1 < T0)
  VarAccelerer False
  Unload UserForm1
  Load UserForm1
  UserForm1.Label1 = Format(nbrSol, "#,##0") & " solutions trouvées" & vbLf _
      & vbLf & " en " & Format(FR.Range("duree"), "#,##0.00") & " sec. (hors effacement initial)"

  ' écriture tableau des tests
  With FF
    derlig = .Cells(.Rows.Count, "u").End(xlUp).Offset(1).Row
    .Cells(derlig, "u") = .Range("e3")
    .Cells(derlig, "v") = nbrSol
    .Cells(derlig, "w") = FR.Range("duree")
  End With
  On Error Resume Next
  UserForm1.Show vbModal
  On Error Goto 0
End Sub

Je viens de tester une dernière fois : premier lancement erreur 400 ! ajout du code d'erreur, relance de "Hop" plus d'erreur si ce n'est celle d'un indice de tableau qui "sort" de la taille du tableau...

@ bientôt

LouReeD

Bonjour LouReeD,

J'ai le même problème que vous après avoir corrigé le code, au début l'Erreur 400, puis l'Erreur d'indice.

Savez-vous si MaPoire participe encore sur le forum ou s'il ne poste plus du tout ?

Spectrum88

Bonsoir,

cliquez sur son pseudo et voyez "les statistiques" il y a tout particulièrement la date de sa dernière connexion. Ceci vous donnera une idée de sa fréquentation du forum

@ bientôt

LouReeD

Bonjour,

aux dernières nouvelles :

screen

@LouReeD : elle est bien, mon illustration, non ?

dhany

Bonjour Sébastien,

ceci est une suggestion pour éviter d'avoir à mettre une image aussi grande que celle du post ci-dessus (quand c'est utile de montrer la date de dernière visite d'un membre) :

screen

à la place des mots « du membre », mettre « de pseudo » ; ajouter aussi son avatar pour une reconnaissance visuelle facile.

merci d'avance si tu peux le faire.

dhany

dhany, bonsoir,

vous me voyez surpris par votre demande de "minimalisme" pour les "imprime écrans" !

Vous qui êtes bien souvent ostentatoire dans l'édition de vos messages...

La sagesse arriverait-elle à vous ?

Bonne soirée @ vous et...

@ bientôt

LouReeD

Merci à tous les deux,

Je vais attendre que MaPoire refasse surface sur le forum pour corriger son code.

Sa macro est d'une rapidité exceptionnelle pour récupérer toutes les combinaisons d'un lettrage.

J'ai testé un paquet de solutions depuis quelques semaines, y compris, le solveur Excel, mais on est loin du compte.

@dhany, vous utilisez FastStone Capture pour vos screenshot ou je me trompe ?

Spectrum88

Bonsoir LouReeD,

tu a écrit :

Vous qui êtes bien souvent ostentatoire dans l'édition de vos messages...

La sagesse arriverait-elle à vous ?

la sagesse ne peut pas venir en moi, car elle a toujours été déjà en moi ; enfin, je crois !

dhany

Bonsoir Spectrum,

tu a écrit :

@dhany, vous utilisez FastStone Capture pour vos screenshot ou je me trompe ?

pour faire mes captures d'écran, j'utilise tout simplement l'outil Capture d'écran de mon Windows 7 ; nom anglais : SnippingTool ; cela pour une copie d'écran partielle, car pour l'écran entier, j'appuie tout simplement sur la touche Imp écran (Impression écran = PrintSc ou PrintScreen sur un clavier anglais ➯ l'image entière de l'écran est copiée dans le Presse-papiers de Windows).

dhany

Bonsoir Dhany

J'ai aussi utilisé l'outil de capture de Windows avant de découvrir FastStone Capture et depuis, je n'utilise plus que ce dernier qui est bien plus performant.

Bonne semaine

Spectrum88

Rechercher des sujets similaires à "lettrage rapprochement automatique joint fic"