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 :

demande d'exos vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut demande d'exos vba
    Bonjour à tous
    Etant un débutant en VBA. J'aimerai que vous me donniez des exos pour que je puisse un peu coder sous Excel. Dans un premier temps je cherche et puis je proposerai des solutions. Ainsi on peut discuter des erreurs. Je pense que c'est une bonne idée pour que je puisse avancer en VBA.
    Merci de votre coopération.
      0  0

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut
    Il n' y a personne qui veut m'aider s'il vous plaît?
      0  0

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    L'autre sujet que tu as ouvert donnant à penser que tu n'as pas encore vu le fonctionnement et l'utilisation de fonctions, je te propose de te pencher d'abord sur ce sujet (les fonctions sont utiles à plus d'un titre).

    Reprenons ici le code auquel "tu ne comprenais rien" :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Command1_Click()
      Dim x As Single, y As Single, z As Single
      x = 112.25
      y = 28.2
      z = 125.33
      MsgBox lpg(x, y, z)
    End Sub
     
    Private Function lpg(x As Single, y As Single, z As Single), as single
     lpg = x
     If y > lpg Then lpg = y
     If z > lpg Then lpg = z
    end function
    Ce code est composé :
    - d'une procédure évènementielle (le click sur ton CommandButton Command1)
    c'est dans cette procédure que tu as tes 3 valeurs (elles ont ici "en dur", mais pourraient provenir d'ailleurs - d'une textbox, d'une feuille Excel, etc...)
    Ces trois valeurs sont passées (en paramètres) à une fonction que nous avons appelée ici lpg (pour le plus grand).

    lpg(x,y,z) a pour but de déterminer le plus grand de x,y et z...
    en règle générale une fonction
    - reçoit des paramètres en entrée (ici x,y et z)
    - retourne une valeur dont le type est défini
    - la valeur de retour est celle de la fonction elle-même (lpg)

    Reprenons le code de la fonction. j'y mets en rouge la fonction, en vert ses paramètres, en bleu le type de la valeur retournée par la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Function lpg(x As Single, y As Single, z As Single), as single 
     lpg = x
     If y > lpg Then lpg = y
     If z > lpg Then lpg = z
    end function
    [/CODE]

    la valeur retournée par lpg sera donc de type single
    La fonction prend la valeur du 1er paramètre (x)
    elle évalue ensuite la valeur de y et si y est plus grand que sa valeur précédente (lpg), elle prend la valeur de y
    etc...
    à sa sortie, lpg a donc ainsdi forcément la valeur du plus grand des 3, valeur qui est utilisée dans la procédure d'appel (ton click) ... et y est affichée par un msgbox lpg( .... et ses 3 paramètres d'entrée...)

    Voilà tout.
    Tu veux des exercices ?
    1) commence par analyser ce qui précède
    2) impose-toi des exercices simples utilisant des fonctions, tel : rechercher maintenant le plus petit des 3, faire faire à une fonction des calculs impliquant plusieurs paramètres d'entrée, etc ...etc...

    Bonne étude.
      0  0

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut
    Merci. En fait lorsque je regarde vos deux programmes, il n'y a aucun moment vous utilisez .
      0  0

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut
    Je remarque dans votre premiere programme vous appelez directement les valeurs et non une variable. Ce n'est pas plus facile d'écrire un programme avec des variables puis à la fin on fait des jeux de tests pour utliser?
      0  0

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut
    Citation Envoyé par bolltt Voir le message
    Je remarque dans votre premiere programme vous appelez directement les valeurs et non une variable. Ce n'est pas plus facile d'écrire un programme avec des variables puis à la fin on fait des jeux de tests pour utliser?
      0  0

  7. #7
    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
    Citation Envoyé par bolltt Voir le message
    Merci. En fait lorsque je regarde vos deux programmes, il n'y a aucun moment vous utilisez .
    SAlut
    Regarde sur ton autre Topic, quelqu'un a mis une explicatyion a cette syntaxe particuliere du If, il me semble que c'est BigAlO.
    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
      0  0

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut
    oui, c'est vrai quand on a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If condition Then traitement
    sur la même ligne on n'a pas besoin de End If c'est ca?
      0  0

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Command1_Click()
      Dim x As Single, y As Single, z As Single
      x = 112.25
      y = 28.2
      z = 125.33
      MsgBox lpg(x, y, z)
    End Sub
     
    Private Function lpg(x As Single, y As Single, z As Single), as single
     lpg = x
     If y > lpg Then lpg = y
     If z > lpg Then lpg = z
    end function
    Je ne comprends pas les termes private sub command1 click.
      0  0

  10. #10
    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
    Et bien on ppeut decomposer ainsi

    • Private : cette procedure est declarer uniquement dans ce module

    • Sub : c'est une procedure, contrerement a une fonction (Function) elle ne renvoie pas de valeur.

    • Command1_Click(): c'est le nom de la procedure, et ici cas "particulier" c'est une procedure evenmentiel, elle est appeler automatiquement par VBA Lors d'un appui sur le bouton 1.
    En esperant t'avoir aidé sans dire de betise
    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
      0  0

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

    Nous n'allons pas t'expliquer chaque mot qui se trouve dans VBA.

    Merci avant de poser des question de :

    • Utiliser la touche sans modération, il te suffit de double-cliquer sur le mot recherché et de cliquer sur cette touche.
    • De lire les tutoriaux : Office, les FAQ Office et les FAQ VB.

    C'est pourquoi je cloture cette discussion.

    Tu pourras cependant poser des questions quand un code ne fonctionne pas, les membres seront là pour t'aider.

    Starec
      0  0

Discussions similaires

  1. Demande d'aide VBA
    Par minironaldo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/02/2013, 23h48
  2. Demande de macro VBA
    Par Sobas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/12/2011, 23h02
  3. demande d'aide VBA
    Par wahabts7 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 23/03/2010, 09h35
  4. [XL-2003] Demande d'aide VBA Excel
    Par popo2009 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/02/2010, 19h38

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