[Excel 2016] Calcul date avec condition en fonction de l'unité de temps
Résolu
mwasikitoko
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
mwasikitoko Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
mwasikitoko Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour Tous,
Parfois, ce n'est pas évident de synthétiser son problème en quelques mots dans un titre...ni même de l''expliquer avec plusieurs mots. Je vais essayer
Je joins le fichier https://www.cjoint.com/c/JEdrcdSMxje
sur lequel je voudrais faire un calcul de date de la manière suivante :
Col. A : Date signature Accord (format Date)
Col. B : Durée validité Accord (en mois ou en années) (format texte)
Donc je renseigne dans ma cellule, soit "x ans" soit "y mois", avec x et y des chiffres
Col. D : Durée expiration Accord (format Date)
Col. D = Col. A + Col.B
Comme en col. B, ce n'est pas un format nombre, mais un format texte, j'ai donc triché en insérant la Col.C. : Durée validité Accord (en années) (format nombre)
Donc, si en Bn j'ai "x ans", en Cn j'écris "x"
si en Bn j'ai "y mois", en Cn j'écris "x"
La formule à utiliser serait donc
J'aimerais éviter l'étape col. C en faisant directement le calcul avec les col.A et B.
Je pense avoir trouvé la logique de ma démarche. Il faut poser une condition sur la valeur de la colonne B.
Si je trouve "Ans" en col. B, alors le calcul se fait avec les 2 premiers caractères de la chaîne de caractères, si je trouve "Mois", alors le calcul se fait avec les 2 premiers caractères de la chaîne de caractères divisés par 12
mais je n'arrive pas à la mettre en formule mais j'ai essayé ceci
Un message d'erreur "vous avez entré un nombre trop important d'argument pour cette fonction"
J'ai fait au mieux pour être la plus claire possible et merci pour votre aide.
Mwasikitoko
Parfois, ce n'est pas évident de synthétiser son problème en quelques mots dans un titre...ni même de l''expliquer avec plusieurs mots. Je vais essayer
Je joins le fichier https://www.cjoint.com/c/JEdrcdSMxje
sur lequel je voudrais faire un calcul de date de la manière suivante :
Col. A : Date signature Accord (format Date)
Col. B : Durée validité Accord (en mois ou en années) (format texte)
Donc je renseigne dans ma cellule, soit "x ans" soit "y mois", avec x et y des chiffres
Col. D : Durée expiration Accord (format Date)
Col. D = Col. A + Col.B
Comme en col. B, ce n'est pas un format nombre, mais un format texte, j'ai donc triché en insérant la Col.C. : Durée validité Accord (en années) (format nombre)
Donc, si en Bn j'ai "x ans", en Cn j'écris "x"
si en Bn j'ai "y mois", en Cn j'écris "x"
La formule à utiliser serait donc
Col.D = DATE(ANNEE(col.A)+col.C;MOIS(A);JOUR(A))
J'aimerais éviter l'étape col. C en faisant directement le calcul avec les col.A et B.
Je pense avoir trouvé la logique de ma démarche. Il faut poser une condition sur la valeur de la colonne B.
Si je trouve "Ans" en col. B, alors le calcul se fait avec les 2 premiers caractères de la chaîne de caractères, si je trouve "Mois", alors le calcul se fait avec les 2 premiers caractères de la chaîne de caractères divisés par 12
mais je n'arrive pas à la mettre en formule mais j'ai essayé ceci
=SI(TROUVE("ans";$B2;);GAUCHE($B2;2);gauche($B2);2)/12)
Un message d'erreur "vous avez entré un nombre trop important d'argument pour cette fonction"
J'ai fait au mieux pour être la plus claire possible et merci pour votre aide.
Mwasikitoko
Configuration: Windows / Chrome 81.0.4044.129
A voir également:
- [Excel 2016] Calcul date avec condition en fonction de l'unité de temps
- Excel cellule couleur si condition texte - Guide
- Fonction si et excel - Guide
- Calcul moyenne excel - Guide
- Liste déroulante excel - Guide
- Nombre de jours entre deux dates excel - Guide
4 réponses
Bonsoir
A tester en D2
GAUCHE(B2;NBCAR(B2)-4) récupère le années
(GAUCHE(B2;NBCAR(B2)-4))/12) récupère les mois
A tester en D2
=DATE(ANNEE($A2)+SI(DROITE(B2;3)="ans";GAUCHE(B2;NBCAR(B2)-4);(GAUCHE(B2;NBCAR(B2)-4))/12);MOIS($A2);JOUR($A2))
GAUCHE(B2;NBCAR(B2)-4) récupère le années
(GAUCHE(B2;NBCAR(B2)-4))/12) récupère les mois
DjiDji59430
Merci....c'est exactement ce que je voulais...
Waoo...j'y ai passé une aprem...
et là en un clin d'oeil...
Trop TOP
CDT
Mwasikitoko
Merci....c'est exactement ce que je voulais...
Waoo...j'y ai passé une aprem...
et là en un clin d'oeil...
Trop TOP
CDT
Mwasikitoko
Bonsoir
A tester en D2
=DATE(ANNEE($A2)+SI(DROITE(B2;3)="ans";GAUCHE(B2;NBCAR(B2)-4);(GAUCHE(B2;NBCAR(B2)-4))/12);MOIS($A2);JOUR($A2))
GAUCHE(B2;NBCAR(B2)-4) récupère le années
(GAUCHE(B2;NBCAR(B2)-4))/12) récupère les mois
Cela marche du tonnerre !!!!
J'apprécie en plus la pédagogie qui accompagne la solution...Top des Top
Mille Mercis
Mwasikitoko
A tester en D2
=DATE(ANNEE($A2)+SI(DROITE(B2;3)="ans";GAUCHE(B2;NBCAR(B2)-4);(GAUCHE(B2;NBCAR(B2)-4))/12);MOIS($A2);JOUR($A2))
GAUCHE(B2;NBCAR(B2)-4) récupère le années
(GAUCHE(B2;NBCAR(B2)-4))/12) récupère les mois
Cela marche du tonnerre !!!!
J'apprécie en plus la pédagogie qui accompagne la solution...Top des Top
Mille Mercis
Mwasikitoko