Afficher l(heure aux chngements de la valeur de cellules

bonjour

je débute en vba

j'ai un problème que je n'arrive pas a solutionner merci de votre aide je joint un fichier Excel ,mais ce que j'ai trouvé ne convient pas au résultat que je recherche

dans mon classeur j ai deux colonnes B et F

dans ces colonnes(B et F) sont inscrit des cotations qui peuvent changer plusieurs fois dans la journée ou rester fixe

ces cotations sont prises vers deux autres colonnes AV et AW, sont inscrit par liaisons DDE(dynamic data Exchange)des chiffres en streaming (rafraichis automatiquement par un logiciel d'importation liens DDE)

je voudrais qu'a chaque changement automatique de la valeur des cellules en B et Soit inscrit en face de chaque cellule l'heure de changement

exemple si la cellule B12 affiche une cotation et se met a changer il faut que en cellule C12 s'affiche l(heure a laquelle la cellule a été modifié

si en colonne F la cellule F50 a change il faut que l heure du changement s'inscrive en G50

merci de me dire si cela est réalisable

pour l'instant je n'ai trouvé que la solution en manuel ,mais cela n'est pas possible pour le travail recherché

vous trouverez dans le classeur les deux premières cellules B12 et F12 ou j'ai rentré en manuel les cotations ,cela marche en changeant seulement a la main et en appuyant sur enter(ce n'est pas la solution qui est nécessaire pour faire marcher mon système, j'ai fait cela pour que vous compreniez bien mon besoin)

Merci a tous

Bonsoir le forum,

Saisie en B ; heure de changement en C :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("B1:B100")) Is Nothing Then
    If Target.Count = 1 Then
        Application.EnableEvents = False
        Target.Offset(0, 1).Value = Now
        Application.EnableEvents = True
    End If
End If
End Sub

Format : Heure

A adapter selon les besoins.

Bonsoir,

A tester.

C'est à dire si la mise à jour de la table lance l'événement Worksheet_Change.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim oldValue As Double, newValue As Double
    On Error GoTo end_Handler
    If Not Intersect(Target, Range("B2:B11")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        Application.EnableEvents = False
        newValue = Target.Value
        Application.Undo
        oldValue = Target.Value
        If newValue <> oldValue Then Target.Offset(0, 1) = Format(Time, "hh:mm:ss")
    End If
end_Handler:
    Application.EnableEvents = True
    Exit Sub
End Sub

Edit : penser à modifier la plage "B2:B11" pour un test sur une colonne.

Bonjour

tout d'abord merci de vos réponses et d'avoir essaye

mais hélas cela ne marche pas

cela ne marche que si l'on rentre la valeur en manuel et que l'on fait entrée après

moi ce qui est nécessaire pour mon travail doit être entièrement automatique

les cotations sont en streaming et arrive par liens DDE

dans les colonne B et F je recois les cotations qui sont inscrites en colonne AV et AW (liens DDE)

je fait par exemple pour la colonne B12=AW12

pour F12=av12

je peux vous envoyer un fichier mais il faut me dire comment s'y prendre pour le faire sur votre site

merci cordialement JO

Re

je ne suis pas du tout dans le métier mais je pense qu'il faudrait trouver le moyen par un programme de copier toutes les valeurs cellules qui changent dans les colonnes AV et AW (liens DDE) a chaque changement d'une seule des cellules se seraient la colonne entière qui seraient copiée) mettre une formule du type si les cellules des colonnes ou les cotations changent(AV et AW Liens DDE est<>des autre colonnes Bet F (celles ou les derniers changements ont été collés) ;mettez nouvelle heure sinon rien

le truc est de trouver une macro en automatique qui colle les valeurs des colonnes Av et AW(liens DDE) vers B et F des qu'une seule cellule change

par contre je pense qu'il faut que le système démarre avec heure de départ 9 heure le matin heure française

je n'ai aucune idée si cela peut se faire sur Visual basic

merci de m'éclairer

JO

Bonsoir a tous

notre ami jo pullule sur beaucoup de forum pour savoir qui aura la meilleure réponse, comme une abeille sur des fleurs pour son miel

Pascal

malheureusement il n y a pas une réponse meilleure que l'autre ,il n y a qu'une seule et bonne réponse, mais personne ne l'a pour le moment trouver

Bonne soirée

bonjour le forum

voici la réponse que notre ami désagréable a fait sur le forum de programmer en vb

il faut arrêter Monsieur de se la jouer et de vous prendre pour des demis dieux

la vérité est que vous avez été incapable de vous approcher même un tant soit peu de ce que je cherche a solutionner

pardonnez moi d avoir essayer plusieurs solutions pour arriver a mes fins

je crois que dans votre milieu vous semblez un peu prétentieux et surtout très susceptibles

je trouverais de toute façon la solution moi même puisque vous en êtes pas capable

je suis croyez moi bien content d'avoir quitter la France et ce depuis bien longtemps parce que je m'aperçois que pas grand chose n'a changé depuis

je vous laisse a vos médiocrités et à votre prétention

Quand je vois comment est construit votre site je ne suis vraiment pas étonné par votre réponse

vous auriez fait un très bon collabo en 39 45;je n'en doute pas une seconde

que cela ne vous empêche pas de continuer dans la direction qui vous semble la meilleure

je peux très bien me passer de votre aide , qui n'en est pas une d'ailleurs

Continuez à surveiller vos collègues c'est ce que semble t'il vous savez le mieux faire .

Bonne soirée j'ai d'autres chats a fouetter?

Pascal

Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Question bien formulée, solution assurée ! (Robert Durupt)

If you can’t explain it simply, you don’t understand it well enough … (Albert Einstein)

Deux choses sont infinies : l’Univers et la bêtise humaine.

Mais en ce qui concerne l’Univers, je n’en ai pas encore acquis la certitude absolue ! (Albert Einstein)

Rechercher des sujets similaires à "afficher heure chngements valeur"