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 :

Faire un cercle unité qui montre un angle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2015
    Messages : 14
    Par défaut Faire un cercle unité qui montre un angle
    Bonjour, je suis débutant en VBA alors j'ai besoin de votre aide! Je dois faire un cercle unité qui propose un angle parmi les angles remarquables à chaque fois que je clique sur un bouton. Je sais comment faire un bouton et la lier à une macro. J'ai aussi été capable de faire un cercle avec la fonction suivante:
    Pour le reste, j'ai besoin d'un petit coups de pouce!
    Merci et bonne journée!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Draw_Cirlce()
    ActiveSheet.Shapes.AddShape(msoShapeOval, 12, 6.75, 500, 500).Select
    Selection.ShapeRange.Fill.Visible = msoFalse
    With Selection.ShapeRange.Line
    .Visible = msoTrue
    .ForeColor.RGB = RGB(255, 0, 0)
    .Transparency = 0
    End With
    With Selection.ShapeRange.Line
    .Visible = msoTrue
    .Weight = 2.25
    End With
    End Sub

  2. #2
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Citation Envoyé par soundman01 Voir le message
    Je dois faire un cercle unité qui propose un angle parmi les angles remarquables à chaque fois que je clique sur un bouton.
    Bonjour,
    Votre demande est dans cette phrase ci-haut, mais j'ai de la difficulté à comprendre.
    pouvez-vous précisé svp?

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2015
    Messages : 14
    Par défaut
    Désolé! Je dois avouer que ma question n'est pas très précise. Donc reprenons!

    Avec VBA, voici ce que je dois coder:
    Un cercle unité (pour la trigonométrie). Une fois que l'utilisateur clique sur un bouton, un angle apparaît sur le cercle unité (un point sur le cercle, qui fait une ligne liée au point [0,0], et la mesure de l'angle qui apparaît).
    L'utilisateur devra alors déduire, selon l'angle donné, le radians, le cos ainsi que le sin.

    Merci!

  4. #4
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Bonjour,
    Pour utiliser, il faut faire votre cercle avant tout, ensuite entrer le degré dans la cellule A1 puis exécuter la macro.
    Cette macro à été faite en fonction de la position du centre de votre cercle et en fonction de son rayon
    si vous changé ces 2 paramètres, il faudera ajuster cette macro.
    en espérant de vous avoir aidé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Sub Draw_Line()
     
        Dim Position_Centre_X
        Dim Position_Centre_Y
        Dim Point_Cercle_X
        Dim Point_Cercle_Y
        Dim Rayon
     
        Rayon = 250 ' = Diamètre / 2 (Diamètre = 500 que vous avez donné pour votre cercle)
     
        Position_Centre_X = 262 ' = Rayon + 12 (12 pour position que vous avez donné pour votre cercle)
        Position_Centre_Y = 256.75 ' = Rayon + 6.75 (6.75 pour position que vous avez donné pour votre cercle)
     
        '=============================================================================
        '=============================================================================
        'Position point sur cercle selon angle
        'Formule mathématique
        'x = x0 + r*cos(t)
        'y = y0 + r*sin(t)
        'où (x0,y0) sont les coord du centre, r est le rayon, et t l'angle en radian
        '1 degré = 0.0174532925 Radian
        Point_Cercle_X = Position_Centre_X + (Rayon * Cos(Cells(1, 1) * -0.0174532925))
        Point_Cercle_Y = Position_Centre_Y + (Rayon * Sin(Cells(1, 1) * -0.0174532925))
        '=============================================================================
        '=============================================================================
     
        With ActiveSheet.Shapes.AddLine(Position_Centre_X, Position_Centre_Y, Point_Cercle_X, Point_Cercle_Y).Line
            .Weight = 2.25
            .ForeColor.RGB = RGB(255, 0, 0)
        End With
     
    End Sub

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2015
    Messages : 14
    Par défaut
    Merci beaucoup! C'est vraiment intéressant. J'ai cependant trouvé une solution qui est, à mes yeux, plus simple. J'ai utilisé un graphique, tout simplement. J'ai cependant une autre question pour vous, si vous avez le temps!
    J'ai fais un tableau qui montre le cos et le sin d'un angle en radian. Cependant, la valeur du cos et du sin est exprimé en décimal. J'aimerais que ceux-ci soient exprimés comme : (racine de 2)/2. Si j'utilise la notation fractionnaire, j'obtiens une bonne réponse mais pas sous la forme que je désire.
    Merci et bonne journée!

  6. #6
    Membre émérite
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Par défaut
    Bonjour,
    le symbole racine carré n'a pas de code ascii alors pour obtenir ce que tu veux il faut triché,
    comme ceci
    r = Rayon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox "\/¯" & (r * 4 - (r ^ 2)) & "/2"

Discussions similaires

  1. [newbie]comment faire un mouseon/mouseover qui tri par ASC ou DESC?
    Par megapacman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/06/2006, 13h01
  2. mon unité qui rame
    Par starway dans le forum Composants
    Réponses: 5
    Dernier message: 12/02/2006, 22h30
  3. []Faire un glisser-déplacer qui marche.
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/09/2005, 20h28
  4. faire un petit menu qui lance des processus
    Par tomsoyer dans le forum Linux
    Réponses: 4
    Dernier message: 30/11/2004, 18h37
  5. Réponses: 9
    Dernier message: 09/11/2004, 11h41

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