Public DateEnCours, DateDebut, DateFin, DateDebutBanque, DateFinBanque, Sélection_dates, DateLueSource As String
Public erreur As Boolean
Public a, b As Range
Public LigneECSource, LigneECCible As Long
Public NbreDeLignesAEffacer, NbreDeLignesDansLaVersion, DerniereLigneOccuppee, rep, LigneDebutSource, LigneDebutCible, NbreDeLignesAInserer, L As Long
Sub ValidationDates()
rep = MsgBox("Votre banque vous propose l'importation de vos opérations entre le" & DateDebut & " et le " & DateFin & " Ces dates vous conviennent-elles ?", vbYesNo, Sélection_dates)
If rep = vbNo Then
erreur = True
While erreur
erreur = False
'Sheets("Feuil8").Activate
DateDebut = InputBox("Choisissez votre date de DEBUT importation au format jj/mm/aa entre le " & DateDebutBanque & " et le " & DateFinBanque)
' Range("C1") = "Choisissez votre date de DEBUT importation entre le " & DateDebutBanque & " et le " & DateFinBanque
' DateDebut = Range("B2")
If Int(CDate(DateDebut)) < Int(CDate(DateDebutBanque)) Or Int(CDate(DateDebut)) > Int(CDate(DateFinBanque)) Then
erreur = True
End If
Wend
erreur = True
While erreur
erreur = False
' Sheets("Feuil9").Activate
DateFin = InputBox("Choisissez votre date de FIN importation au format jj/mm/aa entre le " & DateDebut & " et le " & DateFinBanque)
' Range("C1") = "Choisissez votre date de FIN importation entre le " & DateDebut & " et le " & DateFinBanque
' DateFin = Range("B2")
If Int(CDate(DateFin)) < Int(CDate(DateDebutBanque)) Or Int(CDate(DateFin)) > Int(CDate(DateFinBanque)) Or Int(CDate(DateFin)) < Int(CDate(DateDebut)) Then
erreur = True
End If
Wend
End If
If rep = vbYes Then
Exit Sub
' en développement
End If
End Sub
Sub ComptageNbreDeLignesAInserer()
Workbooks.Open Filename:="C:\Users\Utilisateur\Desktop\Banque.xlsx"
Dim DateLueSource As Date, LigneEnCours%, NbreDeLignesAInserer%
For LigneEnCours = 3 To 100
DateLueSource = Range("A" & LigneEnCours).Value
If DateLueSource >= DateDebut And DateLueSource <= DateFin Then
NbreDeLignesAInserer = NbreDeLignesAInserer + 1
End If
Next LigneEnCours
End Sub
'Sub Test_ComptageLignes()
' ComptageLignes #12/12/2020#
'End Sub
'Private Sub ComptageLignes(vDate As Date)
' Workbooks.Open Filename:="C:\Users\Utilisateur\Desktop\Banque.xlsx"
' MsgBox Application.CountIf(Range("A:A"), vDate)
'End Sub
Sub EffacerLignes()
NbreLignesEffacees = 0
While NbreLignesEffacees <> NbreLignesAEffacer
Call SupprimerUneLigne
NbreLignesEffacees = NbreLignesEffacees + 1
Wend
End Sub
Sub SupprimerUneLigne()
Range("I6") = Range("I6") - Range("B7") + Range("C7")
Range("A7:H7").ClearContents
Call classer_lignes
End Sub
Sub Prélevement_auto()
Call classer_lignes
Sheets("SAISIE_COMPTES").Select
DerniereLigneOccupee = Range("O1007")
NombreDeLignesAEffacer = Range("P2") - (Range("Q2") - DerniereLigneOccupee)
If (NombreDeLignesAEffacer > 0) Then
For i = 7 To 7 + NombreDeLignesAEffacer - 1
SupprimerUneLigne
Next i
End If
Sheets("PRELEVEMENTS AUTO").Select
Range("A1:E" & Range("F25")).Copy
Sheets("SAISIE_COMPTES").Select
Range("A7").End(xlDown).Offset(1, 0).Select
Set Dest = Selection
Dest.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End Sub
Sub classer_lignes()
Worksheets("SAISIE_COMPTES").Range("A7:H" & Range("Q3")).Sort Key1:=Range("A7"), Order1:=xlAscending, dataoption1:=xlSortNormal, Header:=xlNo
End Sub
Sub ComptageNbreDeLignesAEffacer()
NbreDeLignesDansLaVersion = Workbooks("essai.xlsm").Worksheets("SAISIE_COMPTES").Range("Q2").Value
DerniereLigneOccuppee = Workbooks("essai.xlsm").Worksheets("SAISIE_COMPTES").Range("O1007").Value
NbreDeLignesAEffacer = NbreDeLignesAInserer - (NbreDeLignesDansLaVersion - DerniereLigneOccuppee)
End Sub
Sub ImporterCompteBancaire()
Workbooks.Open Filename:="C:\Users\Utilisateur\Desktop\Banque.xlsx"
'ActiveWorkbook.SaveAs Filename:="C:\Users\Utilisateur\Desktop\Banque.xlsx"
DateDebutBanque = Workbooks("Banque.xlsx").Worksheets("Banque").Range("B1").Value
DateFinBanque = Workbooks("Banque.xlsx").Worksheets("Banque").Range("C1").Value
SélectionDates = "Sélection_dates"
DateDebut = DateDebutBanque
DateFin = DateFinBanque
Call ValidationDates
Call ComptageNbreDeLignesAInserer
Call ComptageNbreDeLignesAEffacer
Call EffacerLignes
LigneECCible = Workbooks("essai.xlsm").Sheets("SAISIE_COMPTES").Range("O1007").Value + 1
LigneECSource = 3
Call ImporterLignes
'Workbooks.Close Filename:="C:\Users\Utilisateur\Desktop\Banque.csv"
'Workbooks.Close Filename:="C:\Users\Utilisateur\Desktop\Banque.xlsx"
End Sub
Sub ImporterLignes()
DateLue = Workbooks("Banque.xlsx").Sheets("Banque").Range("A" & LigneECSource).Value
While (Int(CDate(DateFin)) >= Int(CDate(DateLue)) >= Int(CDate(DateDebut)))
Range("A" & LigneECCible) = Range("A" & LigneECSource) 'Importation date
Range("F" & LigneECCible) = Range("B" & LigneECSource) 'Importation libellés
If Workbooks("Banque.xlsx").Worksheets("Banque").Range("C" & LigneECSource).Value >= 0 Then
Workbooks("essai.xlsm").Worksheets("Banque").Range("C" & LigneECCible).Value = Workbooks("Banque.xlsx").Worksheets("Banque").Range("C" & LigneECSource).Value
Else
Workbooks("essai.xlsm").Worksheets("Banque").Range("B" & LigneECCible).Value = -Workbooks("Banque.xlsx").Worksheets("Banque").Range("C" & LigneECSource).Value
End If
LigneECSource = LigneECSource + 1
LigneECCible = LigneECCible + 1
DateLue = Workbooks("Banque.xlsx").Worksheets("Banque").Range("A" & LigneECSource).Value
Wend
End Sub