(je suis débutant en VBA, et je crois que mes questions nécessite déjà un
bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de
valeur,
vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une
donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela,
mais :
- comment peut-on limiter cette procédure à la seule cellule ou est le lien
DDE
- je dois me tromper tout de même car la procédure ne fonctionne que quand
je clique moi même
sur la feuille, mais pas quand le lien DDE change de valeur. Alors
qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le
compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then
Range("K9") = Range("K9") + 1
End If
If Range("D4") <= Range("K7") Then
Range("K9") = Range("K9") - 1
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
xoco
pour specifier la selectionchange dans une seul cellule, tu specifie un condition : If target.address="$D$4" then 'ton code end if target representant la selection qui change (une cellule) Xoco
-----Message d'origine----- Bonjour,
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un
bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de
valeur, vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une
donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela,
mais : - comment peut-on limiter cette procédure à la seule cellule ou est le lien
DDE - je dois me tromper tout de même car la procédure ne fonctionne que quand
je clique moi même sur la feuille, mais pas quand le lien DDE change de valeur. Alors
qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le
compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then Range("K9") = Range("K9") + 1 End If
If Range("D4") <= Range("K7") Then Range("K9") = Range("K9") - 1 End If
End Sub
Merci d'avance,
Rémy.
.
pour specifier la selectionchange dans une seul cellule,
tu specifie un condition :
If target.address="$D$4" then
'ton code
end if
target representant la selection qui change (une cellule)
Xoco
-----Message d'origine-----
Bonjour,
(je suis débutant en VBA, et je crois que mes questions
nécessite déjà un
bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de
valeur en temps réel.
Je voudrais créer une macro qui, à chaque fois que le
lien DDE change de
valeur,
vérifie s'il est entre deux autres valeur. Et s'il n'y
est plus change une
donnée (un compteur).
J'ai donc utilisé une procédure
évènementielle "SelectionChange" pour cela,
mais :
- comment peut-on limiter cette procédure à la seule
cellule ou est le lien
DDE
- je dois me tromper tout de même car la procédure ne
fonctionne que quand
je clique moi même
sur la feuille, mais pas quand le lien DDE change de
valeur. Alors
qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur
d'interval, K9 le
compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As
Range)
If Range("D4") >= Range("K6") Then
Range("K9") = Range("K9") + 1
End If
If Range("D4") <= Range("K7") Then
Range("K9") = Range("K9") - 1
End If
pour specifier la selectionchange dans une seul cellule, tu specifie un condition : If target.address="$D$4" then 'ton code end if target representant la selection qui change (une cellule) Xoco
-----Message d'origine----- Bonjour,
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un
bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de
valeur, vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une
donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela,
mais : - comment peut-on limiter cette procédure à la seule cellule ou est le lien
DDE - je dois me tromper tout de même car la procédure ne fonctionne que quand
je clique moi même sur la feuille, mais pas quand le lien DDE change de valeur. Alors
qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le
compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then Range("K9") = Range("K9") + 1 End If
If Range("D4") <= Range("K7") Then Range("K9") = Range("K9") - 1 End If
End Sub
Merci d'avance,
Rémy.
.
Jean-Paul Viel
Bonjour, Votre code devait être Worksheet_Calculate(), mais vous devriez ajouter du code pour tenir compte uniquement du calcul dans la cellule DDE pas des calculs de vos compteurs. Jean-Paul
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de valeur, vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela,
mais : - comment peut-on limiter cette procédure à la seule cellule ou est le lien
DDE - je dois me tromper tout de même car la procédure ne fonctionne que quand je clique moi même sur la feuille, mais pas quand le lien DDE change de valeur. Alors qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then Range("K9") = Range("K9") + 1 End If
If Range("D4") <= Range("K7") Then Range("K9") = Range("K9") - 1 End If
End Sub
Merci d'avance,
Rémy.
Bonjour, Votre code devait être Worksheet_Calculate(), mais vous devriez
ajouter du code pour tenir compte uniquement du calcul dans la cellule DDE
pas des calculs de vos compteurs. Jean-Paul
"Rémy" <remy-heinis@wanadoo.fr> wrote in message
news:#ee$GEBxDHA.2356@TK2MSFTNGP12.phx.gbl...
Bonjour,
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un
bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps
réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de
valeur,
vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une
donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour
cela,
mais :
- comment peut-on limiter cette procédure à la seule cellule ou est le
lien
DDE
- je dois me tromper tout de même car la procédure ne fonctionne que quand
je clique moi même
sur la feuille, mais pas quand le lien DDE change de valeur. Alors
qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le
compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then
Range("K9") = Range("K9") + 1
End If
If Range("D4") <= Range("K7") Then
Range("K9") = Range("K9") - 1
End If
Bonjour, Votre code devait être Worksheet_Calculate(), mais vous devriez ajouter du code pour tenir compte uniquement du calcul dans la cellule DDE pas des calculs de vos compteurs. Jean-Paul
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de valeur, vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela,
mais : - comment peut-on limiter cette procédure à la seule cellule ou est le lien
DDE - je dois me tromper tout de même car la procédure ne fonctionne que quand je clique moi même sur la feuille, mais pas quand le lien DDE change de valeur. Alors qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then Range("K9") = Range("K9") + 1 End If
If Range("D4") <= Range("K7") Then Range("K9") = Range("K9") - 1 End If
End Sub
Merci d'avance,
Rémy.
Daniel.M
Salut Rémy,
Quelle est ta version d'Excel? Avec XL 97, les changements par DDE n'enclenchent pas d'événements _Change.
Pour de la doc là-dessus (et quelques pistes): http://support.microsoft.com/support/kb/articles/Q172/8/32.ASP XL97: Worksheet Change Event Macro Fails to Run
Salutations,
Daniel M.
"Rémy" wrote in message news:%23ee$
Bonjour,
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel. Je voudrais créer une macro qui, à chaque fois que le lien DDE change de valeur, vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela, mais : - comment peut-on limiter cette procédure à la seule cellule ou est le lien DDE - je dois me tromper tout de même car la procédure ne fonctionne que quand je clique moi même sur la feuille, mais pas quand le lien DDE change de valeur. Alors qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then Range("K9") = Range("K9") + 1 End If
If Range("D4") <= Range("K7") Then Range("K9") = Range("K9") - 1 End If
End Sub
Merci d'avance,
Rémy.
Salut Rémy,
Quelle est ta version d'Excel?
Avec XL 97, les changements par DDE n'enclenchent pas d'événements _Change.
Pour de la doc là-dessus (et quelques pistes):
http://support.microsoft.com/support/kb/articles/Q172/8/32.ASP
XL97: Worksheet Change Event Macro Fails to Run
Salutations,
Daniel M.
"Rémy" <remy-heinis@wanadoo.fr> wrote in message
news:%23ee$GEBxDHA.2356@TK2MSFTNGP12.phx.gbl...
Bonjour,
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un
bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de
valeur,
vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une
donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela,
mais :
- comment peut-on limiter cette procédure à la seule cellule ou est le lien
DDE
- je dois me tromper tout de même car la procédure ne fonctionne que quand
je clique moi même
sur la feuille, mais pas quand le lien DDE change de valeur. Alors
qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le
compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then
Range("K9") = Range("K9") + 1
End If
If Range("D4") <= Range("K7") Then
Range("K9") = Range("K9") - 1
End If
Quelle est ta version d'Excel? Avec XL 97, les changements par DDE n'enclenchent pas d'événements _Change.
Pour de la doc là-dessus (et quelques pistes): http://support.microsoft.com/support/kb/articles/Q172/8/32.ASP XL97: Worksheet Change Event Macro Fails to Run
Salutations,
Daniel M.
"Rémy" wrote in message news:%23ee$
Bonjour,
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel. Je voudrais créer une macro qui, à chaque fois que le lien DDE change de valeur, vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela, mais : - comment peut-on limiter cette procédure à la seule cellule ou est le lien DDE - je dois me tromper tout de même car la procédure ne fonctionne que quand je clique moi même sur la feuille, mais pas quand le lien DDE change de valeur. Alors qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then Range("K9") = Range("K9") + 1 End If
If Range("D4") <= Range("K7") Then Range("K9") = Range("K9") - 1 End If
End Sub
Merci d'avance,
Rémy.
Rémy
Merci tout le monde, j'ai réussi... Pour ceux que ça intéresse, l'évenement change n'est pas délenché par un liens DDE, par contre l'évènement calculate lui fonctionne. De plus il faut mettre "Application.EnableEventsúlse" au début puis "Application.EnableEvents=True" à la fin de la procédure pour évité les itérations.
"Daniel.M" a écrit dans le message de news:
Salut Rémy,
Quelle est ta version d'Excel? Avec XL 97, les changements par DDE n'enclenchent pas d'événements _Change.
Pour de la doc là-dessus (et quelques pistes): http://support.microsoft.com/support/kb/articles/Q172/8/32.ASP XL97: Worksheet Change Event Macro Fails to Run
Salutations,
Daniel M.
"Rémy" wrote in message news:%23ee$
Bonjour,
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un
bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de valeur, vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une
donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela,
mais : - comment peut-on limiter cette procédure à la seule cellule ou est le lien
DDE - je dois me tromper tout de même car la procédure ne fonctionne que quand
je clique moi même sur la feuille, mais pas quand le lien DDE change de valeur. Alors qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then Range("K9") = Range("K9") + 1 End If
If Range("D4") <= Range("K7") Then Range("K9") = Range("K9") - 1 End If
End Sub
Merci d'avance,
Rémy.
Merci tout le monde, j'ai réussi...
Pour ceux que ça intéresse, l'évenement change n'est pas délenché par un
liens DDE,
par contre l'évènement calculate lui fonctionne.
De plus il faut mettre "Application.EnableEventsúlse" au début puis
"Application.EnableEvents=True" à la fin
de la procédure pour évité les itérations.
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news: uZfbFyCxDHA.1060@TK2MSFTNGP12.phx.gbl...
Salut Rémy,
Quelle est ta version d'Excel?
Avec XL 97, les changements par DDE n'enclenchent pas d'événements
_Change.
Pour de la doc là-dessus (et quelques pistes):
http://support.microsoft.com/support/kb/articles/Q172/8/32.ASP
XL97: Worksheet Change Event Macro Fails to Run
Salutations,
Daniel M.
"Rémy" <remy-heinis@wanadoo.fr> wrote in message
news:%23ee$GEBxDHA.2356@TK2MSFTNGP12.phx.gbl...
Bonjour,
(je suis débutant en VBA, et je crois que mes questions nécessite déjà
un
bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps
réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de
valeur,
vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change
une
donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour
cela,
mais :
- comment peut-on limiter cette procédure à la seule cellule ou est le
lien
DDE
- je dois me tromper tout de même car la procédure ne fonctionne que
quand
je clique moi même
sur la feuille, mais pas quand le lien DDE change de valeur. Alors
qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le
compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then
Range("K9") = Range("K9") + 1
End If
If Range("D4") <= Range("K7") Then
Range("K9") = Range("K9") - 1
End If
Merci tout le monde, j'ai réussi... Pour ceux que ça intéresse, l'évenement change n'est pas délenché par un liens DDE, par contre l'évènement calculate lui fonctionne. De plus il faut mettre "Application.EnableEventsúlse" au début puis "Application.EnableEvents=True" à la fin de la procédure pour évité les itérations.
"Daniel.M" a écrit dans le message de news:
Salut Rémy,
Quelle est ta version d'Excel? Avec XL 97, les changements par DDE n'enclenchent pas d'événements _Change.
Pour de la doc là-dessus (et quelques pistes): http://support.microsoft.com/support/kb/articles/Q172/8/32.ASP XL97: Worksheet Change Event Macro Fails to Run
Salutations,
Daniel M.
"Rémy" wrote in message news:%23ee$
Bonjour,
(je suis débutant en VBA, et je crois que mes questions nécessite déjà un
bon niveau)
Voilà, dans une cellule j'ai un lien DDE qui change de valeur en temps réel.
Je voudrais créer une macro qui, à chaque fois que le lien DDE change de valeur, vérifie s'il est entre deux autres valeur. Et s'il n'y est plus change une
donnée (un compteur).
J'ai donc utilisé une procédure évènementielle "SelectionChange" pour cela,
mais : - comment peut-on limiter cette procédure à la seule cellule ou est le lien
DDE - je dois me tromper tout de même car la procédure ne fonctionne que quand
je clique moi même sur la feuille, mais pas quand le lien DDE change de valeur. Alors qu'aurais-je oublier ?
Mon code : (D4 = le lien DDE, K6 et K7 les deux valeur d'interval, K9 le compteur)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("D4") >= Range("K6") Then Range("K9") = Range("K9") + 1 End If
If Range("D4") <= Range("K7") Then Range("K9") = Range("K9") - 1 End If