Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ajouter un délai à une date

bbobb

XLDnaute Occasionnel
Bonjour à tous,
Je dois faire un fichier pour planifier des visites d'entretiens avec la date du dernier passage, la date du futur passage en fonction d'un délai...
J'y suis presque sauf que mon résultat s'affiche au format mm/jj/aaaa

Je met un bout du fichier pour plus de clarté...

Merci d'avance pour votre aide

Bbobb
 

Pièces jointes

  • Classeur1.xls
    33.5 KB · Affichages: 75
  • Classeur1.xls
    33.5 KB · Affichages: 79
  • Classeur1.xls
    33.5 KB · Affichages: 71

R@chid

XLDnaute Barbatruc
Re : Ajouter un délai à une date

Re,
Salut JBARBE,
Malheureusement je ne sais pas faire des macros..
Une autre formule ,
Code:
=DATE(ANNEE(C3)+(B3="année")*A3;MOIS(C3)+(B3="mois")*A3;JOUR(C3)+(B3="jour")*A3)
@ + +
 

JBARBE

XLDnaute Barbatruc
Re : Ajouter un délai à une date

Pour année(s) supplémentaire(s) ou jour (s) supplémentaire (s) :

Code:
Sub essai()
Dim i As Long
For i = 3 To 65536
if cells(i, 2)="" then exit for
If Cells(i, 2) = "années" Then Cells(i, 4).FormulaR1C1 = DateSerial(Year(Cells(i, 3)) + Cells(i, 1), Month(Cells(i, 3)), Day(Cells(i, 3)))
If Cells(i, 2) = "jour" Then Cells(i, 4).FormulaR1C1 = DateSerial(Year(Cells(i, 3)), Month(Cells(i, 3)), Day(Cells(i, 3)) + Cells(i, 1))
Next i
End Sub

bonne journée
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Ajouter un délai à une date

Bonsour®
Re,
J'ai vraiment besoin d'une solution par macro.
Bbobb
procédure événementielle concernant les colonnes 1 à 3
à placer dans le module de feuille correspondant

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ligne As Integer
If Target.Column < 4 Then
ligne = Target.Row
If Cells(ligne, 3) <> "" Then
Select Case Cells(ligne, 2)
Case "jour"
Cells(ligne, 4) = Cells(ligne, 3) + Cells(ligne, 1)
Case "mois"
Cells(ligne, 4) = WorksheetFunction.EDate(Cells(ligne, 3), Cells(ligne, 1))
Case "année"
Cells(ligne, 4) = WorksheetFunction.EDate(Cells(ligne, 3), 12 * Cells(ligne, 1))
Case Else
End Select
Else
Cells(ligne, 4) = ""
End If
End If
End Sub
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…