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 :

VBA sélectionner une cellule dans une autre feuille


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut VBA sélectionner une cellule dans une autre feuille
    Bonsoir,

    Je sais, on me dira on a déjà répondu des tas de fois à ce problème... j'ai vu... et pourtant, je tombe sur une réponse que je ne comprends pas...
    alors, SVP, soyez tolérant (je me sens déjà tellement honteux )

    Je souhaite, au clic d'un bouton, sélectionner une cellule dans une autre feuille.
    J'ai donc créé 2 boutons;
    le premier sélectionne une cellule dans la même feuille: il marche très bien
    le second fait pareil vers une autre feuille, et je reçoit le message d'erreur : "Erreur d’exécution 1004 : la méthode Select de la classe Range a échoué"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ' bouton  1
    Private Sub bouton_1_Click()
    Range("A8").Select
    End Sub
     
    ' bouton  2
    Private Sub bouton_2_Click()
    Sheet("Formulaire").Select
    Range("A8").Select
    End Sub
    C'est tellement simple ! et pourtant ça ne marche pas et ne vois pas pourquoi!
    Alors... si quelqu'un peut me mettre sur une piste...

    Merci d'avance pour toute aide
    Mike

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    La collection Sheet n'existe pas
    Sheet n'est pas la collection des feuilles, mais un type d'objet

    Je ne te parlerai de l'autre (il y en a une seconde) que lorsque tu auras corrigé celle-ci, hein ...

    Car je VEUX croire que le code que tu montres ici en vue de correction est un copié/collé rigoureux (c'est un minimum) de celui que tu as sur ta machine...

  3. #3
    Expert éminent
    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
    Par défaut
    Bonjour,

    voir aussi dans l'aide VBA interne la méthode   Application.Goto   …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par mikeduff Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheet("Formulaire").Select
    Faute de grammaire.
    Regarde les exemples ici : https://msdn.microsoft.com/fr-fr/vba...t-object-excel

    Je souhaite, au clic d'un bouton, sélectionner une cellule dans une autre feuille.
    Pas besoin de macro pour faire ça.
    Il est plus simple et plus rapide de faire un lien hypertexte.

    Soit par fonction :
    LIEN_HYPERTEXTE() : https://support.office.com/fr-FR/art...7-7de9b76f577f

    Soit par commande :
    Clic droit > Lien Hypertexte > Emplacement dans ce document > Indique l'adresse de la cellule et l'onglet > Ok

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut
    Merci de vos réponses

    @ unparia :
    Tu as tout a fait raison, la collection Sheet n'existe pas !
    et... mea culpa: je n'avais pas fait le copié/collé de la bonne fonction.
    Voici donc la vraie Nom : capture.png
Affichages : 39457
Taille : 6,0 Ko (cette fois il n'y a plus de doute )

    et voici le message d'erreur également capturé:
    Nom : capture2.png
Affichages : 39140
Taille : 8,1 Ko

    Ma question reste donc entière... alors si tu as une suggestion.....

    @Menhir:
    Je ne crois pas que ça réponde à mon problème (ni à ma question, hélas).
    En effet, à moins que je fasse erreur, un lien hypertexte se place dans une cellule.
    Mon action doit s'effectuer lors de l'action sur un BOUTON... d'où l'appel au VBA
    Mais si je me trompe, une explication supplémentaire sera bienvenue...

    Merci d'avance à tous
    Mike

  6. #6
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour,

    Il faut plus de rigueur dans l'écriture du code, il y a au moins 2 cas où ton code ne fonctionnera pas :
    1) La feuille "Formulaire" n'est pas une feuille de calcul, la bonne syntaxe pour activer une feuille de calcul est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Worksheets("Formulaire").Activate
    2) La macro se situe dans le module d'une autre feuille (donc le Range("A8").Select n'est pas sur la feuille active), la bonne syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      Worksheets("Formulaire").Activate
      Worksheets("Formulaire").Range("A8").Select
      'ou encore :
      With Worksheets("Formulaire")
        .Activate
        .Range("A8").Select
      End With
    Reste qu'avec un lien hypertexte c'est plus simple.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 61
    Par défaut
    Bonjour Patrice... et merci !

    Voilà mon erreur :Worksheets("Formulaire").Activate et non Sheets("Formulaire").Activate

    Tellement simple que je le voyais pas avec mon nez dessus

    A propos du lien hypertexte, j'avais répondu à Menhir sur le sujet en disant que je ne pouvais mettre un lien sur un bouton de formulaire.
    Apparemment, ça reste vrai, mais .... en faisant des (tas d') essais, j'ai vu que je pouvais parfaitement en mettre un sur un bouton de type image (ou sur une image quelconque d'ailleurs)

    Donc,.. il y avait donc bien une solution alternative à mon problème
    Content d'avoir appris et encore merci !

    Mike

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par mikeduff Voir le message
    Je ne crois pas que ça réponde à mon problème (ni à ma question, hélas).
    En effet, à moins que je fasse erreur, un lien hypertexte se place dans une cellule.
    Mon action doit s'effectuer lors de l'action sur un BOUTON... d'où l'appel au VBA
    Justement, vire le bouton (à moins que tu puisses expliquer pourquoi tu tiens à le garder).
    Comparé à un clic sur une cellule, ça ne fera que compliquer l'affaire.

    En plus, si ton "bouton" est une forme (Insertion > Forme), il est tout à fait possible de lui associer un lien hypertexte avec clic droit > lien hypertexte.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Copie d'image dans une cellule vers une cellule d'une autre feuille
    Par natsamfa dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/02/2017, 21h27
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 17h01
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Réponses: 2
    Dernier message: 02/06/2006, 11h26

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