Généraliser DateDiff

  • Initiateur de la discussion Initiateur de la discussion Oscurio
  • Date de début Date de début

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 !

Oscurio

XLDnaute Nouveau
Bonjour à tous,

Je débute dans les macros, et j'ai un soucis, j'en ai écrit une pour calculer la différence entre la date de contrat et la date d'aujourd'hui, avec pour csq que si l'écart est inférieur à 6 mois, excel inscrive ("renégotiation") dans une cellule à côté...

mon problème est simplement que je ne sais pas comment faire pour généraliser cette macro à toute une colonne...

Merci d'avance
 

Pièces jointes

Re : Généraliser DateDiff

Bonjour Oscurio, tototiti2008,

voici une autre solution par macro :
VB:
Sub Macro4()
'
' Macro4 Macro
' Macro enregistrée le 29/06/2010 par SY2027
'
'déclaration des variables
Dim derLigne As Long, iLigne As Long

    With ThisWorkbook.Sheets("Feuil1")
        'calculer le numéro de la dernière ligne contenant de l'information dans la colonne D
        derLigne = .Range("D" & .Rows.Count).End(xlUp).Row
        
        'boucler sur toutes les lignes à traiter (de 2 à derLigne)
        For iLigne = 2 To derLigne
            'effectuer le test et écrire "Renégotiation" en fonction du résultat
            If DateDiff("m", .Range("D" & iLigne), Date) < 6 Then .Range("E" & iLigne).Value = "Renégotiation"
        Next iLigne
    End With
End Sub
a+
 
Dernière édition:
Re : Généraliser DateDiff

Bonjour

Autre code

Code:
Sub Macro4()
Dim c As Range
For Each c In Range("D2:D" & Range("D65536").End(xlUp).Row)
If DateDiff("m", c, Date) < 6 Then c.Offset(0, 1) = "Renégociation"
Next c
End Sub

Cordialement
 
Re : Généraliser DateDiff

Merci pour ces réponses rapides, je retient celle de mromain, ou chris, même si elles sont plus complexe mais simplement parce que je désire m'entrainer en macro^^.

Une autre question, comment faire pour qu'excel s'intéresse aux dates comprises entre 0 et 6 mois et non toutes les dates inférieures à 6 mois ( ce qui inclut les dâtes trés éloignées dans le futur) ?

Merci
 
Re : Généraliser DateDiff

Bonjour à tous,

Comment vous apprenez tout ceci, bouquin, cours ?

C'est assez variable, et ça dépend pas mal de ton niveau actuel en Excel

Si tu aimes apprendre par l'exemple, le forum est un bon endroit 😉

Pas mal d'entre nous ont surtout une longue utiisation d'Excel derrière eux, enrichies parfois par des cours et/ou par l'entraide sur le forum
 
Re : Généraliser DateDiff

Alors apparemment j'avais exulté trop vite, j'ai toujours le meme souci, les affaires antérieurs à la date du jour sont toujours considérées comme étant des "renégociations"... alros que j'aimerais que seules les affaires arrivant dans à terme dans les 6 prochains[/m] mois soit prises en compte

Je fais appel à vos connaissances, merci^^
 

Pièces jointes

- 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ésolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
238
Retour