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 :

assigner une cellule à une toupie pour qu'elle fonctionne


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 32
    Par défaut assigner une cellule à une toupie pour qu'elle fonctionne
    Bonjour,

    j'ai dans un userform, créé une toupie pour pouvoir à l'aide de celle ci faire défiller des années.
    Cependant je n'arrive pas à lier cette cellule à la toupie de façon à ce que je puisse faire défiler les dates.

    Quelqu'un aurait une idée?

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Un fihcier démo serait le bienvenu pour éclairer, "Toupie" ca me dit rien
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 32
    Par défaut
    Voila en fichier joint ce à quoi ressemble une toupie
    Images attachées Images attachées  

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir, tu n'aurais pas aussi court d'inserer un dtpicker ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 32
    Par défaut
    Qu'est-ce qu'un dtpicker?

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Citation Envoyé par Faradeorn Voir le message
    Voila en fichier joint ce à quoi ressemble une toupie
    ... j'ai un peu honte, mais je n'ai jamais utilisé, ni même vu (du moins le nom de) se composant ...

    Pour le DtPicker tu trouveras plus d'info ici

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pourquoi veux-tu prendre les années dans une liste ?

    Un exemple sans liste :

    Un UserForm avec une toupie (SpinButton) et une zone de texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub SpinButton1_SpinDown()
        Me.txtAnnee.Value = Me.txtAnnee.Value - 1
    End Sub
     
    Private Sub SpinButton1_SpinUp()
        Me.txtAnnee.Value = Me.txtAnnee.Value + 1
    End Sub
     
    Private Sub UserForm_Initialize()
        Me.txtAnnee.Value = Year(Date)
    End Sub
    A l'initialisation, tu trouves l'année en cours dans la zone de texte.

    Et en cliquant sur les boutons tu décrémentes ou incrémentes les années.

    Philippe

  8. #8
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 32
    Par défaut
    Merci de l'info sur le dtpicker Qwazerty et peu de personne utilisent la toupie en effet!

    Philippe JOCHMANS, je me suis mal exprimé quand je disais vouloir prendre les années dans une liste, je confondais avec une liste déroulante.

    J'ai un problème avec le code, il fait une erreur dès le début sur cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm_Initialize()
    Je ne comprends pas pourquoi.

    J'ai remplacé cette ligne par la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub SpinButton1_Change()
    Et là cela fonctionne pour cette partie mais il y a une autre erreur à la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub SpinButton1_SpinDown()
    Saurais-tu d'où peut provenir le problème?

  9. #9
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Il te faudrait lire quelques tutoriels pour te familiariser avec l'environnement de développement je pense.
    Si je ne fait pas d'erreur, tu as dut mettre le code tel que Philippe J te l'as donné, dans un Module. Hors ca ne fonctionne pas comme ça.
    Si tu double-cliques sur ta toupie, une fenêtre de code va apparaître. Dans cette fenêtre en haut à droite tu as une liste déroulante avec les différents évènements liés au composant en question. Tu trouveras Spin_Change, Spin_SpinDown ....
    Il en va de même pour ton userform, double-clique dessus et tu trouveras UserForm_Initialize dans la liste.

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  10. #10
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 32
    Par défaut
    C'est ce que j'ai effectivement fait.

    Je sais qu'il faut adapter un code en fonction de ce que l'on a déjà fait, mais là j'ai du mal à percevoir ce qu'il faut changer.
    Les listes déroulantes affichent en effet ce que tu me dis mais qu'est ce que je dois en faire?

  11. #11
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Tu complètes les différents évènements avec le code de Philippe J.
    ça devrait te donner quelque chose comme ça


    Tu peux ensuite tester le résultat en cliquant sur le bouton lecture du menu.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  12. #12
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 32
    Par défaut
    Merci, mais je n'arrive toujours pas à saisir ce qu'il faut faire.

    Je ne comprend pas ce qu'il faut faire: sélectionner SpinButton1 pour quoi faire?
    Dois-je changer son nom dans le code?

  13. #13
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Je ne saisie pas trop ce que tu ne comprends pas.
    Je vais numéroter, comme ça tu diras ou tu as un soucis

    1/Le but, c'est de mettre du code, qui s’exécutera au lancement du UserForm, sur un clique du bouton plus de la toupie et sur un clique du bouton moins de la toupie

    2/Au lancement du UserForm, on veux que le TextBox contienne l'année en cours (2011)

    3/Sur clique plus de la toupie on ajoute 1 au contenu du textbox (2011 -> 2012) et sur clique moins ... on retranche une année (2011 -> 2010).

    4/Pour placer du code qui s’exécute lors d'un évènement précis, on choisi le composant qui déclenche l’évènement (1ere liste sur le scrennshot) et l’évènement que l'on veut utiliser (2eme liste sur le scrennshot).

    5/par exemple on va prendre l'initialisation du textbox.
    On souhaite le faire au lancement du UserForm, dans sa phase d'initialisation, on choisi donc le UserForm dans la 1ere liste, puis on choisi l’évènement Initialize dans la 2eme. Automatiquement VBA nous génère l’évènement sans code, tu obtiens donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
     
    End Sub
    On va donc taper notre code ici, code qui sera executé lors de l'initialisation de la UserForm, on rajoute donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.txtAnnee.Value = Year(Date)
    ce qui au final nous donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
        Me.txtAnnee.Value = Year(Date)
    End Sub

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  14. #14
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 32
    Par défaut
    Je comprends les étapes et c'est plus clair quant à la sélection des critères.
    J'arrive au même schéma que tu me présentes et je fais cela pour chaque bouton de la toupie. Jusque là tout va bien. Mais au moment de lancer il me refait la même erreur qu'au départ sur la ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm_Initialize()
    Pourtant j'ai suivi exactement ce que tu as marqué et bien sélectionné les critères au départ.

    Autrement la "DATE" je remplace bien par 2011?

  15. #15
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Non, Date est une fonction qui te retourne la date du jour, year elle te retourne l'année d'une date.

    Ok pour l'erreur je pense comprendre d'ou elle vient.
    La zone jaune pointe effectivement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm_Initialize()
    mais si tu regarde bien, est sélectionne. Si c'est le cas il faut que tu renommes ton TextBox.

    Pour le renommer, tu cliques droit dessus, menu contextuel tu clique sur "Propriétés" dans la fenêtre des propriétés, tu cherches Name et tu met txtAnnée (à la place de TextBox1).

    Bonne nuit
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  16. #16
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 32
    Par défaut
    Miracle!

    Je te remercie de ta patience, bonne nuit

    a+

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

Discussions similaires

  1. [XL-2010] Copie d'un tableau d'une feuille à une autre : une cellule ne se recopie pas
    Par mchouv dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 25/07/2014, 13h47
  2. Réponses: 2
    Dernier message: 20/12/2013, 15h13
  3. Formater une cellule en VBA pour recevoir une date
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/05/2007, 18h39
  4. Réponses: 2
    Dernier message: 06/04/2007, 14h31

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