Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens dans
un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"), Range("D106:D126"),
Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens dans
un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"), Range("D106:D126"),
Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens dans
un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"), Range("D106:D126"),
Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"), Range("D106:D126"),
Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"), Range("D106:D126"),
Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44EB6F4F.4010905@free.fr...
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"), Range("D106:D126"),
Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44EB6F4F.4010905@free.fr...
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Ça ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton avec
cette macro, rien ne change et il reste à la même place. (ça fais comme un
flash), comme s'il y allait quant même dans l'autre onglet et il revient à
la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Ça ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton avec
cette macro, rien ne change et il reste à la même place. (ça fais comme un
flash), comme s'il y allait quant même dans l'autre onglet et il revient à
la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44ECACD8.3030103@free.fr...
Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44EB6F4F.4010905@free.fr...
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Ça ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton avec
cette macro, rien ne change et il reste à la même place. (ça fais comme un
flash), comme s'il y allait quant même dans l'autre onglet et il revient à
la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active avant
le lancement de la macro redevienne active après l'exécution du code, il
faut mémoriser son emplacement en début de code et activer la cellule en
fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de présenter
toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton avec
cette macro, rien ne change et il reste à la même place. (ça fais comme
un flash), comme s'il y allait quant même dans l'autre onglet et il
revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution du
code, il faut mémoriser son emplacement en début de code et activer la
cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes
environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelle
Ça ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton avec
cette macro, rien ne change et il reste à la même place. (ça fais comme
un flash), comme s'il y allait quant même dans l'autre onglet et il
revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44ECACD8.3030103@free.fr...
Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44EB6F4F.4010905@free.fr...
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution du
code, il faut mémoriser son emplacement en début de code et activer la
cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes
environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton avec
cette macro, rien ne change et il reste à la même place. (ça fais comme
un flash), comme s'il y allait quant même dans l'autre onglet et il
revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution du
code, il faut mémoriser son emplacement en début de code et activer la
cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes
environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Je mets ça où Isabelle?
"isabelle" a écrit dans le message de news:bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton avec
cette macro, rien ne change et il reste à la même place. (ça fais comme
un flash), comme s'il y allait quant même dans l'autre onglet et il
revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution du
code, il faut mémoriser son emplacement en début de code et activer la
cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes
environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Je mets ça où Isabelle?
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
u0zqvq4xGHA.3488@TK2MSFTNGP02.phx.gbl...
bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelle
Ça ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton avec
cette macro, rien ne change et il reste à la même place. (ça fais comme
un flash), comme s'il y allait quant même dans l'autre onglet et il
revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44ECACD8.3030103@free.fr...
Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44EB6F4F.4010905@free.fr...
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution du
code, il faut mémoriser son emplacement en début de code et activer la
cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes
environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Je mets ça où Isabelle?
"isabelle" a écrit dans le message de news:bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton avec
cette macro, rien ne change et il reste à la même place. (ça fais comme
un flash), comme s'il y allait quant même dans l'autre onglet et il
revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que la
feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution du
code, il faut mémoriser son emplacement en début de code et activer la
cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je reviens
dans un onglet, les lignes ce déplacent par batch de 100 lignes
environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
avant le End Sub,
du devra peut être devoir adapter la cellule à [A16] au lieu de [A15]
isabelleJe mets ça où Isabelle?
"isabelle" a écrit dans le message de news:bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton
avec cette macro, rien ne change et il reste à la même place. (ça fais
comme un flash), comme s'il y allait quant même dans l'autre onglet et
il revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que
la feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution du
code, il faut mémoriser son emplacement en début de code et activer
la cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je
reviens dans un onglet, les lignes ce déplacent par batch de 100
lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
avant le End Sub,
du devra peut être devoir adapter la cellule à [A16] au lieu de [A15]
isabelle
Je mets ça où Isabelle?
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
u0zqvq4xGHA.3488@TK2MSFTNGP02.phx.gbl...
bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelle
Ça ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton
avec cette macro, rien ne change et il reste à la même place. (ça fais
comme un flash), comme s'il y allait quant même dans l'autre onglet et
il revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44ECACD8.3030103@free.fr...
Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que
la feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44EB6F4F.4010905@free.fr...
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution du
code, il faut mémoriser son emplacement en début de code et activer
la cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je
reviens dans un onglet, les lignes ce déplacent par batch de 100
lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
avant le End Sub,
du devra peut être devoir adapter la cellule à [A16] au lieu de [A15]
isabelleJe mets ça où Isabelle?
"isabelle" a écrit dans le message de news:bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton
avec cette macro, rien ne change et il reste à la même place. (ça fais
comme un flash), comme s'il y allait quant même dans l'autre onglet et
il revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que
la feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution du
code, il faut mémoriser son emplacement en début de code et activer
la cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je
reviens dans un onglet, les lignes ce déplacent par batch de 100
lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Wowwwwwwwwwww!
Ça fonctionneeeeee, un GROS merci Isabelle!
Érico le content
"isabelle" a écrit dans le message de news:avant le End Sub,
du devra peut être devoir adapter la cellule à [A16] au lieu de [A15]
isabelleJe mets ça où Isabelle?
"isabelle" a écrit dans le message de news:bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton
avec cette macro, rien ne change et il reste à la même place. (ça fais
comme un flash), comme s'il y allait quant même dans l'autre onglet et
il revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que
la feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la
fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution
du code, il faut mémoriser son emplacement en début de code et
activer la cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je
reviens dans un onglet, les lignes ce déplacent par batch de 100
lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Wowwwwwwwwwww!
Ça fonctionneeeeee, un GROS merci Isabelle!
Érico le content
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
Ovsqxy4xGHA.4660@TK2MSFTNGP02.phx.gbl...
avant le End Sub,
du devra peut être devoir adapter la cellule à [A16] au lieu de [A15]
isabelle
Je mets ça où Isabelle?
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
u0zqvq4xGHA.3488@TK2MSFTNGP02.phx.gbl...
bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelle
Ça ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton
avec cette macro, rien ne change et il reste à la même place. (ça fais
comme un flash), comme s'il y allait quant même dans l'autre onglet et
il revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44ECACD8.3030103@free.fr...
Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que
la feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la
fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44EB6F4F.4010905@free.fr...
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution
du code, il faut mémoriser son emplacement en début de code et
activer la cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je
reviens dans un onglet, les lignes ce déplacent par batch de 100
lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Wowwwwwwwwwww!
Ça fonctionneeeeee, un GROS merci Isabelle!
Érico le content
"isabelle" a écrit dans le message de news:avant le End Sub,
du devra peut être devoir adapter la cellule à [A16] au lieu de [A15]
isabelleJe mets ça où Isabelle?
"isabelle" a écrit dans le message de news:bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton
avec cette macro, rien ne change et il reste à la même place. (ça fais
comme un flash), comme s'il y allait quant même dans l'autre onglet et
il revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que
la feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la
fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution
du code, il faut mémoriser son emplacement en début de code et
activer la cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je
reviens dans un onglet, les lignes ce déplacent par batch de 100
lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonjour Isabelle,
Mais, je viens de découvrir que ça prends 5 à 10 secondes de plus pour
executer cette macro.
J'ai essayer de le mettre avant "Application.ScreenUpdating = False" et ça
ne change rien.
Pourquoi ça prends plus de temps?
Merci
"Érico" a écrit dans le message de news:Wowwwwwwwwwww!
Ça fonctionneeeeee, un GROS merci Isabelle!
Érico le content
"isabelle" a écrit dans le message de news:avant le End Sub,
du devra peut être devoir adapter la cellule à [A16] au lieu de [A15]
isabelleJe mets ça où Isabelle?
"isabelle" a écrit dans le message de news:bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton
avec cette macro, rien ne change et il reste à la même place. (ça fais
comme un flash), comme s'il y allait quant même dans l'autre onglet et
il revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que
la feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la
fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution
du code, il faut mémoriser son emplacement en début de code et
activer la cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je
reviens dans un onglet, les lignes ce déplacent par batch de 100
lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonjour Isabelle,
Mais, je viens de découvrir que ça prends 5 à 10 secondes de plus pour
executer cette macro.
J'ai essayer de le mettre avant "Application.ScreenUpdating = False" et ça
ne change rien.
Pourquoi ça prends plus de temps?
Merci
"Érico" <hahaha@videotron.ca> a écrit dans le message de news:
OsJQfC5xGHA.2396@TK2MSFTNGP03.phx.gbl...
Wowwwwwwwwwww!
Ça fonctionneeeeee, un GROS merci Isabelle!
Érico le content
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
Ovsqxy4xGHA.4660@TK2MSFTNGP02.phx.gbl...
avant le End Sub,
du devra peut être devoir adapter la cellule à [A16] au lieu de [A15]
isabelle
Je mets ça où Isabelle?
"isabelle" <hoHoho@hohoHo> a écrit dans le message de news:
u0zqvq4xGHA.3488@TK2MSFTNGP02.phx.gbl...
bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelle
Ça ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton
avec cette macro, rien ne change et il reste à la même place. (ça fais
comme un flash), comme s'il y allait quant même dans l'autre onglet et
il revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44ECACD8.3030103@free.fr...
Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que
la feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:
J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la
fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" <benead.forumxl@free.fr> a écrit dans le message de news:
44EB6F4F.4010905@free.fr...
Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution
du code, il faut mémoriser son emplacement en début de code et
activer la cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:
Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je
reviens dans un onglet, les lignes ce déplacent par batch de 100
lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub
Bonjour Isabelle,
Mais, je viens de découvrir que ça prends 5 à 10 secondes de plus pour
executer cette macro.
J'ai essayer de le mettre avant "Application.ScreenUpdating = False" et ça
ne change rien.
Pourquoi ça prends plus de temps?
Merci
"Érico" a écrit dans le message de news:Wowwwwwwwwwww!
Ça fonctionneeeeee, un GROS merci Isabelle!
Érico le content
"isabelle" a écrit dans le message de news:avant le End Sub,
du devra peut être devoir adapter la cellule à [A16] au lieu de [A15]
isabelleJe mets ça où Isabelle?
"isabelle" a écrit dans le message de news:bonjour Érico,
Application.GoTo Reference:=Sheets("Feuil1").[A15], Scroll:=True
isabelleÇa ne fonctionne pas!
J'ai ce bouton dans un autre onglet et quand je clique sur ce bouton
avec cette macro, rien ne change et il reste à la même place. (ça fais
comme un flash), comme s'il y allait quant même dans l'autre onglet et
il revient à la vitesse de l'éclair.
Pourquoi ça fais ça?
Éric
"Benead" a écrit dans le message de news:Bonsoir Erico,
C'est normal que cela plante, car ta macro change de feuille : pour
pouvoir activer une cellule il faut que le classeur soit actif et que
la feuille soit active.
Mets ce code en fin de macro :
CelluleActive.Parent.Parent.Activate ' Activation du classeur
CelluleActive.Parent.Activate ' Activation de la feuille
CelluleActive.Activate
A+
Benead
XL2000
Érico a écrit:J'ai faite ce que tu dis et ça bogue à CelluleActive.Activate à la
fin
_________________________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
'___________nouvele partie
Dim CelluleActive As Range
Set CelluleActive = ActiveCell
'___________nouvelle partie
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Range("A16").Select
Application.ScreenUpdating = False
'___________nouvelle partie
CelluleActive.Activate
'___________nouvelle partie
End Sub
___________________________________________________________________________________________
"Benead" a écrit dans le message de news:Bonjour Erico,
Déjà, vire les "ActiveWindow.SmallScroll" qui ne servent à rien.
En règle générale si tu veux qu'après une macro, la cellule active
avant le lancement de la macro redevienne active après l'exécution
du code, il faut mémoriser son emplacement en début de code et
activer la cellule en fin de code, comme ceci :
Sub Test
Dim CelluleActive as Range
Set CelluleActive = ActiveCell
.../...
' Fin de code
CelluleActive.Activate
End Sub
A+
Benead
XL2000
Érico a écrit:Bonjour,
J'ai un bouton dans mon menu principal et à chaque fois que je
reviens dans un onglet, les lignes ce déplacent par batch de 100
lignes environ.
J'ai un volet figer en haut de 15 lignes.
Pourquoi ça ne reviens jamais comem au début, c'est-`s-dire de
présenter toutes les lignes à la suite des autres.
Voici la macro
Merci
__________________________________________________________
Sub Annexe11_VRAI()
'
' Index Macro
' Macro enregistrée le 2006-05-12 par Eric Dufour
Sheets("Annexe_1.1c").Select
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="Regie" '__________désactive la
protection
'___________________Section pour tout afficher
Rows("16:71").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:T
Rows("75:102").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:'
Rows("105:127").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:!
Rows("131:153").Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:
'______________________________________________
'____________Macro assembler les donnees debut
Dim Plage As Range, c As Range
Set Plage = Union(Range("D17:D70"), Range("D76:D101"),
Range("D106:D126"), Range("D132:D152"))
For Each c In Plage
If c.Value = "0" Then
c.EntireRow.Hidden = True
End If
Next c
'____________Macro assembler les donnees fin
' Application.Goto Reference:="Print_Area"
' ActiveWindow.Zoom = True
ActiveSheet.Protect Password:="Regie" '______________ l'active
Application.ScreenUpdating = False
Range("A16").Select
End Sub