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
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 338
Messages
2 087 402
Membres
103 536
dernier inscrit
komivi