Date évolutive dans une cellule si la valeur d'une autre cellule change

Bonjour à Vous Tous et particulièrement à FFO
Mon problème
2021 08 29 Forum Classeur1 (2).xlsm (31,7 Ko)

Point 1
Cellule B60 valeur 136.08 point haut en date du 13 08 2021
En B56 mettre la date du changement soit 13 08 2021 et ceci à chaque fois que B60 change

Point 2
Cellule I60 valeur 134.81 point a date du jour 27 08 2021
En I56 mettre la date du changement soit 27 08 2021 et ceci à chaque fois que I60 change

Merci pour votre aide
Cordialement à Vous tous

Rebonjour

Ci-joint ma proposition en VBA

Il doit y avoir une possibilité via formule que je n’ai pas peut être un spécialiste fera une proposition

Testes et dis moi

2021 08 29 Forum Classeur1 (2).xlsm (38,5 Ko)

Coucou FFO
Merci pour la modif proposée
J’ai fait un copié collé à partir de ton fichier et de tes cellules
J’ai un souci avec la reproduction de la modif en B66 en vert doit inscrire 16 08 2021
Les autres cellules fonctionnent dans les différents scenarios
Tu sais que je duplique de nombreuses fois ces cellules
Ci dessous le fichier en précision
2021 08 29 Forum Classeur1 (2) (2).xlsm (37,9 Ko)

A bientôt
Cordialement
PB

« J’ai un souci avec la reproduction de la modif en B66 en vert doit inscrire 16 08 2021 »

Normal ce ne sont plus des formules mais du code VBA qu’il faut adapter pour toute nouvelle cellule qui doit bénéficier de ce dispositif

Je n’ai pas trouvé de formule qui puisse convenir à cette fin

Si je trouve je t’en ferai bénéficier

Ton fichier adapté pour alimenter des dates les cellule B66 et I66 en fonction des valeurs des cellules respectives D70 et I70

Si d’autres cellules sont à intégrer dans ce même dispositif décris les moi avec les cellules des valeurs en correspondance je ferais le nécessaire

Ton fichier avec ces dernières adaptations

Testes et dis moi

2021 08 29 Forum Classeur1 (2) (2).xlsm (39,1 Ko)

Finalement j’ai réussi à fabriquer une formule avec une fonction de ma conception
Ce sera plus simple pour toi tu n’auras plus qu’à la recopier dans les cellules à équiper et de l’adapter à leur contexte (plage et valeur)

Testes et dis moi

2021 08 29 Forum Classeur3.xlsm (38,5 Ko)

Bonsoir FFO
Merci pour le dernier fichier
Je te donne du tracas
Désolé
Je testerai demain et te tiendrai au courant
J’ai une adaptation à faire du fait que j’insère une ligne date à chaque module traité
La ligne 69 passe en 70 etc
Je vais analyser ton programme initial et faire un essai sur un module sur un fichier test
Excellente soirée
A demain
PB

Bonjour FFO
J’espère que tu vas bien
J’ai un souci …

Ton commentaire réponse du 30 Aout
Finalement j’ai réussi à fabriquer une formule avec une fonction de ma conception
Ce sera plus simple pour toi tu n’auras plus qu’à la recopier dans les cellules à équiper et de l’adapter à leur contexte (plage et valeur) ???

J’ai fait un copier collé de chaque cellule B56 B66 I56 I66
Les formules sont ok pour chacune
Codes réponses #NOM? pour les 4 je cherche mais …
Bon après midi
A bientôt
Cordialement
PB

Bonjour

En cellule I66 j’ai cette formule dans la barre de formule en haut de la page :

=rechercher(L70:EV70;I70)
il faut l’adapter à la nouvelle cellule

Si je souhaite la faire fonctionner en cellule I56 je la mettrai comme ceci :

soit cette écriture :

=rechercher(L60:EV60;I60)

Donc pour I66 :

=rechercher(L70:EV70;I70)

et Pour I56 :

=rechercher(L60:EV60;I60)

car pour I66 la recherche de la somme I70 doit s’effectuer dans la plage des cellule L70 à EV70

Ce qui est décrit dans sa formule : =rechercher(L70:EV70;I70)

Idem pour I56 la recherche de la somme I60 doit s’effectuer dans la plage des cellule L60 à EV60

Ce qui est décrit dans sa formule : =rechercher(L60:EV60;I60)

Tu dois adapter celle-ci au contexte de chaque formule :
Plage: L et ligne:EV et ligne (ligne où est à rechercher la valeur de L à EV)
valeur : cellule qui détient la valeur à rechercher

Les dates doivent impérativement être en ligne 55

Si cela ne fonctionne pas transmets moi ton fichier avec ces anomalies que je regarde

petite question :

Tu me dis ceci

« J’ai fait un copier collé de chaque cellule B56 B66 I56 I66 »

Dans ce classeur ou un autre ?

Si tu veux utiliser ces formules dans un autre classeur il faut faire suivre la fonction ci-aprés :

Function rechercher(plage As Range, valeur As String)

’ Macro1 Macro

For Each c In plage
If c = valeur Then
cherche = Cells(55, c.Column).Value
Exit For
End If
Next
rechercher = cherche

End Function

A intégrer dans un module du nouveau classeur

Sinon les formules ne fonctionneront pas !!!

Bonjour FFO
Merci pour tes réponses et ton analyse
Apres lecture de tes commentaires et recherchessss …
J’ai trouvé une solution (ce matin)
Apres mon copié collé d’un fichier à l’autre
il faut le collage approprié
Dans notre cas « Coller des valeurs » et « Mise en forme des valeurs et nombres »
Excellent exercice de style …
Cela m’occupe bien, bien que …
Je vais mettre à jour l’ensemble de ce fichier
Le tester …
Ensuite je continuerai l’évolution de ce dernier avec ton (si tu veux) et votre concours …
Bonne journée
Cordialement
PB

Bonjour

merci pour ce retour

Attention comme je te l’ai dis si tu utilises les formules que j’ai confectionné dans un autre classeur la fonction en rapport que j’ai élaboré doit elle aussi être intégré dans ce classeur ainsi :

à partir de ce nouveau classeur faire Alt+F11

barre menu de la page qui vient de s’afficher en haut de celle-ci cliquer sur « Insertion » puis dans la liste sélectionner « Module »

Dans la page blanche de droite recopier ces lignes de code :

Function rechercher(plage As Range, valeur As String)

’ Macro1 Macro

For Each c In plage
If c = valeur Then
cherche = Cells(55, c.Column).Value
Exit For
End If
Next
rechercher = cherche

End Function

sortir de l’éditeur par la croix en haut à droite
enregistrer le classeur

La fonction dans ce nouveau classeur sera ainsi prête à fonctionner

Bien actualiser dans la formule la plage et la valeur comme décrit dans une de mes réponses

Si souci transmets moi le fichier en m’indiquant les cellules qui en bénéficient les plages à utiliser pour chacune d’entre elles la cellule qui détient la valeur à rechercher dans cette plage

La liste des dates doit impérativement être en ligne 55

A ta disposition pour cette mise en place

Bonjour FFO
J’espère que tu vas bien
J’ai modifié l’ensemble de mon fichier ( Aie Aie)
Concernant la colonne B ça fonctionne
Sur la colonne I cellule I66 il y a un aléas de fonctionnement
Je te joins un fichier avec le problème rencontré et expliqué
Je suis à ton écoute
Avec tous mes remerciements
PB
2021 08 29 FFO Dde 3.xlsm (38,9 Ko)

Bonjour

Tu t’es débrouillé comme un chef bravo !!!

Pour ton aléa normal ta valeur à rechercher « 225,06 » se trouve à 2 endroits donc 2 dates possibles à retourner :

27/08/2021
31/08/2021

Qu’elle doit être dans cette situation la logique à mettre en place ?

merci de me dire

Déjà je te transmet une version corrigée qui prend la deuxième date : 31/08/2021

Tu choisiras entre cette version et celle que tu détiens

2021 08 29 FFO Dde 4.xlsm (39,5 Ko)

Rebonjour FFo
Merci pour ta réactivité
La date à prendre en compte et la dernière date de saisie dans notre cas 31 08 2021
J’ai testé ton fichier en retour " CA MARCHE "
Peux tu me préciser la procédure de mise en application et cela 20 fois sur la colonne I
Très cordialement
Au plaisir de te lire …
PB

Ravi que cela fonctionne
J ai simplement ihnibé une ligne de code dans ma procédure recherche pour que celle-ci ne s arrête pas à la première valeur trouvée
Voilà ainsi mon intervention
N hésites si nécessaire
Au plaisir

Bonjour FFO
Désolé pour le retard en réponse à ta modif de ligne de code (cause congés non payés . Grrr.)
Tout fonctionne comme tu l’as prévu
Très grand merci
Je valide donc la solution dans ton mail du 29 Août
J’ai d’autres demandes concernant ce fichier
En espérant avoir ton concours
Très cordialement
PB

Bonjour
Merci pour cette réponse même tardive
Je reste à ton écoute pour tes besoins
N hésites pas donc
À très bientôt peut être

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.