Filter une base de donnée-un seul jour par mois

Je sais mais impossible de migrer mon windows sans changer mon SSD (meme en virant plein de programmes çà ne passe pas)
Et impossible d'installer les versions Excel ultérieures sans migrer mon windows
Donc obligé de faire des frais

Bonjour à tous de nouveau !

Alors, il vous reste la piste VBA.

Au besoin créez un nouveau sujet spécifique.

Bon courage.

Merci, je vais créer un sujet spécifique

Je vais déjà reprendre ce qu'on a fait précédemment voir si j'arrive à tout refaire seul ou si je vous embête encore

Il me semble que cette formule répond à ton besoin, à mettre en F3 ;

=INDEX(B:B;EQUIV(D3;A:A;0))

Et incrémenter jusqu'en bas.

Ou pour enlever les points qu'on trouve à partir de 1998 ;

=SUBSTITUE(INDEX(B:B;EQUIV(D3;A:A;0));".";"")

Mais commence déjà par sélectionner les cellules de la colonne B à partir de la ligne 3881, un point d'exclamation apparaît (en haut de la sélection donc remonte avec le curseur à droite de la feuille à la ligne 3881 après avoir sélectionné jusqu'en bas) ; clique dessus et choisis "convertir en nombre" (sinon elles sont considérées comme texte).

Puis tu peux toujours formater en standard au lieu de nombre (mais il faut tout de même d'abord "convertir en nombre").

En fait si tu convertis d'abord la colonne B en nombre puis que tu la formates en standard, ma première formule suffit puisque les points disparaissent de la colonne B.

Il y a juste une erreur ligne 249 parce qu'il n'y a pas de 15-03-2020 dans la colonne A.

Bonjour à tous de nouveau !

@Doux Rêveur : Je pense que le besoin de notre ami est un tantinet plus complexe.

Il convient de :

  • Cerner les dates du tableau COTATIONS manquantes dans le tableau TAUX
  • Les rapatrier dans le tableau TAUX
  • Trier chronologiquement le tableau ainsi complété
  • Et enfin affecter le dernier taux connu à chacune des dates ajoutées

Pourtant dans sa 2ème demande il voulait ceci ;

Je voudrais garder uniquement dans la colonne cotations, les dates qui correspondent exactement avec celles de la colonne taux

Bonjour à tous de nouveau !

C'est surtout la demande 3 qui pose souci. Les autres ont, a priori, été solutionnées.

Bonjour à tous

Effectivement, je souhaiterais

- Avoir un tableau TAUX avec toutes les dates du tableau COTATIONS
- Comme il y a des dates sans valeur (puisque le tableau TAUX a moins de dates), je souhaite affecter la valeur précédente de taux tant qu'elle reste toujours en vigueur

ex:
J'ai actuellement les dates de cotation suivantes
01/10/1982 122
04/10/1982 121,5
05/10/1982 122
06/10/1982 126
07/10/1982 128,8
08/10/1982 131,1

et celles des taux suivantes

Colonne TAUX
01/10/1982 10,25%
07/10/1982 10,00%
19/11/1982 9,50%

et j'ai besoin d'avoir les taux
01/10/1982 10,25%
04/10/1982 10,25% (on copie le taux toujours en vigueur)
05/10/1982 10,25%(on copie le taux toujours en vigueur)
06/10/1982 10,25%(on copie le taux toujours en vigueur)
07/10/1982 10,00% (changement de taux)
08/10/1982 10,00% (on copie le taux toujours en vigueur)
jusqu'à 18/11/1982 10,00% (on copie le taux toujours en vigueur)
puis 19/11/1982 9,50% (changement de taux)
20/11/1982 9,50% (on copie le taux toujours en vigueur)

Truc tout bête à mettre en C3 (je parle du fichier que tu as posté vendredi à 17h47) ;

=SIERREUR(INDEX($G$3:$G$280;EQUIV(A3;$F$3:$F$280;0));C2)

Tu formates en %, rajoutes 2 décimales et incrémentes.

dates et taux 1982 2024 dede6363 b2

J'ai inséré 2 colonnes donc la formule dont je parlais plus haut pour F3 est maintenant en H3.

Merci pour votre retour
Pourriez vous poster le fichier pour que je regarde comment vous avez fait?

J'ai posté les formules plus haut mais pas de souci, voici le fichier (à noter que je n'ai incrémenté que jusque C41, tu peux poursuivre jusqu'en bas en double-cliquant sur la croix en bas à droite de la cellule C41) ;

N'oublie pas qu'il y a une date de la colonne F qui n'est pas dans la colonne A, le 15-03-2020 avec un taux de 1,25%. Donc si tu veux que les dates comprises entre le 15-03-2020 et la date suivante de la colonne F (29-04-2020) aient un taux de 1,25%, il faudrait juste remplacer dans la colonne F 15-03-2020 par 16-03-2020 (la 1ère date suivante présente dans la colonne A).

Sinon ces dates auront le taux précédent (1,75%).

Merci, je vais regarder tout cela voir si je comprends et suis capable de le reproduire

Je suis en train de regarder
J'ai vu que vous avez ajouté 2 formules
=SIERREUR(INDEX($G$3:$G$280;EQUIV(A3;$F$3:$F$280;0));C2)
=INDEX(B:B;EQUIV(F3;A:A;0))

Ces deux formules sont elles interdépendantes? (ne peuvent elles fonctionner l'une sans l'autre?)

- Pouvez vous m'expliquer à quoi sert cette fonction SIERREUR(INDEX ?
- ensuite je suppose qu'il se base sur ma plage de données de taux $G$3:$G$280 pour vérifier une équivalence avec la date de la colonne AEQUIV(A3)
- à la fin de la formule pourquoi C2 ? Car il n'y a aucune valeur en C2 ?

J'ai vu que vous avez ajouté 2 formules

=SIERREUR(INDEX($G$3:$G$280;EQUIV(A3;$F$3:$F$280;0));C2)

=INDEX(B:B;EQUIV(F3;A:A;0))

Ces deux formules sont elles interdépendantes? (ne peuvent elles fonctionner l'une sans l'autre?)

Non, aucune des 2 n'a besoin de l'autre.

à quoi sert cette fonction SIERREUR(INDEX ?

- ensuite je suppose qu'il se base sur ma plage de données de taux
$G$3:$G$280 pour vérifier une équivalence avec la date de la colonne
AEQUIV(A3)
- à la fin de la formule pourquoi C2 ? Car il n'y a aucune valeur en C2 ?

Si la fonction EQUIV ne trouve pas l'équivalent de A3 dans la plage $F$3:$F$280, il y aura une erreur et donc rien à chercher dans la plage derrière INDEX (colonne G). Si une cellule de la colonne A n'a pas d'équivalent dans F (et c'est le cas de la plupart des dates de la colonne A), on utilise le taux de la ligne précédente (C2).

En l'occurrence il n'y a pas de souci avec A3 puisque cette date est bien présente dans la plage $F$3:$F$280, mais l'astuce est utile à partir de C4 puisque A4 n'est pas dans la plage $F$3:$F$280, donc il utilise C3.

Merci pour ces explications

J'ai regardé plus en détail votre tableau mais ce n'est pas le résultat que je souhaite. A Chaque jour de cotation ne correspond pas une date de taux. la colonne C ne comporte que 39 valeurs de taux alors qu'il en faut 10436

A gauche j'ai un colonne COTATIONS qui contient toutes les dates du calendrier (sauf samedi dimanche et jours fériés globalement) avec la cotation à la cloture de chaque jour. Il y a 10436 dates sur 22 ans

A droite j'ai des dates sur 22 ans aussi mais seulement des jours d'annonce des taux. Il y a donc moins de date, seulement 278. Or j'ai besoin d'avoir 10436 dates de taux aussi. il manque donc 10158 dates.
- Ces dates n'existent pas dans la colonne TAUX, il faut donc les créer
- mais cela ne suffit pas car il faut également donner à chacune une valeur de taux. Cette valeur est simplement un copie de la valeur de taux toujours en vigueur jusqu'à arriver à un nouveau taux
exemple

Colonne TAUX de départ
01/10/1982 10,25%
07/10/1982 10,00%
19/11/1982 9,50%

et j'ai besoin d'avoir à l'arrivée une colonne avec un taux pour chaque jour (10436 dates)
01/10/1982 10,25%
04/10/1982 10,25% (on copie le taux toujours en vigueur)
05/10/1982 10,25%(on copie le taux toujours en vigueur)
06/10/1982 10,25%(on copie le taux toujours en vigueur)
07/10/1982 10,00% (changement de taux)
08/10/1982 10,00% (on copie le taux toujours en vigueur)
jusqu'à
18/11/1982 10,00% (on copie le taux toujours en vigueur)
puis 19/11/1982 9,50% (changement de taux)
20/11/1982 9,50% (on copie le taux toujours en vigueur)

Tu devrais lire attentivement ce qu'on écrit, j'ai mis plus haut ;

à noter que je n'ai incrémenté que jusque C41, tu peux poursuivre jusqu'en bas en double-cliquant sur la croix en bas à droite de la cellule C41

Donc tu n'as qu'un double-clic à faire et tu auras bien tes 10436 taux.

Exact cela fonctionne, autant pour moi
Vraiment top

Par contre je n'arrive pas à le reproduire sur une feuille vierge, je vais réessayer de comprendre et je reviendrai vers vous si je patine

Si tu regardes bien les formules tu y arriveras, elles ne sont pas complexes.

Et vérifie bien si tu dois remplacer ou pas la date du 15-03-2020 (voir ce que j'écrivais hier à 21h39).

J'ai pour le moment recréé simplement à l'identique et cela fonctionne
Je n'ai pas tout compris dans le fonctionnement, je pense que je devrais chercher comment fonctionne les formules
siERREUR et INDEX

Effectivement si j'utilise seulement =SIERREUR(INDEX($G$3:$G$280;EQUIV(A3;$F$3:$F$280;0));C2) ou seulement =INDEX(B:B;EQUIV(F3;A:A;0)) indépendamment cela fonctionne aussi
Du coup je ne comprends pas pourquoi on n'utilise pas deux fois les memes formules ?

Rechercher des sujets similaires à "filter base donnee seul jour mois"