Calculer directement la somme des différences entre 2 dates

Bonjour,

Je cherche à calculer dans RECAP (C2 et E2) la somme de [D2:D13] des onglets mois. Le souci c’est que la colonne D (qui calcule la différence entre les dates) n’existera pas dans les onglets mois. Je ne souhaite pas la masquer. Le calcul se fera directement dans RECAP à partir des colonnes B & C des mois.

J’ai essayé avec DECALER et EQUIV mais je n’y suis pas

Est-ce quelqu’un pourrait m’aider à y voir clair SVP ?

Je vous remercie.

13samo-forum2.xlsx (17.30 Ko)

Bonjour,

Y a t-il une raison particulière pour laquelle vous fusionnez les cellules de la feuille "RECAP"? Si pas de raison particulière, alors ceci:

Cdlt

Bonjour Arturo83,

Un grand MERCI. Je suis impressionné par la rapidité avec laquelle vous avez pondu la formule ! Encore Merci.

Non la fusion est une mauvaise idée. J'ai aligné les données sur 2 colonnes car plus loin nous aurons besoin pour chaque mois de saisir 2 variables (Nombre et Montant). Je peux aisément adapter les formules pour chaque mois en prenant en compte les doubles colonnes.

Par contre, existerait-il un moyen d'empêcher des erreurs (liées nativement à Excel ==> 01/01/1900) dans les résultats lorsqu'une des 2 dates n'est pas saisie SVP ? Je pense au cas où la date d'arrivée d'un agent n'est pas encore connue/saisie.

Sinon je considérerai mon sujet est résolu.

Cordialement,

Re,

Ce serait-il possible de rendre dynamique les formules ? Toute mes excuses. J'avais omis de préciser que les onglets mois sont dynamiques dans la mesure où il pourra il avoir des ajouts ou suppressions d'autres colonnes dans ces onglets mois.

Merci !

Cordialement,

Si àa vous convient, voici une proposition qui utilise une fonction personnalisée en VBA;

J"ai refais le tableau avec les doubles colonnes.

la formule devient en C3 et recopiée en E3, G3, I3 etc:

=SIERREUR(Duree_Tot(INDIRECT("'" &C$1 & "'!C2:C10000");INDIRECT("'" &C$1 & "'!B2:B10000"));"")

Le code de la fonction personnalisée:

Function Duree_Tot(Plage_Depart As Range, Plage_Arrivee As Range) As Long
    For Each D In Plage_Depart
        If D <> "" And D.Offset(0, -1) <> "" Then
            Duree_Tot = Duree_Tot + D - D.Offset(0, -1).Value
        End If
    Next
End Function

Cdlt

Re,

Merci bcp Arturo, La formule gère bien le problème de dates manquantes.

Mais je vais abuser de votre gentillesse en disant qu'elle ne gère pas encore l'ajout ou la suppression de colonnes dans les onglets mois.

Lorsque j'en supprime ou en rajoute une ou plusieurs colonnes, la formule renvoie Zéro ou vide.

Une formule (ou un bout de code) dynamique serait possible SVP ?

Cdlt.

Bonjour,

Voici, un bouton est ajouté dans la feuille "RECAP" qui permet de recréer les formules si le nombre de colonnes de chaque mois venaient à être modifié avec déplacement des colonnes des dates.

Attention, il est important que les colonnes des dates ne soient pas au-delà de la colonne "Z", sinon il faut que je revoie mon code.

Cdlt

PS: si cela répond à vos attentes, merci de bien vouloir passer le sujet en résolu.

Bonjour Arturo83,

Oui le code répond à mes attentes à condition qu'il n'y ait pas d'ajout de nouvelles colonnes entre B (Date départ) et C (Date Arrivée). Je vais l'utiliser en respectant cette contrainte.

Un grand MERCI à vous, et à la communauté pour tout ce que vous nous apportez.

Bien cordialement,

Oui le code répond à mes attentes à condition qu'il n'y ait pas d'ajout de nouvelles colonnes entre B (Date départ) et C (Date Arrivée). Je vaisl'utiliser en respectant cette contrainte.
Je me suis mal fait comprendre, les dates peuvent se trouver dans n'importe quelle colonne, du moment qu'elles ne soient pas au-delà de la colonne Z,

Cdlt

Re,

Non c'est plutôt moi qui n'étais pas clair...

Effectivement dès lors qu'aucune colonne de dates ne dépasse Z (For i = 3 To 25), on peut insérer autant de colonnes que l'on souhaite; tout fonctionne parfaitement mais à une condition : il faut que les 2 colonnes des dates (Départ et Arrivée) restent absolument adjacentes.

Si j'insère autre une colonne entre celles des dates (simultanément ou pas dans les onglets mois), le code renvoie 0.

Cette contrainte qui est de garder les colonnes dates adjacentes n'est pas gênante. Merci !

Voilà, j'ai modifié le fichier de telle sorte que quel que soit l'emplacement des colonnes Départ ou Arrivée, Jointives ou pas, mais toujours comprises dans les colonnes de A à Z.

Regardez les mois de janvier et février, les colonnes sont à différents endroits d'un mois sur l'autre et le calcul se fait quand même.

Cdlt

Re,

Alors là...Impeccable. Tout est Parfait !

Encore une fois Merci bcp !

Bonne soirée.

Rechercher des sujets similaires à "calculer directement somme differences entre dates"