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

Addition temporelle de matrice

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 !

nadir****

XLDnaute Occasionnel
Bonjour.

je voudrais additionner 2 prix qui varient indépendamment l'un de l'autre dans le temps.

J'ai donc 2 tableaux de prix avec
première colonne : la date de début de période (la date du changement de prix)
Deuxième colonne : le prix.

Je voudrais obtenir un troisième tableau qui additionne les deux prix en me donnant un nouveau 'calendrier'.

Pourrait-on ensuite généraliser à 3, 4 ou plus de tableaux ?

Je pense qu'ensuite il sera pas trop compliqué de faire des multiplications 'temporelles' de tableaux.

J'ai mis un fichier qui explique clairement (je crois) mon problème.

Merci.

Nadir.
 

Pièces jointes

Re : Addition temporelle de matrice

Bonjour, salut les autres,

En adaptant la formule proposée sous mon fichier précédent, à placer en R5 du fichier de Tibo :
Code:
=RECHERCHEV(Q5;A$5:B$10;2)+RECHERCHEV(Q5;E$5:F$9;2)+RECHERCHEV(Q5;I$5:J$7;2)
et à copier vers le bas, on obtient les résultats attendus, sauf pour O9 - R9.
Différence qui semble due à une erreur sous le calcul manuel (O9).
 
Re : Addition temporelle de matrice

Bonjour à tous,
Salut HoerWind,

Sur la base du dernier fichier déposé par Nadir, de la dernière formule déposée par HoerWind (qui avait, il me semble, compris depuis le début).

Récupération des quinzaines par :
Code:
=SI(JOUR(Q5)=1;DATE(ANNEE(Q5);MOIS(Q5);15);FIN.MOIS(Q5;0))
A+ à tous
 

Pièces jointes

Re : Addition temporelle de matrice

Salut JCGL,

il me semble, ... moi aussi !

Variante pour R5 :
=SI(JOUR(Q5)=1;Q5+14;FIN.MOIS(Q5;0))

Pour ne pas devoir appel aux macros complémentaires :
=SI(JOUR(Q5)=1;Q5+14;DATE(ANNEE(Q5);MOIS(Q5)+1;0))
 
Re : Addition temporelle de matrice

Bonjour à tous,

Une solution par macro.

Il faut sélectionner les 2 plages de cellules en sélection multiple (avec Ctrl) puis lancer la macro Tempmat.

* Le nombre de lignes est quelconque et peut être différent pour chaque table.
* Les lignes à blanc ne sont pas prises en compte.
* Le nombre de colonnes n'est pas important mais les dates de changement sont considérées dans la première colonne de chaque table et les prix dans la dernière colonne de chaque table.
* Les dates peuvent être dans un ordre quelconque
* Les doublons sont supprimés.
* Les résultats sont écrits en colonnes L et M


@+

Gael
 

Pièces jointes

Re : Addition temporelle de matrice

Bonjour Gaël.

Bravo. cela fonctionne bien.
Je vais essayer de comprendre ton code VBA (j'ai encore du mal).

Crois tu qu'il soit possible de modifier ton code pour
1 - appeler les matrices dans le fonction
2 - positionner le résultat là où on en a besoin ?

Par exemple en tapant = tempmat(MAT1;MAT2) dans la cellule à partir de laquelle on a besoin des résultats ?
cela me permettrait d'appeler des matrices dans différentes feuilles (et classeurs)
de positionner les résultats là ou j'en ai besoin.

En tout cas, bravo et merci encore.

Nadir.
 
Re : Addition temporelle de matrice

Rebonjour à tous,

Oubli important, la procédure de tri intégrée dans la macro est de Jacques Boisgontier et pas de moi.

J'ai ajouté cette procédure car je ne sais pas si on peut rappeler les éléments du dictionnaire dans l'ordre des clés ce qui éviterait le tri.

Pour la fonction, j'ai essayé mais je ne sais pas non plus si l'on peut renvoyer une table en résultat.

Je pense qu'on peut par contre changer facilement le positionnement par exemple en faisant une sélection multiple triple qui ajouterait la cellule de réception des résultats.

@+

Gael
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…