Exemple de tableau

Résolu
bbgirl Messages postés 4 Statut Membre -  
 bbgirl -
Bonjour,

je cherche des exemples de programmme VBA qui permet de creer un tableau simple. Est-ce que quelqu'un sait comment faire cela svp???

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Avec si peu de précision, personne ne saura vous répondre...
    Dites EXACTEMENT ce que vous souhaitez réaliser en VBA.
    1
    1. bbgirl
       
      bonjour,

      je voudrais creer un programme qui permet de calculer la moyenne a l'aide d'un tableau présentant toute les données, les information qui me permettrais de calculer ma moyenne. le programme creer pour etre exécuté dois me demandé combien de note que je souhaite entrer dans mon tableau, puis me demandé l'effectif de chaque note entrer. chaque note et effectif doivent etre affiché dans le tableau.
      on entre dans une première ligne les note(xi) et dans une deuxième ligne chaque effectif (ni) correspondant a chaque note entrer .puis dans une troisième ligne du tableau, il faudrait calculer chaque (nixi) la multiplication chaque note associé a son effectif. puis on applique hors tableau la formule de la moyenne m=(nixi)total/(ni)total. Pouvez-vous m'aider svp
      0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    Bon c'est un peu plus compréhensible.

    Sachant que selon moi la manière la plus élégante serait de faire un Userform de saisie, mais manquant encore d'un peu d'infos, je t'ai préparé un premier exemple de saisie à partir d'Inputbox.
    Teste le et reviens nous dire ce qu'il convient de faire. Si tu souhaites un autre exemple, par Userform, fais le savoir également...

    https://www.cjoint.com/?AKvkJE3NmR0
    0
    1. bbgirl
       
      merci merci beaucoup pijaku, j'ai testé c'est effectivement ce que je souhaitais réaliser. Parconte si je veux introduire une couleur dans la cellule A4 contenant l'indication "moyenne" soit coloré en bleu par exemple que dois-je rajouté dans le programme vba.
      0
    2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Salut,
      Pour cela tu ajoutes cette ligne juste avant le dernier "End With" :
      .Range("B" & Lig + 2).Interior.ColorIndex = 37
      Ce qui nous donne le code :
      Option Explicit
      
      
      Sub TableauNotesEffectif()
      Dim Notes()
      Dim Effectif()
      Dim Indic As Long, Nombre As Long, Lig As Long
      Dim Tot As Double, Moyenne As Double
      
      On Error GoTo MessErreur
      Nombre = CLng(InputBox("Saisir le nombre de notes souhaitées. Nombre Entier!", "Nombre de notes"))
      'enregistrement des données
      Do While Indic < Nombre
          ReDim Preserve Notes(Indic)
          ReDim Preserve Effectif(Indic)
          Notes(Indic) = Replace(InputBox("Note N° : " & Indic + 1, "Saisie des notes"), ".", ",")
          Do While Not IsNumeric(Notes(Indic))
              MsgBox "Saisie d'un nombre valide obligatoire!"
              Notes(Indic) = Replace(InputBox("Note N° : " & Indic + 1, "Saisie des notes"), ".", ",")
          Loop
          Effectif(Indic) = InputBox("Effectif de la note N° : " & Indic + 1, "Saisie de l'effectif")
          Do While Not IsNumeric(Effectif(Indic))
              MsgBox "Saisie d'un nombre valide (entier) obligatoire!"
              Effectif(Indic) = InputBox("Effectif de la note N° : " & Indic + 1, "Saisie de l'effectif")
          Loop
          Indic = Indic + 1
      Loop
      'Restitution des données (en Feuil2) et calcul de la moyenne
      Nombre = 0
      With Sheets("Feuil2")
          Lig = .Range("A" & .Rows.Count).End(xlUp).Row + 1
          .Cells(Lig, 1) = "Notes"
          .Cells(Lig + 1, 1) = "Effectifs"
          For Indic = 0 To UBound(Notes)
              .Cells(Lig, Indic + 2) = Notes(Indic)
              .Cells(Lig + 1, Indic + 2) = Effectif(Indic)
              Tot = Tot + (CDbl(Notes(Indic)) * Round(Effectif(Indic), 0))
              Nombre = Nombre + Round(Effectif(Indic), 0)
          Next
          Moyenne = Tot / Nombre
          .Cells(Lig + 2, 1) = "Moyenne :"
          .Cells(Lig + 2, 2) = Moyenne
          .Range("B" & Lig + 2).Interior.ColorIndex = 37
      End With
      Exit Sub
      MessErreur:
      MsgBox "Abandon opérateur", vbCritical, "Annulation"
      End Sub
      0
    3. bbgirl
       
      mercii pijaku,cela ma permit de personnalisé ausii d'autre petit programme que j'ai crée pour m'entrainer. j'ai essayé d'écrire l'algorithme de ce programme, mais je m'en sors pas trop, mon professeur nous a expliqué comment faire l'algorithme d'un programme, mais je n'ai pas tout compris. j'ai essayé mais je trouve qu'il manque des écritures mais je ne sais pas quoi mettre;
      Nombre=0
      Pour Indic = 0 à nombre de note faire
      Tot = Tot + (CDbl(Notes(Indic)) * Round(Effectif(Indic), 0))
      Nombre = Nombre + Round(Effectif(Indic), 0)
      Suivant
      Moyenne = Tot / Nombre
      Pouvez vous m'indiquer les démarches a suivre svp pour réaliser cette algorithme, cela me permettrais d'analyser la methode à suivre.
      0