activer macro si changement dans une cellule precise

Le
magic-dd
Bonjour

je cherche faire fonctionner une macro qui ne dmarrera uniquement
si je suis sur la cellule N&ligne() et R&ligne()

car lorsque je vais remplir par exemple en ligne 11 mes colonnes B,C,D
puis je vais en N alors ca demarrera ma macro quand je validerai cette
cellule

et ceci pour toutes les feuilles de mon classeur

merci de votre aide
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #22953311
Bonjour,

à chaque fois qu'une cellule des colonnes N ou R sera modifiée
la macro "MaMacro" sera appelée

à copier dans le module feuille où l'action se déroule.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("N:N,R:R"))
If Not Rg Is Nothing Then
For Each c In Rg
Call MaMacro
Next
End If
End Sub
'-------------------------------


MichD
--------------------------------------------
"magic-dd" a écrit dans le message de groupe de discussion :


Bonjour

je cherche à faire fonctionner une macro qui ne démarrera uniquement
si je suis sur la cellule N&ligne() et R&ligne()

car lorsque je vais remplir par exemple en ligne 11 mes colonnes B,C,D
puis je vais en N alors ca demarrera ma macro quand je validerai cette
cellule

et ceci pour toutes les feuilles de mon classeur

merci de votre aide
magic-dd
Le #22953421
bonjour michdenis

merci à toi maitre de l'excel

en revanche , afin d'eviter de le mettre dans mes 12 feuilles, n'est
il pas possible de le mettre dans le thisworkbook?



On 23 déc, 16:37, "michdenis"
Bonjour,

chaque fois qu'une cellule des colonnes N ou R sera modifi e
la macro "MaMacro" sera appel e

copier dans le module feuille o l'action se d roule.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("N:N,R:R"))
If Not Rg Is Nothing Then
    For Each c In Rg
        Call MaMacro
    Next
End If
End Sub
'-------------------------------

MichD
--------------------------------------------
"magic-dd"  a crit dans le message de groupe de discussion :


Bonjour

je cherche faire fonctionner une macro qui ne d marrera uniquement
si je suis sur la cellule N&ligne() et R&ligne()

car lorsque je vais remplir par exemple en ligne 11 mes colonnes B,C,D
puis je vais en N alors ca demarrera ma macro quand je validerai cette
cellule

et ceci pour toutes les feuilles de mon classeur

merci de votre aide
michdenis
Le #22953461
Comme ceci :

Dans le ThisWorkbook
'------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Select Case Sh.CodeName
'Tu énumère toute les feuilles ...
'utilises la propriété Name des objets feuille
'visible seulement en VBA
Case Is = "Sheet1", "sheet3"
'Le reste du code donné


End Select
End Sub
'------------------------------


MichD
--------------------------------------------
"magic-dd" a écrit dans le message de groupe de discussion :


bonjour michdenis

merci à toi maitre de l'excel

en revanche , afin d'eviter de le mettre dans mes 12 feuilles, n'est
il pas possible de le mettre dans le thisworkbook?



On 23 déc, 16:37, "michdenis"
Bonjour,

chaque fois qu'une cellule des colonnes N ou R sera modifi e
la macro "MaMacro" sera appel e

copier dans le module feuille o l'action se d roule.
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("N:N,R:R"))
If Not Rg Is Nothing Then
For Each c In Rg
Call MaMacro
Next
End If
End Sub
'-------------------------------

MichD
--------------------------------------------
"magic-dd" a crit dans le message de groupe de discussion :


Bonjour

je cherche faire fonctionner une macro qui ne d marrera uniquement
si je suis sur la cellule N&ligne() et R&ligne()

car lorsque je vais remplir par exemple en ligne 11 mes colonnes B,C,D
puis je vais en N alors ca demarrera ma macro quand je validerai cette
cellule

et ceci pour toutes les feuilles de mon classeur

merci de votre aide
magic-dd
Le #22953511
Quelle rapidité

seulement je suis aussi mauvais que tu es rapide

voici ce que j'ai ecris

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)

Select Case Sh.CodeName
'Tu num re toute les feuilles ...
'utilises la propri t Name des objets feuille
'visible seulement en VBA

Case Is = "Feuil15", "Feuil3", "Feuil4", "Feuil5", "Feuil6",
"Feuil7", "Feuil8", "Feuil9", "Feuil10", "Feuil11", "Feuil12",
"Feuil13"
'Le reste du code donn

fin = Range("F65536").End(xlUp)(2).Row - 1

Dim Rg As Range

Set Rg = Intersect(Target, Range("N:N,R:R"))

If Not Rg Is Nothing Then

For Each c In Rg

Range("V" & fin).Formula = "=$V$6-SUM(N$9:N" & fin & ")+SUM(R$9:R"
& fin & ")"

Range("n5:x500").NumberFormat = "#,##0.00 $"

Next

End If

Application.ScreenUpdating = True

End Select
End Sub



On 23 déc, 17:13, "michdenis"
Comme ceci :

Dans le ThisWorkbook
'------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Rang e)

Select Case Sh.CodeName
    'Tu num re toute les feuilles ...
    'utilises la propri t Name des objets feuille
    'visible seulement en VBA
    Case Is = "Sheet1", "sheet3"
        'Le reste du code donn

End Select
End Sub
'------------------------------

MichD
--------------------------------------------
"magic-dd"  a crit dans le message de groupe de discussion :


bonjour michdenis

merci toi maitre de l'excel

en revanche , afin d'eviter de le mettre dans mes 12 feuilles, n'est
il pas possible de le mettre dans le thisworkbook?

On 23 d c, 16:37, "michdenis"


> Bonjour,

> chaque fois qu'une cellule des colonnes N ou R sera modifi e
> la macro "MaMacro" sera appel e

> copier dans le module feuille o l'action se d roule.
> '-------------------------------
> Private Sub Worksheet_Change(ByVal Target As Range)
> Dim Rg As Range
> Set Rg = Intersect(Target, Range("N:N,R:R"))
> If Not Rg Is Nothing Then
>     For Each c In Rg
>         Call MaMacro
>     Next
> End If
> End Sub
> '-------------------------------

> MichD
> --------------------------------------------
> "magic-dd"  a crit dans le message de groupe de discussion :
>

> Bonjour

> je cherche faire fonctionner une macro qui ne d marrera uniquement
> si je suis sur la cellule N&ligne() et R&ligne()

> car lorsque je vais remplir par exemple en ligne 11 mes colonnes B,C,D
> puis je vais en N alors ca demarrera ma macro quand je validerai cette
> cellule

> et ceci pour toutes les feuilles de mon classeur

> merci de votre aide
michdenis
Le #22954181
Dans le ThisWorkbook
'------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, _
ByVal Target As Range)
Dim Rg As Range, C As Range
aa = Sh.CodeName
Select Case Sh.CodeName
Case Is = "Feuil15", "Feuil3", "Feuil4", _
"Feuil5", "Feuil6", "Feuil7", "Feuil8", _
"Feuil9", "Feuil10", "Feuil11", _
"Feuil12", "Feuil13"

Set Rg = Intersect(Target, Range("N:N,R:R"))
If Not Rg Is Nothing Then
For Each C In Rg
Call MaMacro(C)
Next
End If
End Select
End Sub
'------------------------------

Dans un module standard : Ne te gêne pas pour apporter
des modifications s'il manque un ou des éléments à ce que
tu veux réaliser !
'------------------------------
Sub MaMacro(Rg As Range)
Dim Fin As Long
With Worksheets(Rg.Parent.Name)
Fin = .Cells(65536, Rg.Column).End(xlUp).Row
Application.EnableEvents = False
.Range("V" & Fin).Formula = "=$V$6-SUM(N$9:N" & _
Fin & ")+SUM(R$9:R" & Fin & ")"
Application.EnableEvents = False
End With
End Sub
'------------------------------



MichD
--------------------------------------------
"magic-dd" a écrit dans le message de groupe de discussion :


Quelle rapidité

seulement je suis aussi mauvais que tu es rapide

voici ce que j'ai ecris

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)

Select Case Sh.CodeName
'Tu num re toute les feuilles ...
'utilises la propri t Name des objets feuille
'visible seulement en VBA

Case Is = "Feuil15", "Feuil3", "Feuil4", "Feuil5", "Feuil6",
"Feuil7", "Feuil8", "Feuil9", "Feuil10", "Feuil11", "Feuil12",
"Feuil13"
'Le reste du code donn

fin = Range("F65536").End(xlUp)(2).Row - 1

Dim Rg As Range

Set Rg = Intersect(Target, Range("N:N,R:R"))

If Not Rg Is Nothing Then

For Each c In Rg

Range("V" & fin).Formula = "=$V$6-SUM(N$9:N" & fin & ")+SUM(R$9:R"
& fin & ")"

Range("n5:x500").NumberFormat = "#,##0.00 $"

Next

End If

Application.ScreenUpdating = True

End Select
End Sub



On 23 déc, 17:13, "michdenis"
Comme ceci :

Dans le ThisWorkbook
'------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Select Case Sh.CodeName
'Tu num re toute les feuilles ...
'utilises la propri t Name des objets feuille
'visible seulement en VBA
Case Is = "Sheet1", "sheet3"
'Le reste du code donn

End Select
End Sub
'------------------------------

MichD
--------------------------------------------
"magic-dd" a crit dans le message de groupe de discussion :


bonjour michdenis

merci toi maitre de l'excel

en revanche , afin d'eviter de le mettre dans mes 12 feuilles, n'est
il pas possible de le mettre dans le thisworkbook?

On 23 d c, 16:37, "michdenis"


> Bonjour,

> chaque fois qu'une cellule des colonnes N ou R sera modifi e
> la macro "MaMacro" sera appel e

> copier dans le module feuille o l'action se d roule.
> '-------------------------------
> Private Sub Worksheet_Change(ByVal Target As Range)
> Dim Rg As Range
> Set Rg = Intersect(Target, Range("N:N,R:R"))
> If Not Rg Is Nothing Then
> For Each c In Rg
> Call MaMacro
> Next
> End If
> End Sub
> '-------------------------------

> MichD
> --------------------------------------------
> "magic-dd" a crit dans le message de groupe de discussion :
>

> Bonjour

> je cherche faire fonctionner une macro qui ne d marrera uniquement
> si je suis sur la cellule N&ligne() et R&ligne()

> car lorsque je vais remplir par exemple en ligne 11 mes colonnes B,C,D
> puis je vais en N alors ca demarrera ma macro quand je validerai cette
> cellule

> et ceci pour toutes les feuilles de mon classeur

> merci de votre aide
Publicité
Poster une réponse
Anonyme