sur une zone A1:B17 où 30 cellules sont déverouillée de façon discontinue
!Cela n'en fait que deux de verrouillées
Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules concernées
par une action puis faire l'action que de faire l'action sur chaque
cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la première
met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon discontinue
et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post de
septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sur une zone A1:B17 où 30 cellules sont déverouillée de façon discontinue
!Cela n'en fait que deux de verrouillées
Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules concernées
par une action puis faire l'action que de faire l'action sur chaque
cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la première
met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon discontinue
et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post de
septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sur une zone A1:B17 où 30 cellules sont déverouillée de façon discontinue
!Cela n'en fait que deux de verrouillées
Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules concernées
par une action puis faire l'action que de faire l'action sur chaque
cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la première
met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon discontinue
et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post de
septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuille
J'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
'lSteph
"Oliv'" <(supprimerceci) a écrit dans le
message de news:Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post
de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuille
J'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
'lSteph
"Oliv'" <(supprimerceci)catteau@ricour-assurances.fr> a écrit dans le
message de news: eSK4StK1FHA.3660@TK2MSFTNGP15.phx.gbl...
Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post
de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuille
J'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
'lSteph
"Oliv'" <(supprimerceci) a écrit dans le
message de news:Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post
de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LSteph que je salut a écritsur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
non c'est moi ma zone était en fait a1:c17Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuilleJ'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
tu selectionnes bien ta zone avant et tu obtiens des changements de
couleurs?Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
sur mon poste 16 sec avec ta requete en selectionnant a1:p41
avec 37 cellules locked = false
C'est apparemment l'opération interior.color qui est longue
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée 5minutes chez moi !!!!! dingue
c'est un P4 2.66GHZ office 2003 SP2
Merci du retour
à +
Oliv'
'lSteph
"Oliv'" <(supprimerceci) a écrit dans le
message de news:Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post
de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LSteph <lecocosteph@frite.fr> que je salut a écrit
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
non c'est moi ma zone était en fait a1:c17
Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuille
J'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
tu selectionnes bien ta zone avant et tu obtiens des changements de
couleurs?
Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
sur mon poste 16 sec avec ta requete en selectionnant a1:p41
avec 37 cellules locked = false
C'est apparemment l'opération interior.color qui est longue
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée 5minutes chez moi !!!!! dingue
c'est un P4 2.66GHZ office 2003 SP2
Merci du retour
à +
Oliv'
'lSteph
"Oliv'" <(supprimerceci)catteau@ricour-assurances.fr> a écrit dans le
message de news: eSK4StK1FHA.3660@TK2MSFTNGP15.phx.gbl...
Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post
de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LSteph que je salut a écritsur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
non c'est moi ma zone était en fait a1:c17Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuilleJ'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
tu selectionnes bien ta zone avant et tu obtiens des changements de
couleurs?Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
sur mon poste 16 sec avec ta requete en selectionnant a1:p41
avec 37 cellules locked = false
C'est apparemment l'opération interior.color qui est longue
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée 5minutes chez moi !!!!! dingue
c'est un P4 2.66GHZ office 2003 SP2
Merci du retour
à +
Oliv'
'lSteph
"Oliv'" <(supprimerceci) a écrit dans le
message de news:Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post
de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée
1 seconde
LSteph que je salut a écritsur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
non c'est moi ma zone était en fait a1:c17Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuilleJ'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
tu selectionnes bien ta zone avant et tu obtiens des changements de
couleurs?Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
sur mon poste 16 sec avec ta requete en selectionnant a1:p41
avec 37 cellules locked = false
C'est apparemment l'opération interior.color qui est longue
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée 5minutes chez moi !!!!! dingue
c'est un P4 2.66GHZ office 2003 SP2
Merci du retour
à +
Oliv'
'lSteph
"Oliv'" <(supprimerceci) a écrit dans le
message de news:Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post
de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée
1 seconde
LSteph <lecocosteph@frite.fr> que je salut a écrit
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
non c'est moi ma zone était en fait a1:c17
Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuille
J'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
tu selectionnes bien ta zone avant et tu obtiens des changements de
couleurs?
Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
sur mon poste 16 sec avec ta requete en selectionnant a1:p41
avec 37 cellules locked = false
C'est apparemment l'opération interior.color qui est longue
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée 5minutes chez moi !!!!! dingue
c'est un P4 2.66GHZ office 2003 SP2
Merci du retour
à +
Oliv'
'lSteph
"Oliv'" <(supprimerceci)catteau@ricour-assurances.fr> a écrit dans le
message de news: eSK4StK1FHA.3660@TK2MSFTNGP15.phx.gbl...
Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post
de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée
1 seconde
LSteph que je salut a écritsur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
non c'est moi ma zone était en fait a1:c17Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuilleJ'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
tu selectionnes bien ta zone avant et tu obtiens des changements de
couleurs?Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
sur mon poste 16 sec avec ta requete en selectionnant a1:p41
avec 37 cellules locked = false
C'est apparemment l'opération interior.color qui est longue
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée 5minutes chez moi !!!!! dingue
c'est un P4 2.66GHZ office 2003 SP2
Merci du retour
à +
Oliv'
'lSteph
"Oliv'" <(supprimerceci) a écrit dans le
message de news:Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur post
de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Re, suite,
Je viens de testeressaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée
1 seconde
idem feuille protègée ou non (même version excel)
?bizarre t'aurais pas d'autres processi dans le gestionnaire des
tâches ou un truc qui fait peiner ton PC
ou bien un tas de truc dans un autre classeur ouvert ou une mefc ou un
chmilblic évènementiel qui tourne en permanence.
EXACT !! j'ai des "coller images avec liaison" c'est ca qui foutait le
lSteph
"Oliv'" <(supprimerceci) a écrit dans le
message de news:
LSteph que je salut a écritsur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
non c'est moi ma zone était en fait a1:c17Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuilleJ'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
tu selectionnes bien ta zone avant et tu obtiens des changements de
couleurs?Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
sur mon poste 16 sec avec ta requete en selectionnant a1:p41
avec 37 cellules locked = false
C'est apparemment l'opération interior.color qui est longue
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée 5minutes chez moi !!!!! dingue
c'est un P4 2.66GHZ office 2003 SP2
Merci du retour
à +
Oliv'
'lSteph
"Oliv'" <(supprimerceci) a écrit dans
le message de news:Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur
post de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Re, suite,
Je viens de tester
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée
1 seconde
idem feuille protègée ou non (même version excel)
?bizarre t'aurais pas d'autres processi dans le gestionnaire des
tâches ou un truc qui fait peiner ton PC
ou bien un tas de truc dans un autre classeur ouvert ou une mefc ou un
chmilblic évènementiel qui tourne en permanence.
EXACT !! j'ai des "coller images avec liaison" c'est ca qui foutait le
lSteph
"Oliv'" <(supprimerceci)catteau@ricour-assurances.fr> a écrit dans le
message de news: OT94u7M1FHA.2792@tk2msftngp13.phx.gbl...
LSteph <lecocosteph@frite.fr> que je salut a écrit
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
non c'est moi ma zone était en fait a1:c17
Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuille
J'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
tu selectionnes bien ta zone avant et tu obtiens des changements de
couleurs?
Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
sur mon poste 16 sec avec ta requete en selectionnant a1:p41
avec 37 cellules locked = false
C'est apparemment l'opération interior.color qui est longue
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée 5minutes chez moi !!!!! dingue
c'est un P4 2.66GHZ office 2003 SP2
Merci du retour
à +
Oliv'
'lSteph
"Oliv'" <(supprimerceci)catteau@ricour-assurances.fr> a écrit dans
le message de news: eSK4StK1FHA.3660@TK2MSFTNGP15.phx.gbl...
Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur
post de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Re, suite,
Je viens de testeressaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée
1 seconde
idem feuille protègée ou non (même version excel)
?bizarre t'aurais pas d'autres processi dans le gestionnaire des
tâches ou un truc qui fait peiner ton PC
ou bien un tas de truc dans un autre classeur ouvert ou une mefc ou un
chmilblic évènementiel qui tourne en permanence.
EXACT !! j'ai des "coller images avec liaison" c'est ca qui foutait le
lSteph
"Oliv'" <(supprimerceci) a écrit dans le
message de news:
LSteph que je salut a écritsur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue
!Cela n'en fait que deux de verrouillées
non c'est moi ma zone était en fait a1:c17Donc j'ai fais avec plus ou moins de 1 à 30(verouillées ou non)
Feuille protègée ou pas idem.
oui pas de protection sur la feuilleJ'obtiens avec ceci,
??Maxi 1 seconde de A1 à P41, en dessous 0 secondes.
tu selectionnes bien ta zone avant et tu obtiens des changements de
couleurs?Sub toliv()
Dim ttt As Double
Dim c As Range
ttt = Time
Application.ScreenUpdating = False
For Each c In Selection.Cells
If c.Locked = False Then c.Interior.ColorIndex = 27
Next
Application.ScreenUpdating = True
MsgBox CStr(Time - ttt)
je vais profiter pour simplifier mon calcul de temp merci !
End Sub
sur mon poste 16 sec avec ta requete en selectionnant a1:p41
avec 37 cellules locked = false
C'est apparemment l'opération interior.color qui est longue
essaye un peu en mettant le teste ...locked = true
sur a1:p41 entierement verrouillée 5minutes chez moi !!!!! dingue
c'est un P4 2.66GHZ office 2003 SP2
Merci du retour
à +
Oliv'
'lSteph
"Oliv'" <(supprimerceci) a écrit dans
le message de news:Bonjour,
Petite astuce pour accélerer vos macros.
Il vaut mieux stocker les adresses de l'ensemble des cellules
concernées par une action puis faire l'action que de faire l'action
sur chaque cellule. (sais pas si c'est bien clair !! ;-)))
exemple pour changer la couleur de cellules déverouillées : la
première met moins de 1 seconde la deuxième 15 sec
sur une zone A1:B17 où 30 cellules sont déverouillée de façon
discontinue et plus y en a plus c'est impressionant !!!
Sub celllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
If rng Is Nothing Then
Set rng = cellule
Else
Set rng = Union(rng, cellule)
End If
End If
Next cellule
If rng Is Nothing Then
MsgBox "pas de cellule deverouillée"
Exit Sub
End If
rng.Interior.ColorIndex = 40
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
'#############################
Sub moinsrapidecelllocked()
' Macro enregistrée le 12/10/2005 par Oliv'
Dim rng As Range
Dim t0 As Date
Dim t1 As Date
Dim tf As Date
t0 = Time
Application.ScreenUpdating = False
Range("a1", Cells.SpecialCells(xlCellTypeLastCell)).Select
For Each cellule In Selection
If cellule.Locked = False Then
cellule.Interior.ColorIndex = 40
End If
Next cellule
Application.ScreenUpdating = True
t1 = Time
tf = (t1 - t0)
MsgBox prompt:="Ok !" & tf
End Sub
Merci notamment à Thomas Corvaisier et Laurent LONGRE pour leur
post de septembre 2000
http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/b17fce0e5894f342/0686b39583862727?lnk=st&q=range+plusieurs+lignes+discontinue&rnum=1
et merci groups.google !!!!
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EXACT !! j'ai des "coller images avec liaison" c'est ca qui foutait le
bordel
c'était quand même étrange que cela demandait autant de temps !!!
faut que je les désactive
en tout cas merci bcp
EXACT !! j'ai des "coller images avec liaison" c'est ca qui foutait le
bordel
c'était quand même étrange que cela demandait autant de temps !!!
faut que je les désactive
en tout cas merci bcp
EXACT !! j'ai des "coller images avec liaison" c'est ca qui foutait le
bordel
c'était quand même étrange que cela demandait autant de temps !!!
faut que je les désactive
en tout cas merci bcp