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

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
 

Statistiques des forums

Discussions
312 339
Messages
2 087 407
Membres
103 539
dernier inscrit
RAPH2012