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 !

Dureux

XLDnaute Nouveau
Bonjour,

Me revoilà avec un problème sur la partie Triage de mon Code.
Tout fonctionne, seulement si vous utiliser la Macro qui permet de générer la feuille de Relance, les cases "Acompte", "Reste à Payer" et Commentaires, se décalent de case et cela à chaque fois que le trie se lance... J'aimerais vraiment éviter ce problème.
Pourtant les cases Télephone et Mail qui eux sont automatisé ne se mélange pas.

Voici le code en question , je peux remercier Bebere pour cela d'ailleurs 🙂 :

Code:
Dim Ws As Worksheet

Sub RelanceTEST()
    Dim a(), i As Long, L As Long, cel As Range
    ' ReglerNon Macro
    ' Trie l'échéancier selon que régler = Non
    Feuil10.Range("A8:E200").ClearContents    'feuil10 codename de feuille RelaceEntête
    For Each Ws In Worksheets
        If IsNumeric(Left(Ws.Name, 2)) Then
            L = Ws.Range("A65000").End(xlUp).Row
            If L > 7 Then
                For Each cel In Ws.Range("G8:G" & L)
                    If cel = "Non" Then
                        i = i + 1: ReDim Preserve a(1 To 5, 1 To i)    '
                        a(1, i) = cel.Offset(, -2)    'n°client
                        a(2, i) = cel.Offset(, -1)    'raison
                        a(3, i) = cel.Offset(, -6)    'Fact
                        a(4, i) = CDbl(cel.Offset(, -5))  'date facture
                        a(5, i) = cel.Offset(, -3)    'montant
                    End If
                Next
            End If
        End If
    Next
    a = Application.Transpose(a)    'a colonnes,lignes devient a lignes,colonnes
    Feuil10.Range("A8").Resize(UBound(a, 1), UBound(a, 2)) = a
    Feuil10.Columns("A:J").AutoFit
   
    'Permet de trier RelanceEntête selon le numéro client'
   
    ActiveWorkbook.Worksheets("RelanceEntête").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("RelanceEntête").Sort.SortFields.Add Key:=Range("A8:A125"), _
                                                                   SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("RelanceEntête").Sort
        .SetRange Range("A7:J125")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
   
End Sub

Sub FormuleTEST()
    Dim DerL As Long, L As Long
   
    Set Ws = Worksheets("RelanceEntête")
    DerL = Ws.Range("A65000").End(xlUp).Row
    For L = 8 To DerL
        Ws.Range("G" & L).FormulaLocal = "=SI(F" & L & ">0;E" & L & "-F" & L & ";"""")"
        Ws.Range("H" & L).FormulaLocal = "=INDEX('BDD Client'!$A$2:$G$5;EQUIV($A" & L & ";'BDD Client'!$A$2:$A$5;0);6)"
        Ws.Range("I" & L).FormulaLocal = "=INDEX('BDD Client'!$A$2:$G$5;EQUIV($A" & L & ";'BDD Client'!$A$2:$A$5;0);7)"
    Next

End Sub

Mon échéancier fonctionne de la façon suivante : Il est mensuel , quand il est écrit que "régler=Non" et qu'on lance la relance, ceux ou régler=non se génère dans le tableau de relance. Seulement afin de mieux suivre la relance l'utilisateur peut ajouter des commentaires ou suivre le montant à payer.

Voilà, j'espère que vous pourriez m'aider, en vous remerciant d'avance.

P.S : Toutes les données du tableau sont fictives.
 
- 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
4
Affichages
332
Réponses
4
Affichages
439
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Réponses
3
Affichages
518
Réponses
2
Affichages
371
Réponses
10
Affichages
639
Retour