Affichage personnalisé sans intervenir sur les lignes ?

Malka

XLDnaute Occasionnel
Bonjour à tous,

Je suis en train de construire un tableau excel pour de la saisie...
C'est un tableau sur 30 colonnes et 1500 lignes.

Pour chaque année à saisir, j'ai défini plusieurs affichages personnalisées (2010, 2011, 2012, 2013) sur un meme onglet (obligatoire)

Mon pb est que quand je suis sur l'affichage personalisée "2010" à la ligne 900 par exemple et je souhaite passer à l'affichage personalisée "2011", je suis ramené systematique sur les lignes du debut de tableau (à la meme position de ligne quand j'ai defini mon affichage personnalisée "2011".... :(

Est-il possible de passer d'un affichage personnalisé à un autre tout en restant sur ma meme ligne de saisie...

Merci pour vos précieuses reponses:D

Malka
 

chris

XLDnaute Barbatruc
Re : Affichage personnalisé sans intervenir sur les lignes ?

Bonjour

A mon avis ce n'est pas prévu.
D'autant que l'affichage personnalisé n'est pas lié à la feuille en cours mais à l'ensemble du classeur.

Il faudrait un peu de VBA si tu veux ce fonctionnement. Cependant je ne suis pas sûre que le changement de vue soit un événement.
Je vais regarder.

Edit : ce n'est pas un événement donc si VBA, il faut que ce soit un appel au code qui permette de changer de vue et donc de mémoriser la cellule active.
 
Dernière édition:

Malka

XLDnaute Occasionnel
Re : Affichage personnalisé sans intervenir sur les lignes ?

Merci Chris d'avoir pris la peine de lire mon message !!
Je suis au boulot actuellement et je suis encore sur mon tableau.
Je regarde toutes les 30 minutes si quelqu'un me repond
Merci encore

Malka
 

chris

XLDnaute Barbatruc
Re : Affichage personnalisé sans intervenir sur les lignes ?

Bonjour

Cela devrait répondre à ton besoin (à coller dans un module VBA).
Code:
Sub Vues()
'
    Macellule = ActiveCell.Address
    y = Range(Macellule).Row
    x = Range(Macellule).Column
    Application.Dialogs(xlDialogCustomViews).Show
    If ActiveSheet.Rows(y).Hidden = False And ActiveSheet.Columns(x).Hidden = False Then Range(Macellule).Select
    
End Sub

Suppose que la cellule active ne fasse pas partie des cellules masquées dans la vue sinon on adaptera ce 1er jet.
 
Dernière édition:

Malka

XLDnaute Occasionnel
Re : Affichage personnalisé sans intervenir sur les lignes ?

Chris,

Je viens de faire le test et malheureusement, ca ne marche pas.

J'ai lié mes Affichages Personnalisées à des boutons comme cela :

Private Sub CommandButton1_Click()
ActiveWorkbook.CustomViews("P2").Show
End Sub

Private Sub CommandButton2_Click()
ActiveWorkbook.CustomViews("2011").Show
End Sub

Private Sub CommandButton3_Click()
ActiveWorkbook.CustomViews("2012").Show
End Sub

Private Sub CommandButton4_Click()
ActiveWorkbook.CustomViews("2013").Show
End Sub

Private Sub CommandButton5_Click()
ActiveWorkbook.CustomViews("Tout").Show
End Sub

Private Sub CommandButton6_Click()
Application.Run ("Edition")
End Sub

Tous ces boutons sont dans ma feuille "Feuil2".
J'ai copié ton code dans le "Module 1" de mon fichier excel... et ca ne marche pas.
A chaque fois que je change d'affichages, je reviens systematiquement en haut de mon tableau..

Effectivement, la cellule active, qui est une cellule de saisie; est visible

Est ce que tu aurais une autre idée?
Merci

Malka
 

Malka

XLDnaute Occasionnel
Re : Affichage personnalisé sans intervenir sur les lignes ?

Chris,

J'ai utilisé ta macro, ca marche !! --> Ca marche seulement des que je suis sur une cellule qui reste visible entre 2 affichages
Par contre, je me suis plantée en te disant que la celulle de saisie restait visible entre 2 Affichages personnalisées. J'etais bete, elle change de colonne mais elle est sur la meme ligne


De plus, si je pouvais garder mes boutons "P2", "2011" etc... ca serait cool (c'est plus rapide pour passer d'un affichage à un autre)

Merci

Malka
 
Dernière édition:

chris

XLDnaute Barbatruc
Re : Affichage personnalisé sans intervenir sur les lignes ?

Re

C'est moins propre (sélection dans le vide) mais ça marche :
Code:
Private Sub CommandButton1_Click()
    Macellule = ActiveCell.Address
    ActiveWorkbook.CustomViews("P2").Show
    Range(Macellule).Select
End Sub
 

Malka

XLDnaute Occasionnel
Re : Affichage personnalisé sans intervenir sur les lignes ?

Chris,

Merci pour la réponse !
Je ne suis plus au boulot.
La colonne C reste toujours affichée dans mon tableau
J'essaierai ton ptit code demain (je n'ai pas le fichier excel avec moi)
Merci encore
Bonne soirée

Malka
 

chris

XLDnaute Barbatruc
Re : Affichage personnalisé sans intervenir sur les lignes ?

Bonjour

Alors plus logique car sélection en colonne C
Code:
Private Sub CommandButton1_Click()
    y = ActiveCell.row
    ActiveWorkbook.CustomViews("P2").Show
    Range("C" & y).Select
End Sub
 

Malka

XLDnaute Occasionnel
Re : Affichage personnalisé sans intervenir sur les lignes ?

Salut Chris !

Bravo pour le travail et de ton soutien ! :p
Ca marche nickel ! ;)
J'ai apporté une petite variante à ton code pour qu'il selectionne la ligne entiere pour une meilleure visibilité des que je veux reperer la bonne colonne
Le code final mis sur un bouton :

Private Sub CommandButton1_Click()
y = ActiveCell.Row
ActiveWorkbook.CustomViews("P2").Show
Range("C" & y).EntireRow.Select
End Sub

Encore un grand merci Chris
Discussion close :)

Malka
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 041
Membres
102 764
dernier inscrit
nestu