Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de news:
%Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro "test"
à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la macro
"test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette macro
dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont la
valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier
est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme on
est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge les
cellules
sont la valeur à augmentée.
Est-possible?
Merci
Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
Daniel
Tu testes avec mon classeur ?
Daniel
Non j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23k263n89JHA.1336@TK2MSFTNGP05.phx.gbl...
Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro "test"
à l'ouverture du classeur.
Daniel
Merci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
OWwmxhy9JHA.1492@TK2MSFTNGP03.phx.gbl...
Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la macro
"test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette macro
dans :
Private Sub Worksheet_Change(ByVal Target As Range)
Daniel
Merci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont la
valeur à changée et non toute la Range.
Merci
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: %23uFsMZx9JHA.5040@TK2MSFTNGP04.phx.gbl...
Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier
est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme on
est samedi, difficile de tester.
Daniel
Bonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge les
cellules
sont la valeur à augmentée.
Est-possible?
Merci
Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de news:
%Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro "test"
à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la macro
"test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette macro
dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont la
valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier
est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme on
est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge les
cellules
sont la valeur à augmentée.
Est-possible?
Merci
Merci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" a écrit dans le message de news:
%Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de news:
%Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro "test"
à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la macro
"test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette macro
dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont la
valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier est
C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme on
est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge les
cellules
sont la valeur à augmentée.
Est-possible?
Merci
Merci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23bXpEJ99JHA.3544@TK2MSFTNGP04.phx.gbl...
Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
Daniel
Tu testes avec mon classeur ?
Daniel
Non j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23k263n89JHA.1336@TK2MSFTNGP05.phx.gbl...
Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro "test"
à l'ouverture du classeur.
Daniel
Merci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
OWwmxhy9JHA.1492@TK2MSFTNGP03.phx.gbl...
Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la macro
"test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette macro
dans :
Private Sub Worksheet_Change(ByVal Target As Range)
Daniel
Merci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont la
valeur à changée et non toute la Range.
Merci
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: %23uFsMZx9JHA.5040@TK2MSFTNGP04.phx.gbl...
Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier est
C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme on
est samedi, difficile de tester.
Daniel
Bonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge les
cellules
sont la valeur à augmentée.
Est-possible?
Merci
Merci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" a écrit dans le message de news:
%Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de news:
%Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro "test"
à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la macro
"test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette macro
dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont la
valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier est
C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme on
est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge les
cellules
sont la valeur à augmentée.
Est-possible?
Merci
Détaille exactement les opérations que tu fais après l'ouverture du
classeur.
DanielMerci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" a écrit dans le message de news:
%Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de news:
%Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro
"test" à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de
news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la
macro "test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette
macro dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont
la valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier
est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme
on est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge
les cellules
sont la valeur à augmentée.
Est-possible?
Merci
Détaille exactement les opérations que tu fais après l'ouverture du
classeur.
Daniel
Merci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23bXpEJ99JHA.3544@TK2MSFTNGP04.phx.gbl...
Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
Daniel
Tu testes avec mon classeur ?
Daniel
Non j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23k263n89JHA.1336@TK2MSFTNGP05.phx.gbl...
Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro
"test" à l'ouverture du classeur.
Daniel
Merci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: OWwmxhy9JHA.1492@TK2MSFTNGP03.phx.gbl...
Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la
macro "test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette
macro dans :
Private Sub Worksheet_Change(ByVal Target As Range)
Daniel
Merci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont
la valeur à changée et non toute la Range.
Merci
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: %23uFsMZx9JHA.5040@TK2MSFTNGP04.phx.gbl...
Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier
est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme
on est samedi, difficile de tester.
Daniel
Bonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge
les cellules
sont la valeur à augmentée.
Est-possible?
Merci
Détaille exactement les opérations que tu fais après l'ouverture du
classeur.
DanielMerci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" a écrit dans le message de news:
%Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de news:
%Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro
"test" à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de
news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la
macro "test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette
macro dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont
la valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier
est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme
on est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge
les cellules
sont la valeur à augmentée.
Est-possible?
Merci
Je mets à jour, me positionne sur la range c3:c12 et modifie une valeur.
Une fois cela marche la seconde j'ai le message d'erreur
"Daniel.C" a écrit dans le message de news:Détaille exactement les opérations que tu fais après l'ouverture du
classeur.
DanielMerci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" a écrit dans le message de news:
%Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de news:
%Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro
"test" à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de
news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la
macro "test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette macro
dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont la
valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier
est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme
on est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge les
cellules
sont la valeur à augmentée.
Est-possible?
Merci
Je mets à jour, me positionne sur la range c3:c12 et modifie une valeur.
Une fois cela marche la seconde j'ai le message d'erreur
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
eqpTbo99JHA.1380@TK2MSFTNGP02.phx.gbl...
Détaille exactement les opérations que tu fais après l'ouverture du
classeur.
Daniel
Merci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23bXpEJ99JHA.3544@TK2MSFTNGP04.phx.gbl...
Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
Daniel
Tu testes avec mon classeur ?
Daniel
Non j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23k263n89JHA.1336@TK2MSFTNGP05.phx.gbl...
Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro
"test" à l'ouverture du classeur.
Daniel
Merci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: OWwmxhy9JHA.1492@TK2MSFTNGP03.phx.gbl...
Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la
macro "test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette macro
dans :
Private Sub Worksheet_Change(ByVal Target As Range)
Daniel
Merci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont la
valeur à changée et non toute la Range.
Merci
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: %23uFsMZx9JHA.5040@TK2MSFTNGP04.phx.gbl...
Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier
est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme
on est samedi, difficile de tester.
Daniel
Bonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge les
cellules
sont la valeur à augmentée.
Est-possible?
Merci
Je mets à jour, me positionne sur la range c3:c12 et modifie une valeur.
Une fois cela marche la seconde j'ai le message d'erreur
"Daniel.C" a écrit dans le message de news:Détaille exactement les opérations que tu fais après l'ouverture du
classeur.
DanielMerci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" a écrit dans le message de news:
%Le problème se produit quand on entre une valeur dans une cellule de la
feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de news:
%Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro
"test" à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de
news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la
macro "test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette macro
dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont la
valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à colorier
est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama. Comme
on est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser en
vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge les
cellules
sont la valeur à augmentée.
Est-possible?
Merci
Nan, faut pas toucher à A1:C12. C'est la zone qui est mise à jour
auomatiquement par la requête web. C'est pas prévu que tu bidouilles
dedans. Si tu veux modifier les valeurs avant mise à jour, il faut
modifier dans la macro Test.
Tabl(0)Ã, Tabl(1)Ä etc.
Le principe est le suivant. A l'ouverture, une macro stocke les valeurs de
C3:C12 dans la variable Tabl.
Lorsque la requête est actualisée, les données A1:C12 sont écrasées par
les nouvelles en provenance du site Web, PUIS la macro Worksheet_Change
est activée. Chaque cellule est comparée avec son ancienne valeur (dans
Tabl), la mise en couleurs se fait ou non, on attend 2 secondes, puis, les
valeurs de C3:C12 sont à leur tour stockées dans Tabl.
DanielJe mets à jour, me positionne sur la range c3:c12 et modifie une valeur.
Une fois cela marche la seconde j'ai le message d'erreur
"Daniel.C" a écrit dans le message de news:Détaille exactement les opérations que tu fais après l'ouverture du
classeur.
DanielMerci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" a écrit dans le message de news:
%Le problème se produit quand on entre une valeur dans une cellule de
la feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de
news: %Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro
"test" à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de
news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la
macro "test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette
macro dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont
la valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à
colorier est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2
Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama.
Comme on est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser
en vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge
les cellules
sont la valeur à augmentée.
Est-possible?
Merci
Nan, faut pas toucher à A1:C12. C'est la zone qui est mise à jour
auomatiquement par la requête web. C'est pas prévu que tu bidouilles
dedans. Si tu veux modifier les valeurs avant mise à jour, il faut
modifier dans la macro Test.
Tabl(0)Ã, Tabl(1)Ä etc.
Le principe est le suivant. A l'ouverture, une macro stocke les valeurs de
C3:C12 dans la variable Tabl.
Lorsque la requête est actualisée, les données A1:C12 sont écrasées par
les nouvelles en provenance du site Web, PUIS la macro Worksheet_Change
est activée. Chaque cellule est comparée avec son ancienne valeur (dans
Tabl), la mise en couleurs se fait ou non, on attend 2 secondes, puis, les
valeurs de C3:C12 sont à leur tour stockées dans Tabl.
Daniel
Je mets à jour, me positionne sur la range c3:c12 et modifie une valeur.
Une fois cela marche la seconde j'ai le message d'erreur
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
eqpTbo99JHA.1380@TK2MSFTNGP02.phx.gbl...
Détaille exactement les opérations que tu fais après l'ouverture du
classeur.
Daniel
Merci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23bXpEJ99JHA.3544@TK2MSFTNGP04.phx.gbl...
Le problème se produit quand on entre une valeur dans une cellule de
la feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
Daniel
Tu testes avec mon classeur ?
Daniel
Non j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: %23k263n89JHA.1336@TK2MSFTNGP05.phx.gbl...
Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro
"test" à l'ouverture du classeur.
Daniel
Merci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: OWwmxhy9JHA.1492@TK2MSFTNGP03.phx.gbl...
Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la
macro "test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette
macro dans :
Private Sub Worksheet_Change(ByVal Target As Range)
Daniel
Merci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont
la valeur à changée et non toute la Range.
Merci
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: %23uFsMZx9JHA.5040@TK2MSFTNGP04.phx.gbl...
Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à
colorier est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2
Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama.
Comme on est samedi, difficile de tester.
Daniel
Bonjour,
Sur une range liée à une requête Web, je cherche à coloriser
en vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge
les cellules
sont la valeur à augmentée.
Est-possible?
Merci
Nan, faut pas toucher à A1:C12. C'est la zone qui est mise à jour
auomatiquement par la requête web. C'est pas prévu que tu bidouilles
dedans. Si tu veux modifier les valeurs avant mise à jour, il faut
modifier dans la macro Test.
Tabl(0)Ã, Tabl(1)Ä etc.
Le principe est le suivant. A l'ouverture, une macro stocke les valeurs de
C3:C12 dans la variable Tabl.
Lorsque la requête est actualisée, les données A1:C12 sont écrasées par
les nouvelles en provenance du site Web, PUIS la macro Worksheet_Change
est activée. Chaque cellule est comparée avec son ancienne valeur (dans
Tabl), la mise en couleurs se fait ou non, on attend 2 secondes, puis, les
valeurs de C3:C12 sont à leur tour stockées dans Tabl.
DanielJe mets à jour, me positionne sur la range c3:c12 et modifie une valeur.
Une fois cela marche la seconde j'ai le message d'erreur
"Daniel.C" a écrit dans le message de news:Détaille exactement les opérations que tu fais après l'ouverture du
classeur.
DanielMerci Daniel
Mais toujours la même erreur je ne comprends plus rien
"Daniel.C" a écrit dans le message de news:
%Le problème se produit quand on entre une valeur dans une cellule de
la feuille.
Modifie la macro du module feuille comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
If Intersect([C3:C12], Target) Is Nothing Then Exit Sub
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Ctr = Ctr + 1
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2 Then
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
test
End Sub
DanielTu testes avec mon classeur ?
DanielNon j'ai la même erreur, je ne comprends pas pourquoi?
Dans l'aide ils disent:
Vous avez fait référence à un élément de tableau inexistant.??
Pourtant tout est correctement déclaré
"Daniel.C" a écrit dans le message de
news: %Bizarre.
Essaie avec ce classeur :
http://www.cijoint.fr/cjlink.php?file=cj200906/cij9wCKTKm.xls
J'ai ajouté un bouton pour l'actualisation et l'appel à la macro
"test" à l'ouverture du classeur.
DanielMerci Daniel,
Cela fonctionne une fois et ensuite
--> L'indice n'appartient pas à la sélection sur la ligne
If c.Value > tabl(Ctr) Then
Dans le Private sub.
J'ai enlevé l'appel à la procédure test
Pascal
"Daniel.C" a écrit dans le message de
news:Petite ? erreur de ma part. Pour pouvoir tester, j'ai ajouté la
macro "test" dans le module1 qui modifie les valeurs en C3 et C4.
http://www.cijoint.fr/cjlink.php?file=cj200906/cij8gz1wxx.xls
Une fois les tests terminés, il faudra enlever l'appel à cette
macro dans :
Private Sub Worksheet_Change(ByVal Target As Range)
DanielMerci Daniel,
Mais comment faire pour que cela soit uniquement la cellule dont
la valeur à changée et non toute la Range.
Merci
"Daniel.C" a écrit dans le message de
news: %Bonjour.
Regarde le fichier là :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijliUUAJr.xls
La plage mise à jour est A1:C12, la plage de cellules à
colorier est C3:C12. Tu devras adapter les macros à tes plages.
Dans une module standard, mets :
Public Tabl() as Double
Dans ThisWorkbook", mets :
Private Sub Workbook_Open()
ReDim Tabl(0)
For Each c In [Feuil1!C3:C12]
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
Next
End Sub
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, Ctr As Long
Ctr = 0
For Each c In [C3:C12]
If c.Value > Tabl(Ctr) Then
c.Interior.ColorIndex = 4
ElseIf c.Value < Tabl(Ctr) Then
c.Interior.ColorIndex = 3
End If
Next c
Ctr = 0
Application.Wait Now + TimeValue("00:00:02")
[C3:C12].Interior.ColorIndex = xlNone
ReDim Tabl(0)
For Each c In Target
If Not Intersect(c, Columns(3)) Is Nothing And c.Row > 2
Then
Var = c.Address
ReDim Preserve Tabl(Ctr)
Tabl(Ctr) = c.Value
Ctr = Ctr + 1
End If
Next
End Sub
PS. J'ai testé avec les cours de Carrefour sur Boursorama.
Comme on est samedi, difficile de tester.
DanielBonjour,
Sur une range liée à une requête Web, je cherche à coloriser
en vert durant
2 secondes les cellules dont la valeur à diminuée et en rouge
les cellules
sont la valeur à augmentée.
Est-possible?
Merci