OVH Cloud OVH Cloud

Pour JB

3 réponses
Avatar
manu51
Juste une petite demande complementaire

merci encore pour cette macro qui marche tres bien mais voila le petit
complement
quand j'insere cette formule en feuille pas de probleme mais si je veux la
mettre dans plusieurs feuilles cela se complique.
y a t il une manipulation a faire pour que chaque cellules modifiées dans
chaque feuilles puissent changer de couleur et se reporter sur une feuille
globale lors de la mise à jour
exemple le meme que la derniere fois avec un complement
sur ma feuille 1

Exemple : colonne A colonne B colonne C
titi 20 56
toto 50 100

sur ma feuilles 2
colonne A colonne B colonne C
tutu 10 20
tata 30 40


sur ma feuille 3 je récupère ces données en réalisant des calculs

sur ma feuille 3

colonne A colonne B
A 50 (résultat de l'addition de la colonne B feuille 1 (titi
30) + résultat
de l'addition de la colonne B feuille 2 (tata 30) )
ect... si d'autres calculs


>
>
> Private Sub Worksheet_Change(ByVal Target As Range)
> n = n + 1
> tbl(n) = Replace(Target.Address, "$", "")
> Target.Interior.ColorIndex = 36
> End Sub
>
> Dans un module:
>
> Public tbl(100), n
> Sub coloriage()
> Cells.SpecialCells(xlCellTypeFormulas, 23).Select
> For Each c In Selection
> For i = 1 To n
> If InStr(c.Formula, tbl(i)) > 0 Then c.Interior.ColorIndex = 36
> Next i
> Next c
> End Sub
>
> Sub raz()
> Cells.SpecialCells(xlCellTypeFormulas, 23).Interior.ColorIndex =
> xlNone
> For i = 1 To n
> Sheets("Feuil1").Range(tbl(i)).Interior.ColorIndex = xlNone
> Next i
> n = 0
> End Sub
>
> JB

3 réponses

Avatar
JB
Bonjour,

http://cjoint.com/?jEi6xx8mt3

Private Sub Worksheet_Change(ByVal Target As Range)
n = n + 1
tbl(n) = ActiveSheet.Name & "!" & Replace(Target.Address, "$", "")
Target.Interior.ColorIndex = 36
End Sub

Colorie les cellules dont la valeur a été modifiée dans
feuille1,feuille2,..

Public tbl(100), n
Sub coloriage()
Cells.SpecialCells(xlCellTypeFormulas, 23).Select
For Each c In Selection
For i = 1 To n
If InStr(Replace(c.Formula, "$", ""), tbl(i)) > 0 Then
c.Interior.ColorIndex = 36
Next i
Next c
End Sub

Sub raz()
Cells.SpecialCells(xlCellTypeFormulas, 23).Interior.ColorIndex =
xlNone
For i = 1 To n
Range(tbl(i)).Interior.ColorIndex = xlNone
Next i
n = 0
End Sub

JB


Juste une petite demande complementaire

merci encore pour cette macro qui marche tres bien mais voila le petit
complement
quand j'insere cette formule en feuille pas de probleme mais si je veux la
mettre dans plusieurs feuilles cela se complique.
y a t il une manipulation a faire pour que chaque cellules modifiées dans
chaque feuilles puissent changer de couleur et se reporter sur une feuille
globale lors de la mise à jour
exemple le meme que la derniere fois avec un complement
sur ma feuille 1

Exemple : colonne A colonne B colonne C
titi 20 56
toto 50 100

sur ma feuilles 2
colonne A colonne B colonne C
tutu 10 20
tata 30 40


sur ma feuille 3 je récupère ces données en réalisant des calculs

sur ma feuille 3

colonne A colonne B
A 50 (résultat de l'addition de la colonne B feuille 1 (titi
30) + résultat
de l'addition de la colonne B feuille 2 (tata 30) )
ect... si d'autres calculs




Private Sub Worksheet_Change(ByVal Target As Range)
n = n + 1
tbl(n) = Replace(Target.Address, "$", "")
Target.Interior.ColorIndex = 36
End Sub

Dans un module:

Public tbl(100), n
Sub coloriage()
Cells.SpecialCells(xlCellTypeFormulas, 23).Select
For Each c In Selection
For i = 1 To n
If InStr(c.Formula, tbl(i)) > 0 Then c.Interior.ColorIndex = 36
Next i
Next c
End Sub

Sub raz()
Cells.SpecialCells(xlCellTypeFormulas, 23).Interior.ColorIndex =
xlNone
For i = 1 To n
Sheets("Feuil1").Range(tbl(i)).Interior.ColorIndex = xlNone
Next i
n = 0
End Sub

JB




Avatar
manu51
Bonjour JB

merci pour ta reponse j'ai juste un probleme il me dit que j'ai une erreur
de compilation instruction incorrecte à l'interieure d'une procedure.
et la procedure semble etre la varaible PuPublic tbl(100), n puisque 100 est
mis en gras
que se passe t-il?



Bonjour,

http://cjoint.com/?jEi6xx8mt3

Private Sub Worksheet_Change(ByVal Target As Range)
n = n + 1
tbl(n) = ActiveSheet.Name & "!" & Replace(Target.Address, "$", "")
Target.Interior.ColorIndex = 36
End Sub

Colorie les cellules dont la valeur a été modifiée dans
feuille1,feuille2,..

Public tbl(100), n
Sub coloriage()
Cells.SpecialCells(xlCellTypeFormulas, 23).Select
For Each c In Selection
For i = 1 To n
If InStr(Replace(c.Formula, "$", ""), tbl(i)) > 0 Then
c.Interior.ColorIndex = 36
Next i
Next c
End Sub

Sub raz()
Cells.SpecialCells(xlCellTypeFormulas, 23).Interior.ColorIndex > xlNone
For i = 1 To n
Range(tbl(i)).Interior.ColorIndex = xlNone
Next i
n = 0
End Sub

JB


Juste une petite demande complementaire

merci encore pour cette macro qui marche tres bien mais voila le petit
complement
quand j'insere cette formule en feuille pas de probleme mais si je veux la
mettre dans plusieurs feuilles cela se complique.
y a t il une manipulation a faire pour que chaque cellules modifiées dans
chaque feuilles puissent changer de couleur et se reporter sur une feuille
globale lors de la mise à jour
exemple le meme que la derniere fois avec un complement
sur ma feuille 1

Exemple : colonne A colonne B colonne C
titi 20 56
toto 50 100

sur ma feuilles 2
colonne A colonne B colonne C
tutu 10 20
tata 30 40


sur ma feuille 3 je récupère ces données en réalisant des calculs

sur ma feuille 3

colonne A colonne B
A 50 (résultat de l'addition de la colonne B feuille 1 (titi
30) + résultat
de l'addition de la colonne B feuille 2 (tata 30) )
ect... si d'autres calculs




Private Sub Worksheet_Change(ByVal Target As Range)
n = n + 1
tbl(n) = Replace(Target.Address, "$", "")
Target.Interior.ColorIndex = 36
End Sub

Dans un module:

Public tbl(100), n
Sub coloriage()
Cells.SpecialCells(xlCellTypeFormulas, 23).Select
For Each c In Selection
For i = 1 To n
If InStr(c.Formula, tbl(i)) > 0 Then c.Interior.ColorIndex = 36
Next i
Next c
End Sub

Sub raz()
Cells.SpecialCells(xlCellTypeFormulas, 23).Interior.ColorIndex > > > xlNone
For i = 1 To n
Sheets("Feuil1").Range(tbl(i)).Interior.ColorIndex = xlNone
Next i
n = 0
End Sub

JB








Avatar
manu51
juste une info complementaire cette instruction arrive lors d'un changement
de données dans la feuille 1 et 2
voila bonne journée


Bonjour,

http://cjoint.com/?jEi6xx8mt3

Private Sub Worksheet_Change(ByVal Target As Range)
n = n + 1
tbl(n) = ActiveSheet.Name & "!" & Replace(Target.Address, "$", "")
Target.Interior.ColorIndex = 36
End Sub

Colorie les cellules dont la valeur a été modifiée dans
feuille1,feuille2,..

Public tbl(100), n
Sub coloriage()
Cells.SpecialCells(xlCellTypeFormulas, 23).Select
For Each c In Selection
For i = 1 To n
If InStr(Replace(c.Formula, "$", ""), tbl(i)) > 0 Then
c.Interior.ColorIndex = 36
Next i
Next c
End Sub

Sub raz()
Cells.SpecialCells(xlCellTypeFormulas, 23).Interior.ColorIndex > xlNone
For i = 1 To n
Range(tbl(i)).Interior.ColorIndex = xlNone
Next i
n = 0
End Sub

JB


Juste une petite demande complementaire

merci encore pour cette macro qui marche tres bien mais voila le petit
complement
quand j'insere cette formule en feuille pas de probleme mais si je veux la
mettre dans plusieurs feuilles cela se complique.
y a t il une manipulation a faire pour que chaque cellules modifiées dans
chaque feuilles puissent changer de couleur et se reporter sur une feuille
globale lors de la mise à jour
exemple le meme que la derniere fois avec un complement
sur ma feuille 1

Exemple : colonne A colonne B colonne C
titi 20 56
toto 50 100

sur ma feuilles 2
colonne A colonne B colonne C
tutu 10 20
tata 30 40


sur ma feuille 3 je récupère ces données en réalisant des calculs

sur ma feuille 3

colonne A colonne B
A 50 (résultat de l'addition de la colonne B feuille 1 (titi
30) + résultat
de l'addition de la colonne B feuille 2 (tata 30) )
ect... si d'autres calculs




Private Sub Worksheet_Change(ByVal Target As Range)
n = n + 1
tbl(n) = Replace(Target.Address, "$", "")
Target.Interior.ColorIndex = 36
End Sub

Dans un module:

Public tbl(100), n
Sub coloriage()
Cells.SpecialCells(xlCellTypeFormulas, 23).Select
For Each c In Selection
For i = 1 To n
If InStr(c.Formula, tbl(i)) > 0 Then c.Interior.ColorIndex = 36
Next i
Next c
End Sub

Sub raz()
Cells.SpecialCells(xlCellTypeFormulas, 23).Interior.ColorIndex > > > xlNone
For i = 1 To n
Sheets("Feuil1").Range(tbl(i)).Interior.ColorIndex = xlNone
Next i
n = 0
End Sub

JB