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

Formule sans formule

4 réponses
Avatar
Lulu la Nantaise 2
Bonjour =E0 toutes et =E0 tous,
Ca doit =EAtre assez facile, mais je me prends la t=EAte... :
Je voudrais si je modifie une cellule "C(n)L(n)" je veux mettre dans
la "C(n+1)L(n)" le r=E9sultat d'un calcul.
De m=EAme, si j'efface le contenu de la cellule "C(n)L(n)" j'efface le
contenu de la cellule "C(n+1)L(n)"
Merci de votre aide
Lulu

4 réponses

Avatar
JB
Bonjour,

Calcul dynamique avec VBA

-On peut saisir la date en colonne C
-On peut saisir le nb de jours en colonne D

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect([c2:c13], Target) Is Nothing And Target.Count = 1
Then
Target.Offset(0, 1) = Target.Offset(0) - Target.Offset(0, -1) + 1
End If
If Not Intersect([d2:d13], Target) Is Nothing And Target.Count = 1
Then
Target.Offset(0, -1) = Target.Offset(0, -2) + Target - 1
End If
Application.EnableEvents = True
End Sub

http://cjoint.com/?irrpuVO4g7

JB

On 17 août, 16:51, Lulu la Nantaise 2 wrote:
Bonjour à toutes et à tous,
Ca doit être assez facile, mais je me prends la tête... :
Je voudrais si je modifie une cellule "C(n)L(n)" je veux mettre dans
la "C(n+1)L(n)" le résultat d'un calcul.
De même, si j'efface le contenu de la cellule "C(n)L(n)" j'efface le
contenu de la cellule "C(n+1)L(n)"
Merci de votre aide
Lulu


Avatar
Lulu la Nantaise
J'ai ma réponse... mais c'est quoi Application.EnableEvents = False et True
?

Merci beaucoup




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


Bonjour,

Calcul dynamique avec VBA

-On peut saisir la date en colonne C
-On peut saisir le nb de jours en colonne D

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect([c2:c13], Target) Is Nothing And Target.Count = 1
Then
Target.Offset(0, 1) = Target.Offset(0) - Target.Offset(0, -1) + 1
End If
If Not Intersect([d2:d13], Target) Is Nothing And Target.Count = 1
Then
Target.Offset(0, -1) = Target.Offset(0, -2) + Target - 1
End If
Application.EnableEvents = True
End Sub

http://cjoint.com/?irrpuVO4g7

JB

On 17 août, 16:51, Lulu la Nantaise 2 wrote:
Bonjour à toutes et à tous,
Ca doit être assez facile, mais je me prends la tête... :
Je voudrais si je modifie une cellule "C(n)L(n)" je veux mettre dans
la "C(n+1)L(n)" le résultat d'un calcul.
De même, si j'efface le contenu de la cellule "C(n)L(n)" j'efface le
contenu de la cellule "C(n+1)L(n)"
Merci de votre aide
Lulu


Avatar
JB
Le code VBA de la procédure Sub Worksheet_Change() est exécuté à
chaque fois qu'une cellule est modifiée dans une feuille, que ce soit
directement par la saisie de l'opérateur ou par programme.

Afin d'éviter le déclenchement d'événements intempestifs lorsque le
programme modifie le contenu de cellules, on utilise
Application.EnableEvents úlse pour désactiver la gestion des
événements. On la réactive lorsque le traitement est termiiné.
En cours de mise au point, si le programme est stoppé avant la
réactivation des événements, il faut quitter Excel et l'ouvrir à
nouveau pour que la gestion des événements soit à nouveau active.

http://boisgontierjacques.free.fr/pages_site/evenements.htm#EnableEvents

JB

On 17 août, 18:56, "Lulu la Nantaise" wrote:
J'ai ma réponse... mais c'est quoi Application.EnableEvents = False e t True
?

Merci beaucoup

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


Bonjour,

Calcul dynamique avec VBA

-On peut saisir la date en colonne C
-On peut saisir le nb de jours en colonne D

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect([c2:c13], Target) Is Nothing And Target.Count = 1
Then
Target.Offset(0, 1) = Target.Offset(0) - Target.Offset(0, -1) + 1
End If
If Not Intersect([d2:d13], Target) Is Nothing And Target.Count = 1
Then
Target.Offset(0, -1) = Target.Offset(0, -2) + Target - 1
End If
Application.EnableEvents = True
End Sub

http://cjoint.com/?irrpuVO4g7

JB

On 17 août, 16:51, Lulu la Nantaise 2 wrote:



Bonjour à toutes et à tous,
Ca doit être assez facile, mais je me prends la tête... :
Je voudrais si je modifie une cellule "C(n)L(n)" je veux mettre dans
la "C(n+1)L(n)" le résultat d'un calcul.
De même, si j'efface le contenu de la cellule "C(n)L(n)" j'efface le
contenu de la cellule "C(n+1)L(n)"
Merci de votre aide
Lulu- Masquer le texte des messages précédents -


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



Avatar
Lulu la Nantaise
Merci beaucoup de ces enseignements !
Lulu

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

Le code VBA de la procédure Sub Worksheet_Change() est exécuté à
chaque fois qu'une cellule est modifiée dans une feuille, que ce soit
directement par la saisie de l'opérateur ou par programme.

Afin d'éviter le déclenchement d'événements intempestifs lorsque le
programme modifie le contenu de cellules, on utilise
Application.EnableEvents úlse pour désactiver la gestion des
événements. On la réactive lorsque le traitement est termiiné.
En cours de mise au point, si le programme est stoppé avant la
réactivation des événements, il faut quitter Excel et l'ouvrir à
nouveau pour que la gestion des événements soit à nouveau active.

http://boisgontierjacques.free.fr/pages_site/evenements.htm#EnableEvents

JB

On 17 août, 18:56, "Lulu la Nantaise" wrote:
J'ai ma réponse... mais c'est quoi Application.EnableEvents = False et
True
?

Merci beaucoup

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


Bonjour,

Calcul dynamique avec VBA

-On peut saisir la date en colonne C
-On peut saisir le nb de jours en colonne D

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect([c2:c13], Target) Is Nothing And Target.Count = 1
Then
Target.Offset(0, 1) = Target.Offset(0) - Target.Offset(0, -1) + 1
End If
If Not Intersect([d2:d13], Target) Is Nothing And Target.Count = 1
Then
Target.Offset(0, -1) = Target.Offset(0, -2) + Target - 1
End If
Application.EnableEvents = True
End Sub

http://cjoint.com/?irrpuVO4g7

JB

On 17 août, 16:51, Lulu la Nantaise 2 wrote:



Bonjour à toutes et à tous,
Ca doit être assez facile, mais je me prends la tête... :
Je voudrais si je modifie une cellule "C(n)L(n)" je veux mettre dans
la "C(n+1)L(n)" le résultat d'un calcul.
De même, si j'efface le contenu de la cellule "C(n)L(n)" j'efface le
contenu de la cellule "C(n+1)L(n)"
Merci de votre aide
Lulu- Masquer le texte des messages précédents -


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