Ouverture des feuilles en A1

Résolu
touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonsoir

    Range("A1").select

    crdlmnt
    0
  2. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    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
  3. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    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
  4. foo
     
    Bonjour

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

    A+

    Maurice
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    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
  7. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  8. foo
     
    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
  9. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    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
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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
  10. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    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
  11. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    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
  12. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
    1. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
       
      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
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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
  13. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    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
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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
  14. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    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
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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