Bonjour,
Depuis quelques jours, je vous ennuie avec ma macro. Il y a encore un souci.
Je vous explique :C'est un fichier où je gère mes comptes personnels. J'ai
une feuille Echéancier avec des écritures qui sont saisies et quand la date
de la prochaine échéance arrive, la macro bascule automatiquement vers la
feuille compte courant.
Si j'ai une seule écriture à balancer pas de problème, par contre si j'ai
deux écritures, seule la dernière est inscrite sur ma feuille compte
courant.
Je vous joins la macro en question :
Sub Maj_Echeancier()
Application.EnableEvents = False
'compteur = 0
Dim Phrase As String
Phrase = ""
m = 4 'Ligne à partir de laquelle il faut balayer les dates
derlg = Feuil1.[a65536].End(3).Row + 1
Do While Cells(m, 4) <> "" 'Boucle sur les prochaines échéances
Cells(m, 12) = Cells(m, 4)
If Cells(m, 4) <= Date + 3 Then
If Cells(m, 5) <> 0 Then
If Cells(m, 5) <> 99 Then Cells(m, 5) = Cells(m, 5) - 1 'Si le Nb d
'échéance est <> de 99 on décrémente de 1
With Worksheets("Echéancier")
Cells(m, 1) = Cells(m, 4) 'Mise à jour de la date de l'opération
dans l'échéancier
'.Cells(m, 1).Copy Worksheets("Compte Courant").Cells(derlg, 1)
'Date
.Cells(m, 12).Copy Worksheets("Compte Courant").Cells(derlg, 1)
'Date
'.Cells(m, 4) = Worksheets("Compte Courant").Cells(derlg, 1) 'Date
.Cells(m, 6).Copy Worksheets("Compte Courant").Cells(derlg, 2) 'Type
.Cells(m, 7).Copy Worksheets("Compte Courant").Cells(derlg, 4)
'Tiers
.Cells(m, 8).Copy Worksheets("Compte Courant").Cells(derlg, 5)
'Catégorie
.Cells(m, 9).Copy Worksheets("Compte Courant").Cells(derlg, 6)
'Libellé
.Cells(m, 10).Copy Worksheets("Compte Courant").Cells(derlg, 7)
'Débit
.Cells(m, 11).Copy Worksheets("Compte Courant").Cells(derlg, 8)
'Crédit
compteur = compteur + 1
End With
End If
End If
m = m + 1
Loop
'If compteur = 1 Then
' Phrase = "1 nouvelle écriture !"
'Else
' Phrase = compteur & " nouvelles écritures !"
'End If
'If compteur <> 0 Then MsgBox Phrase, vbOKOnly, "Echéancier"
End Sub
Je suis un eternel débutant et je compte sur vous pour votre compréhension.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonsoir. Un peu au hasard, ajoute pour chaque recopie : derlg = derlg + 1 Cordialement. Daniel
Bonjour, Depuis quelques jours, je vous ennuie avec ma macro. Il y a encore un souci. Je vous explique :C'est un fichier où je gère mes comptes personnels. J'ai une feuille Echéancier avec des écritures qui sont saisies et quand la date de la prochaine échéance arrive, la macro bascule automatiquement vers la feuille compte courant. Si j'ai une seule écriture à balancer pas de problème, par contre si j'ai deux écritures, seule la dernière est inscrite sur ma feuille compte courant.
Je vous joins la macro en question :
Sub Maj_Echeancier() Application.EnableEvents = False 'compteur = 0 Dim Phrase As String Phrase = "" m = 4 'Ligne à partir de laquelle il faut balayer les dates derlg = Feuil1.[a65536].End(3).Row + 1 Do While Cells(m, 4) <> "" 'Boucle sur les prochaines échéances Cells(m, 12) = Cells(m, 4) If Cells(m, 4) <= Date + 3 Then If Cells(m, 5) <> 0 Then If Cells(m, 5) <> 99 Then Cells(m, 5) = Cells(m, 5) - 1 'Si le Nb d 'échéance est <> de 99 on décrémente de 1 With Worksheets("Echéancier") Cells(m, 1) = Cells(m, 4) 'Mise à jour de la date de l'opération dans l'échéancier '.Cells(m, 1).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date .Cells(m, 12).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date '.Cells(m, 4) = Worksheets("Compte Courant").Cells(derlg, 1) 'Date .Cells(m, 6).Copy Worksheets("Compte Courant").Cells(derlg, 2) 'Type .Cells(m, 7).Copy Worksheets("Compte Courant").Cells(derlg, 4) 'Tiers .Cells(m, 8).Copy Worksheets("Compte Courant").Cells(derlg, 5) 'Catégorie .Cells(m, 9).Copy Worksheets("Compte Courant").Cells(derlg, 6) 'Libellé .Cells(m, 10).Copy Worksheets("Compte Courant").Cells(derlg, 7) 'Débit .Cells(m, 11).Copy Worksheets("Compte Courant").Cells(derlg, 8) 'Crédit compteur = compteur + 1 End With End If End If m = m + 1 Loop 'If compteur = 1 Then ' Phrase = "1 nouvelle écriture !" 'Else ' Phrase = compteur & " nouvelles écritures !" 'End If 'If compteur <> 0 Then MsgBox Phrase, vbOKOnly, "Echéancier" End Sub
Je suis un eternel débutant et je compte sur vous pour votre compréhension.
Un grand merci à vous par avance pour votre aide.
Bonne soirée.
Philippe
Bonsoir.
Un peu au hasard, ajoute pour chaque recopie :
derlg = derlg + 1
Cordialement.
Daniel
Bonjour,
Depuis quelques jours, je vous ennuie avec ma macro. Il y a encore un souci.
Je vous explique :C'est un fichier où je gère mes comptes personnels. J'ai
une feuille Echéancier avec des écritures qui sont saisies et quand la date
de la prochaine échéance arrive, la macro bascule automatiquement vers la
feuille compte courant.
Si j'ai une seule écriture à balancer pas de problème, par contre si j'ai
deux écritures, seule la dernière est inscrite sur ma feuille compte courant.
Je vous joins la macro en question :
Sub Maj_Echeancier()
Application.EnableEvents = False
'compteur = 0
Dim Phrase As String
Phrase = ""
m = 4 'Ligne à partir de laquelle il faut balayer les dates
derlg = Feuil1.[a65536].End(3).Row + 1
Do While Cells(m, 4) <> "" 'Boucle sur les prochaines échéances
Cells(m, 12) = Cells(m, 4)
If Cells(m, 4) <= Date + 3 Then
If Cells(m, 5) <> 0 Then
If Cells(m, 5) <> 99 Then Cells(m, 5) = Cells(m, 5) - 1 'Si le Nb d
'échéance est <> de 99 on décrémente de 1
With Worksheets("Echéancier")
Cells(m, 1) = Cells(m, 4) 'Mise à jour de la date de l'opération dans
l'échéancier
'.Cells(m, 1).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date
.Cells(m, 12).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date
'.Cells(m, 4) = Worksheets("Compte Courant").Cells(derlg, 1) 'Date
.Cells(m, 6).Copy Worksheets("Compte Courant").Cells(derlg, 2) 'Type
.Cells(m, 7).Copy Worksheets("Compte Courant").Cells(derlg, 4) 'Tiers
.Cells(m, 8).Copy Worksheets("Compte Courant").Cells(derlg, 5)
'Catégorie
.Cells(m, 9).Copy Worksheets("Compte Courant").Cells(derlg, 6)
'Libellé
.Cells(m, 10).Copy Worksheets("Compte Courant").Cells(derlg, 7)
'Débit
.Cells(m, 11).Copy Worksheets("Compte Courant").Cells(derlg, 8)
'Crédit
compteur = compteur + 1
End With
End If
End If
m = m + 1
Loop
'If compteur = 1 Then
' Phrase = "1 nouvelle écriture !"
'Else
' Phrase = compteur & " nouvelles écritures !"
'End If
'If compteur <> 0 Then MsgBox Phrase, vbOKOnly, "Echéancier"
End Sub
Je suis un eternel débutant et je compte sur vous pour votre compréhension.
Bonsoir. Un peu au hasard, ajoute pour chaque recopie : derlg = derlg + 1 Cordialement. Daniel
Bonjour, Depuis quelques jours, je vous ennuie avec ma macro. Il y a encore un souci. Je vous explique :C'est un fichier où je gère mes comptes personnels. J'ai une feuille Echéancier avec des écritures qui sont saisies et quand la date de la prochaine échéance arrive, la macro bascule automatiquement vers la feuille compte courant. Si j'ai une seule écriture à balancer pas de problème, par contre si j'ai deux écritures, seule la dernière est inscrite sur ma feuille compte courant.
Je vous joins la macro en question :
Sub Maj_Echeancier() Application.EnableEvents = False 'compteur = 0 Dim Phrase As String Phrase = "" m = 4 'Ligne à partir de laquelle il faut balayer les dates derlg = Feuil1.[a65536].End(3).Row + 1 Do While Cells(m, 4) <> "" 'Boucle sur les prochaines échéances Cells(m, 12) = Cells(m, 4) If Cells(m, 4) <= Date + 3 Then If Cells(m, 5) <> 0 Then If Cells(m, 5) <> 99 Then Cells(m, 5) = Cells(m, 5) - 1 'Si le Nb d 'échéance est <> de 99 on décrémente de 1 With Worksheets("Echéancier") Cells(m, 1) = Cells(m, 4) 'Mise à jour de la date de l'opération dans l'échéancier '.Cells(m, 1).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date .Cells(m, 12).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date '.Cells(m, 4) = Worksheets("Compte Courant").Cells(derlg, 1) 'Date .Cells(m, 6).Copy Worksheets("Compte Courant").Cells(derlg, 2) 'Type .Cells(m, 7).Copy Worksheets("Compte Courant").Cells(derlg, 4) 'Tiers .Cells(m, 8).Copy Worksheets("Compte Courant").Cells(derlg, 5) 'Catégorie .Cells(m, 9).Copy Worksheets("Compte Courant").Cells(derlg, 6) 'Libellé .Cells(m, 10).Copy Worksheets("Compte Courant").Cells(derlg, 7) 'Débit .Cells(m, 11).Copy Worksheets("Compte Courant").Cells(derlg, 8) 'Crédit compteur = compteur + 1 End With End If End If m = m + 1 Loop 'If compteur = 1 Then ' Phrase = "1 nouvelle écriture !" 'Else ' Phrase = compteur & " nouvelles écritures !" 'End If 'If compteur <> 0 Then MsgBox Phrase, vbOKOnly, "Echéancier" End Sub
Je suis un eternel débutant et je compte sur vous pour votre compréhension.
Un grand merci à vous par avance pour votre aide.
Bonne soirée.
Philippe
Calou
Bonjour Daniel, On dit que le hasard fait bien les choses... Mille fois merci. Il y a parfois des évidences qui nous echappe ! Bonne journée. Philippe "Daniel.C" a écrit dans le message de news:
Bonsoir. Un peu au hasard, ajoute pour chaque recopie : derlg = derlg + 1 Cordialement. Daniel
Bonjour, Depuis quelques jours, je vous ennuie avec ma macro. Il y a encore un souci. Je vous explique :C'est un fichier où je gère mes comptes personnels. J'ai une feuille Echéancier avec des écritures qui sont saisies et quand la date de la prochaine échéance arrive, la macro bascule automatiquement vers la feuille compte courant. Si j'ai une seule écriture à balancer pas de problème, par contre si j'ai deux écritures, seule la dernière est inscrite sur ma feuille compte courant.
Je vous joins la macro en question :
Sub Maj_Echeancier() Application.EnableEvents = False 'compteur = 0 Dim Phrase As String Phrase = "" m = 4 'Ligne à partir de laquelle il faut balayer les dates derlg = Feuil1.[a65536].End(3).Row + 1 Do While Cells(m, 4) <> "" 'Boucle sur les prochaines échéances Cells(m, 12) = Cells(m, 4) If Cells(m, 4) <= Date + 3 Then If Cells(m, 5) <> 0 Then If Cells(m, 5) <> 99 Then Cells(m, 5) = Cells(m, 5) - 1 'Si le Nb d 'échéance est <> de 99 on décrémente de 1 With Worksheets("Echéancier") Cells(m, 1) = Cells(m, 4) 'Mise à jour de la date de l'opération dans l'échéancier '.Cells(m, 1).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date .Cells(m, 12).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date '.Cells(m, 4) = Worksheets("Compte Courant").Cells(derlg, 1) 'Date .Cells(m, 6).Copy Worksheets("Compte Courant").Cells(derlg, 2) 'Type .Cells(m, 7).Copy Worksheets("Compte Courant").Cells(derlg, 4) 'Tiers .Cells(m, 8).Copy Worksheets("Compte Courant").Cells(derlg, 5) 'Catégorie .Cells(m, 9).Copy Worksheets("Compte Courant").Cells(derlg, 6) 'Libellé .Cells(m, 10).Copy Worksheets("Compte Courant").Cells(derlg, 7) 'Débit .Cells(m, 11).Copy Worksheets("Compte Courant").Cells(derlg, 8) 'Crédit compteur = compteur + 1 End With End If End If m = m + 1 Loop 'If compteur = 1 Then ' Phrase = "1 nouvelle écriture !" 'Else ' Phrase = compteur & " nouvelles écritures !" 'End If 'If compteur <> 0 Then MsgBox Phrase, vbOKOnly, "Echéancier" End Sub
Je suis un eternel débutant et je compte sur vous pour votre compréhension.
Un grand merci à vous par avance pour votre aide.
Bonne soirée.
Philippe
Bonjour Daniel,
On dit que le hasard fait bien les choses...
Mille fois merci.
Il y a parfois des évidences qui nous echappe !
Bonne journée.
Philippe
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
O3dRw0gvJHA.5684@TK2MSFTNGP03.phx.gbl...
Bonsoir.
Un peu au hasard, ajoute pour chaque recopie :
derlg = derlg + 1
Cordialement.
Daniel
Bonjour,
Depuis quelques jours, je vous ennuie avec ma macro. Il y a encore un
souci. Je vous explique :C'est un fichier où je gère mes comptes
personnels. J'ai une feuille Echéancier avec des écritures qui sont
saisies et quand la date de la prochaine échéance arrive, la macro
bascule automatiquement vers la feuille compte courant.
Si j'ai une seule écriture à balancer pas de problème, par contre si j'ai
deux écritures, seule la dernière est inscrite sur ma feuille compte
courant.
Je vous joins la macro en question :
Sub Maj_Echeancier()
Application.EnableEvents = False
'compteur = 0
Dim Phrase As String
Phrase = ""
m = 4 'Ligne à partir de laquelle il faut balayer les dates
derlg = Feuil1.[a65536].End(3).Row + 1
Do While Cells(m, 4) <> "" 'Boucle sur les prochaines échéances
Cells(m, 12) = Cells(m, 4)
If Cells(m, 4) <= Date + 3 Then
If Cells(m, 5) <> 0 Then
If Cells(m, 5) <> 99 Then Cells(m, 5) = Cells(m, 5) - 1 'Si le Nb
d 'échéance est <> de 99 on décrémente de 1
With Worksheets("Echéancier")
Cells(m, 1) = Cells(m, 4) 'Mise à jour de la date de l'opération
dans l'échéancier
'.Cells(m, 1).Copy Worksheets("Compte Courant").Cells(derlg, 1)
'Date
.Cells(m, 12).Copy Worksheets("Compte Courant").Cells(derlg, 1)
'Date
'.Cells(m, 4) = Worksheets("Compte Courant").Cells(derlg, 1)
'Date
.Cells(m, 6).Copy Worksheets("Compte Courant").Cells(derlg, 2)
'Type
.Cells(m, 7).Copy Worksheets("Compte Courant").Cells(derlg, 4)
'Tiers
.Cells(m, 8).Copy Worksheets("Compte Courant").Cells(derlg, 5)
'Catégorie
.Cells(m, 9).Copy Worksheets("Compte Courant").Cells(derlg, 6)
'Libellé
.Cells(m, 10).Copy Worksheets("Compte Courant").Cells(derlg, 7)
'Débit
.Cells(m, 11).Copy Worksheets("Compte Courant").Cells(derlg, 8)
'Crédit
compteur = compteur + 1
End With
End If
End If
m = m + 1
Loop
'If compteur = 1 Then
' Phrase = "1 nouvelle écriture !"
'Else
' Phrase = compteur & " nouvelles écritures !"
'End If
'If compteur <> 0 Then MsgBox Phrase, vbOKOnly, "Echéancier"
End Sub
Je suis un eternel débutant et je compte sur vous pour votre
compréhension.
Bonjour Daniel, On dit que le hasard fait bien les choses... Mille fois merci. Il y a parfois des évidences qui nous echappe ! Bonne journée. Philippe "Daniel.C" a écrit dans le message de news:
Bonsoir. Un peu au hasard, ajoute pour chaque recopie : derlg = derlg + 1 Cordialement. Daniel
Bonjour, Depuis quelques jours, je vous ennuie avec ma macro. Il y a encore un souci. Je vous explique :C'est un fichier où je gère mes comptes personnels. J'ai une feuille Echéancier avec des écritures qui sont saisies et quand la date de la prochaine échéance arrive, la macro bascule automatiquement vers la feuille compte courant. Si j'ai une seule écriture à balancer pas de problème, par contre si j'ai deux écritures, seule la dernière est inscrite sur ma feuille compte courant.
Je vous joins la macro en question :
Sub Maj_Echeancier() Application.EnableEvents = False 'compteur = 0 Dim Phrase As String Phrase = "" m = 4 'Ligne à partir de laquelle il faut balayer les dates derlg = Feuil1.[a65536].End(3).Row + 1 Do While Cells(m, 4) <> "" 'Boucle sur les prochaines échéances Cells(m, 12) = Cells(m, 4) If Cells(m, 4) <= Date + 3 Then If Cells(m, 5) <> 0 Then If Cells(m, 5) <> 99 Then Cells(m, 5) = Cells(m, 5) - 1 'Si le Nb d 'échéance est <> de 99 on décrémente de 1 With Worksheets("Echéancier") Cells(m, 1) = Cells(m, 4) 'Mise à jour de la date de l'opération dans l'échéancier '.Cells(m, 1).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date .Cells(m, 12).Copy Worksheets("Compte Courant").Cells(derlg, 1) 'Date '.Cells(m, 4) = Worksheets("Compte Courant").Cells(derlg, 1) 'Date .Cells(m, 6).Copy Worksheets("Compte Courant").Cells(derlg, 2) 'Type .Cells(m, 7).Copy Worksheets("Compte Courant").Cells(derlg, 4) 'Tiers .Cells(m, 8).Copy Worksheets("Compte Courant").Cells(derlg, 5) 'Catégorie .Cells(m, 9).Copy Worksheets("Compte Courant").Cells(derlg, 6) 'Libellé .Cells(m, 10).Copy Worksheets("Compte Courant").Cells(derlg, 7) 'Débit .Cells(m, 11).Copy Worksheets("Compte Courant").Cells(derlg, 8) 'Crédit compteur = compteur + 1 End With End If End If m = m + 1 Loop 'If compteur = 1 Then ' Phrase = "1 nouvelle écriture !" 'Else ' Phrase = compteur & " nouvelles écritures !" 'End If 'If compteur <> 0 Then MsgBox Phrase, vbOKOnly, "Echéancier" End Sub
Je suis un eternel débutant et je compte sur vous pour votre compréhension.