Une macro pour ouvrir le fichier à la premiere feuille?

  • Initiateur de la discussion Cédric
  • Date de début
C

Cédric

Guest
Bonjour tout le monde,

je souhaiterai avoir une macro qui me permette d'ouvrir un classeur Excel sur la page que je veut.

Je m'explique, quand je sauvegarde un classeur, et que je me trouve sur la feuille 4, quand je reouvre mon fichier je retombe sur la feuille 4. Moi, je voudrais pouvoir sauvegarder à partir de n'importe quelles pages et que quand je reouvre le fichier je tombe sur la feuille 1.

En espérant mettre bien fait comprendre et que des Forumeurs viendront à mon secours.

Merci par avance...

Cédric
 
S

Sebb

Guest
Salut !
J'ai trouvé quelque chose qui fonctionne mais qui n'est pas très "propre " dirons nous ... j'ai décidément un gros problème avec la déclaration de Variable "Public" ! Voici le code en attendant mieux ...

A copier dans "Projet - VBA projet" ThisWorkbook
'__________________________________________________
Private Sub Workbook_BeforeClose(Cancel As Boolean)
NbFeuille = ActiveSheet.Index
Sheets("Feuil1").Range("a1").Value = NbFeuille
End Sub

Private Sub Workbook_Open()
ThisWorkbook.Sheets(Sheets("Feuil1").Range("a1")).Activate
End Sub
 
@

@Christophe@

Guest
Bonjour,

Sebb,
ton code Workbook_Open, c'est bon, tu ne dois pas ajouté .range("A1")...

Puisque il veut juste activer le feuille


Par contre le sub BeforeClose ajoute le nombre de feuille en A1 à la fermeture, pas besion de cela!! Cédric ne demande pas cela.

Bonne journée

@Christophe@
 
C

Cédric

Guest
Re,

Christophe, je viens d'essayer ta macro mais cela ne marches pas.

Quand je veut enregistrer ta macro, le PC me dit:
"Nom ambigu détecté: Workbook_open"

Mais dans workbook j'ai d'autres macros, cela pourrais venir de ça?

Je te copie les macros que j'ai dans workbook cela sera plus simple pour que tu ai une idée de mon probléme.

Private Sub Workbook_Open()
Worksheets("Accueil").Activate
End Sub

Private Sub Workbook_Open()
Sheets("Accueil").ScrollArea = "A1:M41"
Sheets("Période Montlegun TRAD").ScrollArea = "A1:L42"
Sheets("Montlegun TRAD P1").ScrollArea = "A1:HA303"
Sheets("Montlegun TRAD P2").ScrollArea = "A1:HA303"
Sheets("Montlegun TRAD P3").ScrollArea = "A1:HA303"
Sheets("Montlegun TRAD P4").ScrollArea = "A1:HA303"
Sheets("Montlegun TRAD P5").ScrollArea = "A1:HA303"
Sheets("Période Montlegun MAT").ScrollArea = "A1:L42"
Sheets("Montlegun MAT P1").ScrollArea = "A1:HA303"
Sheets("Montlegun MAT P2").ScrollArea = "A1:HA303"
Sheets("Montlegun MAT P3").ScrollArea = "A1:HA303"
Sheets("Montlegun MAT P4").ScrollArea = "A1:HA303"
Sheets("Montlegun MAT P5").ScrollArea = "A1:HA303"
Sheets("Période Pech-Mary TRAD").ScrollArea = "A1:L42"
Sheets("Pech-Mary TRAD P1").ScrollArea = "A1:HA303"
Sheets("Pech-Mary TRAD P2").ScrollArea = "A1:HA303"
Sheets("Pech-Mary TRAD P3").ScrollArea = "A1:HA303"
Sheets("Pech-Mary TRAD P4").ScrollArea = "A1:HA303"
Sheets("Pech-Mary TRAD P5").ScrollArea = "A1:HA303"
Sheets("Période St Saens TRAD").ScrollArea = "A1:L42"
End Sub



En attendant de tes nouvelles, merci d'avance...

Cédric
 
A

Abel

Guest
Cédric, tous,

Copie juste la ligne
Worksheets ("Accueil").Activate

au dessus de

Sheets("Accueil").ScrollArea = "A1:M41"

Un seul Workbook_Open est suffisant.
Il pas content parcequ'il en trouve deux.

Bon courage.

Abel
 
C

Cédric

Guest
Super , ça marche !!!

Merci beaucoup à vous tous, Christophe, Arnaud, Abel et Sebb pour votre aide.

Désolé, mais je suis novice mais c'est grâce à des personnes comme vous que je progresse doucement.

Merci encore ....

Cédric
 

Discussions similaires

Statistiques des forums

Discussions
312 392
Messages
2 088 000
Membres
103 691
dernier inscrit
christophe89