IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Se positionner sur une cellule à l'ouverture d'une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Portugal

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 45
    Points : 34
    Points
    34
    Par défaut Se positionner sur une cellule à l'ouverture d'une feuille
    bonjour,

    J'ai lu cette discussion.
    Citation Envoyé par Paritec Voir le message

    Papou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        Feuil1.Range("A1").Select
    End Sub
    J'ai inclus ce code dans VBA, mais il ne s'exécute pas à l'ouverture de mon workbook excel 2010 ???
    En fait, aucune macro n'est créée !
    Que manque-t-il ?

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour,

    Où as-tu mis ce code?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre à l'essai Avatar de jpbontront
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2015
    Messages : 19
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    As-tu pensé à bien enregistrer ton fichier en .xlsm ?
    As-tu aussi mis ce code dans ton projet VBA dans le module associé au document ThisWorkbook dans le sub : Private Sub Workbook_Open() ?

    Si tu as fais cela, ça devrait fonctionner.

    Bien à toi

  4. #4
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    Bonjour,

    La syntaxe est incorrecte (je dirais insuffisante).

    Essaye avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Workbook_Open()
        Sheets("Feuil1").Range("A1").Select
    End Sub
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  5. #5
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour,

    la syntaxe est bien au contraire correcte ! (si la feuille active est bien Feuil1 …)

    Mais comme déjà souligné par Alain : dans quel module a été enregistré le code ?
    Et le classeur est-il bien enregistré sous un format acceptant du code (.xlsb, .xlsm, .xls) ?

    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  6. #6
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Points : 505
    Points
    505
    Par défaut
    @Marc-L

    Certes sa syntaxe est correcte. J'ai cependant précisé que je la considérais comme insuffisante, car dès qu'on souhaite accéder à une autre feuille, il y a une erreur d'exécution (La méthode Select de la classe Range a échoué). Par contre, ça n'empêche pas que ma solution ne soit pas correcte non plus

    Voici donc la solution qui fonctionne à tous les coups (à condition qu'elle soit placée dans le code du workbook directement) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub Workbook_Open()
        Sheets("Nom_de_la_feuille").select ' Ou aussi Nom_de_la_feuille.select
        Range("A1").Select
    End Sub
    à mettre ici bien entendu :
    Nom : Capture.JPG
Affichages : 1909
Taille : 27,5 Ko
    Politesse, respect et humilité sont les 3 éléments nécessaires dans une bonne relation d'entraide. Nous faisons cela par plaisir d'aider, ne nous le retirez pas

  7. #7
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Tout à fait !

    Tu as posté ton dernier message pendant que j'éditais le mien …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  8. #8
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Cependant utiliser le CodeName d'une feuille est plus sûr que son nom ou son numéro d'index
    car une feuille peut-être renommée comme déplacée …

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Workbook_Open()
        With Feuil1
            .Activate
            .Cells(1).Select
        End With
    End Sub

    Sans compter que l'on peut effectuer la même opération en une seule instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        Application.Goto Feuil1.Cells(1), True
    End Sub

    Encore faut-il que le code soit placé dans le module de classe du classeur (ThisWorkbook)
    et que le classeur soit enregistré dans un format acceptant du code …

    _________________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/10/2013, 11h11
  2. Se positionner sur une cellule à l'ouverture d'une feuille
    Par target111 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/05/2012, 02h58
  3. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  4. Réponses: 2
    Dernier message: 05/03/2010, 14h15
  5. Réponses: 3
    Dernier message: 03/11/2008, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo