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 :

Créer une macro pour additionner deux chiffres [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2015
    Messages : 4
    Par défaut Créer une macro pour additionner deux chiffres
    Bonjour a tous

    je cherche simplement a créer une sorte de programme pour ma fille pour la familiariser avec l’addition en CP/CE1.
    alors mon petit projet consiste a générer deux chiffres aléatoirement et les mettre dans deux cases et elle va mettre le total dans une troisième case.

    si la réponse est bonne j'aime bien lancer un son(1) enregistré sur mon pc en préalable et si c'est faux il lance un son(2).

    merci.

    voici une photo de ce que j'ai réalisé pour le moment ( j'avoue que j'ai rien fais )Nom : addition.jpg
Affichages : 806
Taille : 511,7 Ko

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    Pour écrire ou lire dans tes text-box ... et pour rajouter un controle bouton pour affichage du résultat :

    http://silkyroad.developpez.com/VBA/...serForm/#LII-E


    pour le son : Comment jouer un fichier audio ou musical depuis excel ?



    Voilà commence déjà avec cela et reviens nous voir si tu bloque..

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 199
    Par défaut
    Bonjour,

    Un début de piste.

    La fonction pour générer des chiffres aléatoires

    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
     
     
    Sub aleatoire()
     
        'CHIFFRE 1--------------------------------------------------------------------------------------------
     
         'Initialiser le générateur de nombres aléatoires
         '=> Randomize : à ajouter avant d'utiliser Rnd pour obtenir des valeurs complètement aléatoires
         Randomize
     
         'Nombre aléatoire entier entre 1 et 10 :
         nombre_aleatoire = Int(10 * Rnd) + 1
     
         Me.TextBox_c1 = nombre_aleatoire 'TextBox_c1 correspond à une zone de texte
     
         'CHIFFRE 2--------------------------------------------------------------------------------------------
     
        'Initialiser le générateur de nombres aléatoires
         '=> Randomize : à ajouter avant d'utiliser Rnd pour obtenir des valeurs complètement aléatoires
         Randomize
     
         'Nombre aléatoire entier entre 1 et 10 :
         nombre_aleatoire = Int(10 * Rnd) + 1
     
         Me.TextBox_c2 = nombre_aleatoire 'TextBox_c2 correspond à une zone de texte
     
    End Sub

    Il faut créer un bouton cmd_generer_chiffres pour appeler la procédure aleaoire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Private Sub cmd_generer_chiffres_Click()
        aleatoire
    End Sub

    Créer un bouton cmd_valider permettant de valider la réponse


    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
     
     
    Private Sub cmd_valider_Click()
     
    Dim resultat_attendu As Integer
    Dim resultat_saisi As Integer
     
    resultat_attendu = Int(Me.TextBox_c1) + Int(Me.TextBox_c2)
    resultat_saisi = Me.TextBox_result 'TextBox_result correspond à une zone de texte
     
    If resultat_saisi <> resultat_attendu Then
        MsgBox "Dommage !!!!" & "le résultat attendu est:" & resultat_attendu
    Else
        MsgBox "bravo !!!!"
    End If
     
     
     
    End Sub

    Cordialement

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2015
    Messages : 4
    Par défaut merci
    bonjour est merci a vous tous , fin a vous deux pour le moment ( bbil et goldstar) je reviendrais vers vous pour la suite de mon Projet .

    Cordialement.

  5. #5
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Bonjour à tous,

    Avec un formulaire comme ça :
    Nom : Capture.PNG
Affichages : 699
Taille : 6,4 Ko

    Tu peux déjà mettre dans un module standard le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
     
    Sub Jouer_Son_Bonne_Reponse()
        Call sndPlaySound32("C:\Users\***\Desktop\Speech Disambiguation.wav", 0)
    End Sub
     
    Sub Jouer_Son_mauvaise_Reponse()
        Call sndPlaySound32("C:\Users\***\Desktop\Speech Sleep.wav", 0)
    End Sub
    C'est pour jouer les sons en cas de bonne ou mauvaise réponse.
    Tu dois juste adapter le chemin vers les fichiers Wav de ton PC.

    Ensuite une fonction simple pour tester la réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function Tester_Response(x As Long, y As Long, z As Long) As Boolean
        Tester_Response = (x + y = z)
    End Function
    Et pour finir dans le code de ton UF :
    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
    Sub New_Add()
        With UserForm1
            .Label1 = Application.WorksheetFunction.RandBetween(1, 10)
            .Label2 = Application.WorksheetFunction.RandBetween(1, 10)
            .TextBox1 = ""
        End With
    End Sub
     
    Private Sub CommandButton1_Click()
        With UserForm1
            If Tester_Response(.Label1, .Label2, Val(.TextBox1)) Then
                Call Jouer_Son_Bonne_Reponse
                MsgBox "Bonne réponse !" & vbCr & vbCr & .Label1 & " + " & .Label2 & " = " & .TextBox1
                Call New_Add
            Else
                Call Jouer_Son_mauvaise_Reponse
                .TextBox1 = ""
            End If
        End With
    End Sub
     
    Private Sub UserForm_Initialize()
        Call New_Add
    End Sub
    Application.WorksheetFunction.RandBetween(1, 10) c'est pour un nombre aléatoire entre 1 et 10, tu peux bien sur changer les bornes.

    Autre petite chose pour obliger les chiffres dans le TextBox de l'UF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub TextBox1_Change()
        On Error Resume Next
        With UserForm1
            If IsNumeric(.TextBox1) Then
                'rien
            Else
                .TextBox1 = Left(.TextBox1, Len(.TextBox1) - 1)
            End If
        End With
    End Sub

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2015
    Messages : 4
    Par défaut merci antonysansh
    Bonjour

    Alors la .... Merci pour le coup de main, fin il me reste rien a faire que copier-coller le code est l'adapter a mes fichier son.
    Franchement merci, je suis au travail, de que je entre je vous tien au courant.

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

Discussions similaires

  1. créer une macro pour comparer deux cellules d'une même colonne
    Par barbie-9 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/05/2012, 19h28
  2. [XL-2003] Créer une macro pour vider le contenu de certaines cellules
    Par lolonico1974 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/06/2010, 09h24
  3. [XL-2003] Créer une macro pour plusieurs fichiers excel
    Par bocki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/06/2009, 22h53
  4. Créer une macro pour vérifier des prix
    Par lolonico dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/04/2009, 10h54
  5. Réponses: 8
    Dernier message: 09/01/2007, 16h30

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