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

Ajouter un délai à une date

  • Initiateur de la discussion Initiateur de la discussion bbobb
  • 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 !

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

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)
@ + +
 
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:
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
 
- 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

  • Question Question
Microsoft 365 erreur de date
Réponses
2
Affichages
589
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…