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 :
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.
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.