Exemple de tableau

Résolu/Fermé
bbgirl Messages postés 4 Date d'inscription jeudi 17 novembre 2011 Statut Membre Dernière intervention 24 novembre 2012 - 17 nov. 2011 à 01:58
 bbgirl - 2 déc. 2011 à 00:28
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???
A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
17 nov. 2011 à 08:52
Bonjour,
Avec si peu de précision, personne ne saura vous répondre...
Dites EXACTEMENT ce que vous souhaitez réaliser en VBA.
1
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
21 nov. 2011 à 10:37
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
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
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
28 nov. 2011 à 08:52
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
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