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 :

Problème avec un CommandBoutton pour atteindre une autre page [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 24
    Points : 23
    Points
    23
    Par défaut Problème avec un CommandBoutton pour atteindre une autre page
    Bonjour, je ne parviens pas à lire une feuille "services_par_terminal" depuis un commandbutton situé sur une autre feuille, et je ne comprends pas ce qui cloche dans mon code....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton2_Click()
     
        Dim terminal As String
     
        Sheets("services_par_terminal").Select
        service = Range("A3")
        MsgBox (terminal)
     
    End Sub
    Le message box ne renvoie rien alors qu'il y des données dans ma case A3
    Est ce une propriété des MsgBox ?
    Encore plus bizarre, quand j'utilise l'appel de la fonction depuis un autre module (Call Module1.afficherterminal ), cela fonctionne.
    Si vous pouvez m'aider, ce serait parfait !!

  2. #2
    Membre expérimenté
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Points : 1 580
    Points
    1 580
    Par défaut
    Bonjour,
    J'ai du mal à imaginer que le code puisse fonctionner : la variable terminal affichée par MsgBox n'est jamais initialisée, c'est la variable service est chargée avec la cellule A3...

  3. #3
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Essaie simplement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton2_Click()
        MsgBox Sheets("services_par_terminal").Range("A3")
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 24
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par tedo01 Voir le message
    Bonjour,
    J'ai du mal à imaginer que le code puisse fonctionner : la variable terminal affichée par MsgBox n'est jamais initialisée, c'est la variable service est chargée avec la cellule A3...
    Oui complètement d'accord, je devais être bien fatigué quand j'ai écrit cela... En fait, ce que j'ai mis ici n'est pas vraiment mon code, mais ça fonctionne sur le même principe.

    Cependant, mon problème reste là, j'ai finis par comprendre que ce code ne sélectionnais pas la page "service_par_terminal", mais qu'il restait sur la page dans laquelle est définie mon CommandButton, est ce normal ?

    (en fait, il prend ce qui se situe en A3 sur la la feuille1, et je définis les instructions de mon CommandButon dans la page Feuil1("feuille1") situé sous l'onglet Microsoft Excel Objects)


    Concernant la réponse de fring,

    Citation Envoyé par fring Voir le message
    Bonjour,

    Essaie simplement ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton2_Click()
       MsgBox Sheets("services_par_terminal").Range("A3")
    End Sub
    effectivement cela fonctionne parfaitement, mais dans ce cas j'aurais une autre question. Quelle est la différence entre ces deux code ?

    1er code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("services_par_terminal").Select
    terminal = Range("A3")
    MsgBox (terminal)
    2nd code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Sheets("services_par_terminal").Range("A3")
    Merci pour vos réponses !

  5. #5
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    La réponse est qu'il y a plusieurs chemins possibles pour arriver à une même destination mais qu'on essaie d'emprunter généralement le plus court et le plus rapide.
    Dans la plupart des cas, il est inutile de passer par des "Select" qui ne font qu’alourdir la procédure, voire même la planter lorsque, par exemple, tu travailles sur des feuilles masquées.
    D'autre part tu passes par une variable "terminal" qui, dans ce cas ci ne sert à rien non plus.
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 24
    Points : 23
    Points
    23
    Par défaut
    En réalité, j'effectue une boucle dans laquelle je supprime des données situées sur la page services_par_terminal, et c'est pourquoi il me semblait moins lourd de sélectionner seulement une fois la feuille, tu n'es pas d'accord ?

  7. #7
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par bapt298 Voir le message
    tu n'es pas d'accord ?
    Non parce qu'il n'est pas nécessaire de sélectionner la feuille mais jusqu'à présent tu n'as rien montré de ton code qui permette de t'aider d'avantage.
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 24
    Points : 23
    Points
    23
    Par défaut
    ok ok, merci pour l'aide, je me débrouillerai

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 06/03/2015, 18h15
  2. Problème avec un code pour remplir une feuille de calcul
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/03/2011, 22h17
  3. Réponses: 4
    Dernier message: 12/08/2010, 14h19
  4. Réponses: 2
    Dernier message: 08/04/2008, 23h40
  5. Réponses: 9
    Dernier message: 25/10/2007, 16h20

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