Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Private Sub

9 réponses
Avatar
JPMonnier
Bonjour,
J'ai cette sub dans une feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Ll7").Address Then
Call EGAL_A_B
End If

Je souhaiterais que la sub "Call EGAL_A_B" se déclanche uniquement lorsque
la valeur de la cellule L7 passe à 1
par d'autres calculs dans la même feuille
Est-ce possible
Merci d'avance
--
Cordialement
jpmonnier-no-spam@neuf.fr

9 réponses

Avatar
JB
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$L$l7" Then
If Target = 1 Then Call EGAL_A_B
End If
End Sub

JB

On 6 avr, 17:31, "JPMonnier" wrote:
Bonjour,
J'ai cette sub dans une feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Ll7").Address Then
             Call EGAL_A_B
End If

Je souhaiterais que la sub "Call EGAL_A_B" se déclanche uniquement lorsq ue
la valeur de la cellule L7 passe à 1
par d'autres calculs dans la même feuille
Est-ce possible
Merci d'avance
--
Cordialement



Avatar
francois.forcet
Salut à toi

Rajoutes la condition comme ceci :

If Range("L7") = 1 Then

Ce qui donne :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Ll7").Address Then
If Range("L7") = 1 Then
Call EGAL_A_B
End If
End If

Celà devrait faire

Dis moi !!!!
Avatar
Tatanka
Salut JB,

Est-ce qu'il peut y avoir des inconvénients à utiliser cette syntaxe ? :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = [L17] Then
If [L7] = 1 Then Call EGAL_A_B
End If
End Sub

Serge


"JB" a écrit dans le message de news:
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$L$l7" Then
If Target = 1 Then Call EGAL_A_B
End If
End Sub

JB

On 6 avr, 17:31, "JPMonnier" wrote:
Bonjour,
J'ai cette sub dans une feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Ll7").Address Then
Call EGAL_A_B
End If

Je souhaiterais que la sub "Call EGAL_A_B" se déclanche uniquement lorsque
la valeur de la cellule L7 passe à 1
par d'autres calculs dans la même feuille
Est-ce possible
Merci d'avance
--
Cordialement



Avatar
JPMonnier
Merci à tous, tout ça fonctionne à condition que la cellule L17 soit
sélectionnée !
Ce n'est pas ce que je souhaite !
J'aimerais que cette private sub fonctionne sans sélectionner L17, mais
quand L17 passe à 1

Ex : dans une Zone I13:J15, je compte le nombre de valeurs
Si mes 6 cellules sont remplies, L17 passe alors à 1
et c'est à ce moment que je voudrais déclancher ma macro
Peut-être que je suis sur mauvaise route !
Merci pour votre participation à mon problème

Cordialement


"JPMonnier" a écrit dans le message de
news:%231CQbt$
Bonjour,
J'ai cette sub dans une feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Ll7").Address Then
Call EGAL_A_B
End If

Je souhaiterais que la sub "Call EGAL_A_B" se déclanche uniquement lorsque
la valeur de la cellule L7 passe à 1
par d'autres calculs dans la même feuille
Est-ce possible
Merci d'avance
--
Cordialement






Avatar
JB
Bonsoir TaTanKa,

Si tu as déjà 1 dans L17 et que tu écris 1 dans une autre cellule, la
condition est vérifiée. Il faut comparer les adresses et non pas les
contenus. La bonne syntaxe est:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = [L17].Address Then
If Target = 1 Then MsgBox "xxx"
End If
End Sub

JB

On 6 avr, 18:02, "Tatanka" wrote:
Salut JB,

Est-ce qu'il peut y avoir des inconvénients à utiliser cette syntaxe ? :
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = [L17] Then
        If [L7] = 1 Then Call EGAL_A_B
    End If
End Sub

Serge

"JB" a écrit dans le message de news: 215cef1e
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$L$l7" Then
       If Target = 1 Then Call EGAL_A_B
    End If
End Sub

JB

On 6 avr, 17:31, "JPMonnier" wrote:



Bonjour,
J'ai cette sub dans une feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Ll7").Address Then
Call EGAL_A_B
End If

Je souhaiterais que la sub "Call EGAL_A_B" se déclanche uniquement lor sque
la valeur de la cellule L7 passe à 1
par d'autres calculs dans la même feuille
Est-ce possible
Merci d'avance
--
Cordialement
Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
JB
Bonsoir,

Private Sub Worksheet_Calculate()
If [L17] = 1 Then
MsgBox "xxx"
End If
End Sub

JB


On 6 avr, 18:31, "JPMonnier" wrote:
Merci à tous, tout ça  fonctionne à condition que la cellule L17 s oit
sélectionnée !
Ce n'est pas ce que je souhaite !
J'aimerais que cette private sub fonctionne sans sélectionner L17, mais
quand L17 passe à 1

Ex : dans une Zone I13:J15, je compte le nombre de valeurs
Si mes 6 cellules sont remplies, L17 passe alors à 1
et c'est à ce moment que je voudrais déclancher ma macro
Peut-être que je suis sur mauvaise route !
Merci pour votre participation à mon problème

Cordialement


"JPMonnier" a écrit dans le message denews:%2 31CQbt$



Bonjour,
J'ai cette sub dans une feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Ll7").Address Then
            Call EGAL_A_B
End If

Je souhaiterais que la sub "Call EGAL_A_B" se déclanche uniquement lor sque
la valeur de la cellule L7 passe à 1
par d'autres calculs dans la même feuille
Est-ce possible
Merci d'avance
--
Cordialement
Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
francois.forcet
Rebonjours à toi
Ton code modifié ainsi devrait te convenir :

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("L17") = 1 Then
Call EGAL_A_B
End If

Dis moi !!!!
Avatar
JPMonnier
Merci JB
Le souci est que en calcul auto, une fois la cellule L17 à 1, elle exécute
en permanence la macro quand je modifie n'importe quelle cells de ma feuille
Merci quand même
--
Cordialement


"JB" a écrit dans le message de
news:
Bonsoir,

Private Sub Worksheet_Calculate()
If [L17] = 1 Then
MsgBox "xxx"
End If
End Sub

JB


On 6 avr, 18:31, "JPMonnier" wrote:
Merci à tous, tout ça fonctionne à condition que la cellule L17 soit
sélectionnée !
Ce n'est pas ce que je souhaite !
J'aimerais que cette private sub fonctionne sans sélectionner L17, mais
quand L17 passe à 1

Ex : dans une Zone I13:J15, je compte le nombre de valeurs
Si mes 6 cellules sont remplies, L17 passe alors à 1
et c'est à ce moment que je voudrais déclancher ma macro
Peut-être que je suis sur mauvaise route !
Merci pour votre participation à mon problème

Cordialement


"JPMonnier" a écrit dans le message
denews:%231CQbt$



Bonjour,
J'ai cette sub dans une feuille
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("Ll7").Address Then
Call EGAL_A_B
End If

Je souhaiterais que la sub "Call EGAL_A_B" se déclanche uniquement
lorsque
la valeur de la cellule L7 passe à 1
par d'autres calculs dans la même feuille
Est-ce possible
Merci d'avance
--
Cordialement
Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
JPMonnier
Merci François,
ça fonctionne,
mais quand je modifie une autre valeur dans ma feuille, qui ne concerne pas
le changement de L17, ma macro s'exécute à nouveau puisque L17 toujours à 1
Merci quand même
--
Cordialement


a écrit dans le message de
news:
Rebonjours à toi
Ton code modifié ainsi devrait te convenir :

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("L17") = 1 Then
Call EGAL_A_B
End If

Dis moi !!!!