![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: août 2008
Messages: 3
|
Bonjour,
J'ai un problème que je n'arrive pas résoudre malgré mes nombreuses recherches. J'utilise dans ma macro une procédure du type Worksheet_Change, le but étant d'uploader une base Access a chaque fois que la cellule "target" change de valeur, et de mettre à jour un classement de ces données dans cette même feuille Excel. Le problème est le suivant: la cellule "target" change de valeur automatiquement car j'ai une formule dedans (reliée à un autre programme qui me donne des données en temps réel). Je ne change donc pas la valeur de la case manuellelemt et appuie sur Enter ensuite. La proédure Worksheet_Change ne s'exécute donc pas, mais la cellule "target" change bien de valeur. La question est donc: comment faire pour que Worksheet_Change n'attende pas que j'appuie sur Enter pour s'exécuter? Merci beaucoup pour aide, |
|
|
|
|
|
#3 (permalink) |
|
Membre Expert
![]() Date d'inscription: juillet 2007
Localisation: Loire Atlantique (44)
Âge: 52
Messages: 1 000
|
Salut Toops et le forum
Comment tu changes ta valeur ? Tu donnes des généralités et on doit de rtépondre précisement ? le cellule mère de ta formule change et donc, c'est sur celle-ci que doit se caler la macro sur changement. A+ |
|
|
|
|
|
#4 (permalink) |
|
Invité de passage
![]() Date d'inscription: août 2008
Messages: 3
|
Salut,
Merci pour vos réponses. Je vais essayer d'être plus clair: pour l'instant ma macro utilise la procédure Worksheet_Change sur une cellule qui contient une fonction qui va chercher un prix en temps réel sur les marchés financiers. Du coup, le prix change environ toutes les 10 secondes, mais comme je ne rentre pas la valeur manuellement, Worksheet_Change ne comprend pas qu'il y a eu un changement. Je vais tenter d'utiliser Worksheet_Calculate, mais je pense que j'aurais d'autres problèmes parce que j'ai des cellules dont la valeur change toutes les secondes. D'ailleurs, est-il possible d'utiliser Worksheet_Calculate en lui indiquant de regarder une cellule en particulier? (un peu comme le "target" avec Worksheet_Change)? Merci beaucoup pour vos efforts |
|
|
|
|
|
#5 (permalink) | |
|
Membre Expert
![]() Date d'inscription: juillet 2007
Localisation: Loire Atlantique (44)
Âge: 52
Messages: 1 000
|
Salut Toops et le forum
Citation:
Ta macro Worksheet_Change agit quelque soit la cellule modifiée ? Plus tu es moins précis, moins l'aide est plus efficace! A+ |
|
|
|
|
|
|
#6 (permalink) |
|
Membre habitué
![]() Date d'inscription: février 2006
Messages: 161
|
Je ne voudrais pas paraître pessimiste mais je ne crois pas qu'on puisse détecter un changement d'une valeur sur formule (ou fonction), même avec Worksheet_Calculate.
En tout cas j'avais essayé il y a longtemps et ça ne fonctionnait pas. Mais si tu utilises une fonction, pourquoi ne pas la modifier pour qu'elle déclenche ensuite ce que tu veux ? |
|
|
|
|
|
#7 (permalink) | |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Citation:
Si c'est possible, supposons que l'on veut surveiller la modification, suite à un calcul, de la valeur de la cellule C1 de la feuille "Feuil1" :
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
|
|
|
#9 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Vu que l'on ne peut pas utiliser de Target, c'est le seul moyen que je vois pour vérifier la modification d'une cellule dont la valeur change via une formule.
Maintenant si on a 150 cellules à vérifier...là je ne vois pas comment faire hormis d'utiliser l'événement calculate pour la feuille entière.
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
|
|
#10 (permalink) |
|
Membre habitué
![]() Date d'inscription: février 2006
Messages: 161
|
Peut-être "encapsuler" la formule dans une fonction maison qui déclencherait aussi la 2ème phase, et utiliser dans la feuille cette fonction maison plutôt que la formule ?
Jamais essayé. Mais ta solution doit déjà pouvoir dépanner pas mal. |
|
|
|
|
|
#12 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Tu n'as pas forcément l'événement Change, la formule peut faire référence à d'autres feuilles voir même d'un autre classeur.
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
|
|
#14 (permalink) |
![]() Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
|
Bin oui...c'est ce que j'ai fait
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois) |
|
|
|
![]() |
![]() |
||
Utiliser Worksheet_Change sans appuyer sur Entrer
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|