CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Qui peux m'aider en VBA svp ?

Aquilafaute
Aquilafaute
Niveau 6
07 janvier 2007 à 10:52:25

J´ai un exercice de VBA où je pinaille.

Je dois utiliser trois méthodes :

FOR... NEXT
WHILE... WEND
DO... LOOP UNTIL...

J´y comprend pas trop.

Qui pourait m´aider svp ?

picto
picto
Niveau 9
07 janvier 2007 à 10:59:40

bonjour
tu ferais mieux d´aller sur le forum programmation
cela dit
ces trois syntaxes te permettent de faire une boucle
for...next:

for i from 1 to 6
... (instructions)
next

ton code sera effectué 6 fois (une fois pour chaque valeur de i entre 1 et 6)

while...wend:
=> while signifie "tant que"
while (condition)
...(instructions)
wend

ton code sera effectué tant que la (condition) restera vraie

do...loop until
=>until signifie "jusqu´a"
Do
...(instructions)
loop until (condition)

ton code sera exécuté jusqu´a ce que la condition soit réalisée

Il est possible que les syntaxe ne soit pas exactement celle que je t´aie donnée (qui est celle de vb6, tres proche de vba) notamment pour while...wend, mais j´espere que tu as compris le principe

Aquilafaute
Aquilafaute
Niveau 6
07 janvier 2007 à 11:12:18

Le forum programmation est vide comme pas possible lol.

J´ai été absent au cours donc bon du mal à rattraper... :(

Merci de m´avoir répondu picto. J´ai compris plus ou moin le principe.

Mais par rapport à mon excercie, je ne vois pas ce qui faut faire, je n,´y arrive pas. :malade:

Exercice :

On souhaite réaliser un programme qui permette de saisir des notes afin de calculer une moyenne. Ce même programme sera réalisé 3 fois, en utilisant les 3 structures itératives étudiées dans le cours.

Le 1er programme utilisera une itérative FOR... NEXT en permettant à l´utilisateur de spécifier le nombre de notes qu´il souhaite saisir :

"Saisir le nombre de notes (1 par élève) :"

Le 2ième et le 3ième programme débuteront par le message suivant :

"Ce programme calcule la moyenne générale. Pour arrêter la saisie, tapez une note égale à 99"

Ils afficheront ensuite :
"Saisir la note : (99 arrête la saisie)"

Ils devront donc permettre la saisie des notes
Tant que l´utilisateur ne saisit pas la valeur 99 (WHILE.. WEND)

Jusqu´à ce que l´utilisateur saisisse 99 (DO... LOOP UNTIL...).

Dans ts les cas, vs envisagerez la possibilité, qu´aucune note ne soit saisie.

Travail à réaliser : Les 3 prog VA correspondant.

Si tu pouvais m´aider stp.

picto
picto
Niveau 9
07 janvier 2007 à 11:20:32

pour le premier programme tu dois d´abord demander les nombre de notes a rentrer (on l´appellera n)
ensuite tu peux utiliser for...next :

For i = 1 to n ´pour chaque note
´tu demandes que l´utilisateur rentrer la note
´qu´on appellera r
´on note T le total des notes donc:
T=T+r
next
´quand tu arrives ici (sortie de la boucle) T contient la somme de toutes les notes, tu obtient la moyenne en le divisant par le nombre total de notes soit n

tu vois comment faire ? (par contre pour la syntaxe pour demander le nombre total de notes ou chaque note je connais pas trop, il doit y avoir un InputBox a mettre quelque part mais je suis pas sur)

Aquilafaute
Aquilafaute
Niveau 6
07 janvier 2007 à 11:41:28

Merci beaucoup. :)

C´est pas un truc du genre :

Sub Moyenne ()

Dim N As Integer
Dim R As Integer
Dim Moy As Integer

N = InputBox("Rentrez le nombre de notes")

For I = 1 To N

R = InputBox("Rentrez vos notes")

T = T + R

Next

Moy = T / N

MsgBox ("Votre moyenne est de" & Moy & ".")

End Sub

Il y a des erreures, je cherche...

Aquilafaute
Aquilafaute
Niveau 6
07 janvier 2007 à 12:08:08

Sub Test()

Dim N As Integer
Dim R As Integer

Const Moy = T / N

N = InputBox("Rentrez le nombre de notes")

For I = 1 To N

R = InputBox("Rentrez vos notes")

MsgBox ("Votre moyenne est de" & Moy & ".")

Next I

End Sub

Plutôt plus proche de ça ? nan... ? :(

Aquilafaute
Aquilafaute
Niveau 6
07 janvier 2007 à 12:24:15

UP :-(

picto
picto
Niveau 9
07 janvier 2007 à 12:27:44

quelles sont les erreurs dans ton premier post (attention Moy ne doit PAS etre déclaré en constante) ? (peut-etre le inputbox qui passe pas ?) parce que ca m´a l´air d´etre ca
(effectivement next i est mieux que next mais vb6 accepte les deux, vba peut-etre pas!)

strife2
strife2
Niveau 10
07 janvier 2007 à 12:31:08

VBA ?

picto
picto
Niveau 9
07 janvier 2007 à 12:31:49

VBA = Visual Basic for Applications

Aquilafaute
Aquilafaute
Niveau 6
07 janvier 2007 à 12:32:30

Sub Test()

Dim N As Integer
Dim R As Integer
Dim M As Integer

N = InputBox("Rentrez le nombre de notes")

For I = 1 To N

R = InputBox("Rentrez vos notes")

Next I

Moy = R / N

MsgBox ("Votre moyenne est de" & Moy & ".")

End Sub

On y est presque LOL

Aquilafaute
Aquilafaute
Niveau 6
07 janvier 2007 à 12:34:38

Si j´ai bien compris ce système.

Le programme doit demander combien de note à rentrer.

Par ex si je met 2 notes.

Le programme me demande de rentrez les notes (Il me le demande deux fois donc.)

Et après il calcule la moyenne.

Si j´ai compris, il faut faire ça, mais je n´y arrive pas :lol: !

picto
picto
Niveau 9
07 janvier 2007 à 12:41:45

chez moi ca marche (testé avec word)
tu as juste un probleme c´est qu´a la fin R contient la derniere note rentrée et non la somme (il faut garder T=T+R et faire la moyenne sur T)

et quel est ton probleme ? ca n´affiche rien ? tu es sur que tu exécute le programme ?

Aquilafaute
Aquilafaute
Niveau 6
07 janvier 2007 à 12:46:27

Je fais sur Excel.

En faite quand je teste mon programme, je met le nombre de note, après mes notes (mais il me le demande qu´une seule fois alors que j´ai dit que j´avais deux notes).

Donc c´est plutôt un truc dans le genre même s´il est faux :

Sub Test()

Dim N As Integer
Dim R As Integer
Dim M As Integer

N = InputBox("Rentrez le nombre de notes")

For I = 1 To N
Next I

R = InputBox("Rentrez vos notes")

(je vois pas trop le calcul là par contre et ce qu´il faut mettre après... :- )

MsgBox ("Votre moyenne est de" & Moy & ".")

End Sub

Aquilafaute
Aquilafaute
Niveau 6
07 janvier 2007 à 12:48:47

Il marche le tien ? 0__ô

Tu peux me copier ton programme stp.

picto
picto
Niveau 9
07 janvier 2007 à 12:52:31

ce que tu veux c´est la moyenne des notes, et la moyenne c´est la somme des notes divisée par le nombre de note
la somme des notes tu l´obtiens en ajoutant a chaque passage dans la boucle la note ajoutée R au total précédent T, ensuite il te suffit (une fois la boucle terminée) de faire Moy=T/n

attention essaie ce programme la et dis moi ce que ca te donne (c´est ce que tu avais donné au début a quelques détails pres):

Sub Test()
Dim N As Integer
Dim R As Integer

N = InputBox("Rentrez le nombre de notes")

For I = 1 To N
R = InputBox("Rentrez vos notes")
T = T + R
Next I

Moy = T / N

MsgBox ("Votre moyenne est de" & Moy & ".")
End Sub

AntiXmerde
AntiXmerde
Niveau 7
07 janvier 2007 à 13:01:33

Merci picto, j´ai enfin compris. :)

Pour les deux autres, ça doit être le même genre. :ok:

AntiXmerde
AntiXmerde
Niveau 7
07 janvier 2007 à 13:01:52

Merci encore. :content:

picto
picto
Niveau 9
07 janvier 2007 à 13:03:03

:) bon courage pour le reste

Sous forums
  • Histoire
  • Environnement & Nature
  • Politique
  • Cours et Devoirs
  • Philosophie
  • Métiers & Orientation
La vidéo du moment