Gestion des dates de CB différée dans cette application

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 !

Webperegrino

XLDnaute Accro
Supporter XLD
Bonjour,
J'ai essayé de réaliser une codification pour prise en compte des valeurs de CB différée à déplacer dans mon tableau lorsque la date du 28 du mois de la saisie est atteinte sur la ligne étudiée.

Je n'arrive pas à trouver la solution.

Dans l'exemple ci-annexé vous trouverez la codification suivante que je vous propose de corriger pour un fonctionnement satisfaisant.

Merci pour votre attention.

Webperegrino

Private Sub Workbook_Open()
Application.ScreenUpdating = False
Sheets("Compte").Select

' CI-APRÈS :
' comment faire une recherche en colonne 4 de ligne 8 à ligne 28
' pour ainsi transférer le montant de la cellule H en cellule F
' ou laisser F désactivée
' selon que la date de CB différée est atteinte ou pas, le 28 du mois saisi en cellule C ?
' Ici les lignes 13, 17 et 19 devraient se compléter ... et les cellules H correspondantes se vider


x = 8
Do While Sheets("Compte").Range("D" & x).Value <> ""
d = Sheets("Compte").Range("D" & x).Value
c = FIN.MOIS(d ; 0)-3 ' formule non acceptée sous VBA
If c < Date Then Sheets("Compte").Range("F" & x.Row).Value = Sheets("Compte").Range("H" & x.Row).Value
If c < Date Then Sheets("Compte").Range("H & x.Row).ClearContents
End If
x = x + 1
Loop
Application.ScreenUpdating = False

End Sub
 

Pièces jointes

Re : Gestion des dates de CB différée dans cette application

Bonsoir Webperegrino

Je ne pense pas avoir compris exactement le probléme,mais je fais parvenir un exemple de transfert de données entre col 8 et 4 en fonction de la date de fin de mois.

regarde et dis nous les modif eventuelles.

A+
 
Re : Gestion des dates de CB différée dans cette application

Bonsoir Le Forumn Néné06,
J'ai observé ta proposition et l'ai adaptée à mes besoins selon ceci :

- si cellule D est seulement "CB différée" et que
cellule H n'est pas déjà vidée car transférée en cellule F et que
Fin de mois de Cellule C < Date
ALORS
Cellule F prend la valeur de cellule H et par la même occasion cellule H sera ensuite vidée
puis on passe pour observer la ligne 'CB Différée' suivante
entre la ligne 8 et la ligne 28 pour notre exemple (sinon l'apllication tourne en rond)

J'ai trouvé ceci mais ça bloque sur Next ' (Next sans For alors qu'il y a bien un FOR)

As-tu une solution ? Voici le code que j'ai complété.
Merci pour ton attention
Webperegrino


Private Sub Workbook_Open()
Dim c As Date
Application.ScreenUpdating = False
Sheets("Compte").Select
For x = 8 To 28
Do While Cells(x, 3).Value <> ""
If Cells(x, 3).Value = "CB Différée" And Cells(x, 8).Value <> "" Then
c = DateSerial(Year(Cells(x, 3).Value), Month(Cells(x, 3).Value) + 1, 0) 'c=dernier jour du mois
If c < Date Then
Cells(x, 6).Value = Cells(x, 8).Value 'ecrit en col 6 la cellule col 8
Cells(x, 8).Value = ""
Next
'x = x + 1
End If
End If

Loop
End Sub
 

Pièces jointes

Re : Gestion des dates de CB différée dans cette application

Bonjour Le Forum,
Bonjour Néné06,

Je n'avais pas vu ta dernière proposition de rectification.

Je men suis inspiré pour arriver à ce que je désirais : ne pas avoir à créer la colonne 13, faire le transfert de la cellule 8 vers la cellule 6 et libérer la cellule 8 à la date d'échéance atteinte.

Tout fonctionne maintenant avec ta formule de calcul de date fin de mois en VBA, directement à partir du contenu en cellule n° 3.

Merci à toi et au Forum toujours excellent ( et excel-rapide !).

Ci-joint la rectification pour ceux qui seraient intéressés.

Il me reste toutefois à éliminer la colonne intermédiaire 12 pour alléger mon fichier :
- quelle formule mettre en C5 pour trouver le bon résultat non plus à partir d'une colonne 12 mais du contenu de la colonne 8 : obtenir le sous-total des CB Différée non arrivées à échéance.

Si quelqu'un a une solution qui fonctionne ... car avec SOMMEPROD ça donne # VALEUR !

Bonne journée.

Webperegrino
 

Pièces jointes

Re : Gestion des dates de CB différée dans cette application

Bonjour le Forum,Webperegrino
le -3 de la fin de formule indique le nb de jours avant la fin du mois (pour info)
c = DateSerial(Year(Cells(x, 3).Value), Month(Cells(x, 3).Value) + 1, -3)

A+
 
Re : Gestion des dates de CB différée dans cette application

Le Forum,
Néné06,

C'est parfait !
C'est excellent !

J'ai posé tes derniers codes dans le vrai fichier de 35 Mo.
La macro fonctionne à merveille, la mise à jour des CB différées se fait maintenant automatiquement à trois jours avant la fin de chaque mois (à l'arrivée des traitements-salaires).

Encore un grand merci.
Bien cordialement,
Webperegrino
 
- 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
2
Affichages
407
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
10
Affichages
1 K
Réponses
1
Affichages
468
Réponses
1
Affichages
666
Réponses
5
Affichages
744
Retour