Ajouter une date de fin pour un débit/crédit récurrent via VBA

Bonjour,

Travaillant sur un fichier de suivi bancaire, j'ai mis un place un UserForm pour planifier automatiquement des débit/crédit récurrents. (Pour qu'ils soient automatiquement injecté dans le mois concernés une fois le jour J.) Voici à quoi ressemble le userForm:

image

Voici le code que j'ai injecté:

Private Sub CommandButton1_Click()
Dim dl%, ws As Worksheet
Set ws = Sheets("Recurrent")
dl = ws.Range("A" & Rows.Count).End(xlUp).Row + 1

With ws
    .Range("A" & dl).Value = Format(TextBox1, "mm-dd-yyyy")
    .Range("B" & dl).Value = ComboBox1
    .Range("C" & dl).Value = ComboBox2
    .Range("D" & dl).Value = TextBox2
    If OptionButton3.Value = True Then
      .Range("E" & dl).Value = OptionButton3.Caption
    ElseIf OptionButton4.Value = True Then
      .Range("E" & dl).Value = OptionButton4.Caption
    End If
    If TextBox5 <> "" Then .Range("F" & dl).Value = CDbl(TextBox5.Value)
    If OptionButton1.Value = True Then
    .Range("G" & dl).Value = OptionButton1.Caption
    ElseIf OptionButton2.Value = True Then
    Range("G" & dl).Value = OptionButton2.Caption
    End If
End With

Unload Me
DebitRecurrent.Show
End Sub

Private Sub TextBox5_AfterUpdate()
On Error Resume Next
Me.TextBox5 = Replace(TextBox5, ".", ",")
Me.TextBox5 = Format(TextBox5.Value, "# ##0.00 €")
End Sub 

Et pour faire marcher le l'écheancier, j'ai injecté ça :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
 Dim dl%, ws As Worksheet
 On Error Resume Next
 If ActiveSheet.Name <> "Reccurent" Or ActiveSheet.Name <> "Récapitulatif Mensuel" Or ActiveSheet.Name <> "Récapitulatif Mensuel" Or ActiveSheet.Name <> "Explication" Or ActiveSheet.Name <> "Accueil" Then
  dl = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
     ActiveSheet.Range(Cells(13, 2), Cells(dl, 10)).Select
     ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
     ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("B13"), _
         SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
         xlSortTextAsNumbers
     With ActiveWorkbook.ActiveSheet.Sort
         .SetRange Range(Cells(13, 2), Cells(dl, 10))
         .Header = xlNo
         .Orientation = xlTopToBottom
         .Apply
     End With
End If
    Range("B13").Select
End Sub

J'ai écrit qu'avec la première date de prélèvement, or on me demande de mettre aussi une date de fin, je ne vois pas comment intégrer cette condition...

Est - ce que vous pouvez m'aider s'il vous plaît?

Cordialement

Praveena

Bonsoir,

sans fichier impossible de voir ce que vous faites...
Dans le premier code vous mettez "à la vue" les valeurs du USF dans la feuille Reccurent.
Dans le deuxième code vous faites à priori un filtre sur une feuille différente de Reccurent...

Le lien entre les deux ?

Petite simplification qui est peut-être possible :

If ActiveSheet.Name <> "Reccurent" Or ActiveSheet.Name <> "Récapitulatif Mensuel" Or ActiveSheet.Name <> "Récapitulatif Mensuel" Or ActiveSheet.Name <> "Explication" Or ActiveSheet.Name <> "Accueil" Then

à remplacer par :

If ActiveSheet.Index > 5 Then

dans le cas où toutes les feuilles énumérées seraient à gauche du classeur...

@ bientôt

LouReeD

Bonsoir,

Désolé, le fichier ne s'est pas joint...

Merci pour le code pour filtrer la première colonne du tableau

Cordialement,

Praveena

Bonsoir,
Pour info, multiposte
Cdlt.

Bonsoir Jean - Eric,

Il y a un post qui existe déjà avec la solution?

Cordialement

Merci Jean-Éric

Pour info ça fait longtemps que je ne vais plus sur les autres...

Je crois même que je n'ai pas participé à d'autre forums que ceux présent ici, alors... Peu mimporte. Merci.

Si le fichier ne s'est pas joint peut-être est-il trop lourd...

@ bientôt

LouReeD

Rechercher des sujets similaires à "ajouter date fin debit credit recurrent via vba"