Ouverture des feuilles en A1

Résolu/Fermé
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 - 13 sept. 2013 à 19:33
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 16 janv. 2014 à 00:00
Bonsoir la communauté.

J'ai dans un de mes (nombreux) fichiers Excel une macro me permettant d'ouvrir le fichier sur le 1er onglet :
------------------------------------------
Private Sub Workbook_Open() ' ouverture du fichier sur le 1er onglet
Sheets(1).Activate
End Sub
------------------------------------------
Et c'est bien pratique ...
Je cherche à ce que chaque feuille, à l'ouverture du fichier, se place sur A1.

Merci par avance pour votre aide.



13 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
13 sept. 2013 à 19:41
Bonsoir

Range("A1").select

crdlmnt
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
13 sept. 2013 à 19:49
Bonsoir Vaucluse

J'ai mis ça dans "This workbook :

Private Sub Workbook_Open() ' ouverture du fichier sur le 1er onglet
Sheets(1).Activate
Range("A1").Select
End Sub

Mais ça ne donne pas l'effet escompté.

Me suis-je trompé ?
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
13 sept. 2013 à 19:56
Si j'ajoute :

Private Sub Workbook_Open() ' ouverture de la feuille en cellule A1
Range("A1").Select
End Sub

A chaque feuille concernée, ça ne fonctionne pas.

Je crois que je n'ai pas tout compris ... Dsl.
0
Bonjour

Private Sub Workbook_Open()
Feuil1.Select
Application.GoTo Range("A1"), True
End Sub

A+

Maurice
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
13 sept. 2013 à 21:15
Bonsoir Foo

J'ai essayé ceci :

Ce code dans Feuille 7 (qui s'appelle "Disney")
Ce code en modifiant Feuil1.Select en Feuil7.Select
Ce code dans ThisWorkBook
Ce code dans ThisWorkBook en modifiant Feuil1.Select en Feuil7.Select
Ce code dans Module1.

Je crois ne pas avoir tout compris, j'ai encore besoin d'un coup de main.
Merci d'avance !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
13 sept. 2013 à 21:28
Bonjour touroul, le forum,

Ce code dans ThisWorkBook va ouvrir toutes les feuilles en position A1 :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.[A1].Activate
End Sub

0
bonsoir

Feuil7(Disney) , Feuil7 = CodeName du Nom de l'onglet

if faut utiliser le CodeName pour les macro comme ca on peut changer l'onglet comme on veux
Bon dodo
A+

Maurice
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
13 sept. 2013 à 21:39
Bonsoir cher gbinforme

Je vois que tu t'y mets !

Malheureusement pour moi, après avoir copié ton code dans ThisWorkBook, à l'ouverture du fichier :
- il s'ouvre sur la feuille ouverte au moment du dernier enregistrement et pas sur la toute première feuille comme souhaité.
- La cellule P50, sélectionnée lors du dernier enregistrement, est toujours celle sélectionnée à l'ouverture du fichier.

@ Maurice : pardon mais je n'ai pas les bases qu'il faut pour comprendre ta réponse.


En tout cas merci de prendre mon problème à coeur, désolé mais j'ai le souci du détail !

A plus !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
13 sept. 2013 à 23:19
Mais il faut garder ta macro, qui te positionne en première feuille en rajoutant la position A1 au cas où tu ais sauvegardé sur cette feuille et rajouter le positionnement pour les autres feuilles.

Option Explicit
Private Sub Workbook_Open() ' ouverture du fichier sur le 1er onglet
Sheets(1).Activate
[A1].Activate
End Sub
'et rajouter l'autre
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.[A1].Activate
End Sub
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
14 sept. 2013 à 08:49
Exact cher gbinforme

En faisant ainsi :
- le fichier s'ouvre bien sur ma première feuille
- Chaque feuille s'ouvre en A1, et pas seulement à la réouverture du fichier, mais à chaque fois que je quitte et reviens à la feuille.

Un grand merci une fois de plus et bon week-end !
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
27 sept. 2013 à 07:53
Bonjour à tous
Bonjour Gbinforme

Je reviens vers vous à propos de cette macro qui faisait bien mon affaire ...
Pour des questions pratiques, j'ai figé la première ligne et la première colonne de chaque fiche.
Cette action inactive la macro.
Y aurait-il un moyen de contourner cet écueil ?

D'avance merci pour votre aide et bonne journée !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
27 sept. 2013 à 10:24
Bonjour touroul,

j'ai figé la première ligne et la première colonne de chaque fiche.

Qu'entends-tu par là ?
Si c'est bien le menu "affichage" / figer les volets, cela ne change rien.
Si tu as "masqué" la ligne 1 et la colonne A, il faut remplacer A1 par B2 dans la macro.
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
27 sept. 2013 à 13:01
Bonjour Gbinforme

Et oui ! Il suffisait de remplacer A1 par B2 dans la macro et c'était réglé.
Tu es véritablement incollable.

Merci beaucoup et bonne journée !
A bientôt !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
27 sept. 2013 à 19:38
Bonjour touroul,

Tu es véritablement incollable.

Faut pas exagérer ! Excel est tellement vaste que je suis loin de tout connaitre et d'ailleurs je ne cherche pas cela car il y a des secteurs qui ne me passionnent pas : j'espère que tu ne m'y attireras pas ;-)
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
15 janv. 2014 à 20:48
Salut le forum

Dans la même veine que ci-dessus, j'ai essayé d'adapter vos macros pour le résultat suivant :

- Ouverture du fichier sur le premier onglet :
Ça fonctionne avec ça :
Private Sub Workbook_Open() ' ouverture du fichier sur le 1er onglet
Sheets(1).Activate
End Sub

- Sélectionner, à l'ouverture du fichier seulement, la cellule A1 sur toutes les feuilles :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.[A1].Activate
End Sub
Mais ce code place en A1 à chaque changement de feuille, et pas seulement à l'ouverture du fichier.

Et j'ai essayé avec le code de Foo ci-dessus sans succès.
J'ai essayé un tas de trucs et maintenant je suis carrément perdu.
Donc je me résigne à vous demander de chauffer les neurones ...

Merci d'avance !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
15 janv. 2014 à 21:46
Bonsoir touroul,

Comme ceci tu devrais avoir satisfaction :
Private Sub Workbook_Open()
Dim feu As Integer
Application.ScreenUpdating = False
For feu = 1 To Sheets.Count
    With Sheets(feu)
        If .Type = xlWorksheet Then
            .Activate
            .Range("A1").Activate
        End If
    End With
Next feu
Sheets(1).Activate
Application.ScreenUpdating = True
End Sub

Je teste le type car je crois que tu as des graphiques qui ne seraient pas bien acceptés.

Bonne soirée.
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
15 janv. 2014 à 22:04
Bonsoir GBinforme !

Merci pour ton code.
Il reste malheureusement sans résultat, il doit y avoir un p'tit truc qui cloche ...
La feuille ne s'ouvre pas en Sheet(1).
A l'ouverture les feuilles ne se placent pas en A1.
Un petit fichier exemple :
https://www.cjoint.com/?DApwcNF6Cvc
En tout cas merci et bonne soirée !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
16 janv. 2014 à 00:00
Bonsoir,

J'ai sélectionné tes valeurs dans chaque feuille en terminant en feuille 3
j'ai sauvegardé
j'ai fermé
j'ai ouvert en feuille 1 et A1 comme les autres feuilles.

Ton classeur fonctionne comme mon classeur de test.
Je pense que tu devrais bien vérifier car je ne vois rien clocher...
Bonne soirée ou bonne nuit.
0