compteur sous excel...

compteur sous excel... - VB/VBA/VBS - Programmation

Marsh Posté le 07-10-2007 à 11:59:23    

bonjour, je dois creer un compteur qui affiche ses valeurs entre 0 et 500 avec un incrément de 10.
j'ai donc fait  
 
sub compteur2
cells(i,2)=0  ' initialisation'
for i=2 to 100
 do while cells(i,2) < 500
 cells(i,2) = cells(i-1) + 10
loop
next
end sub
 
je vois pas ce qui cloche, mais ça ne marche pas.
et puis pour mon "for i+2 to 100" j'aimerais bien pouvoir changer le 100 par +l'infini
...
si quelqun peut m'aider ce serais gentil :)
merci d'avance

Reply

Marsh Posté le 07-10-2007 à 11:59:23   

Reply

Marsh Posté le 07-10-2007 à 14:07:56    

noirdez74 a écrit :

bonjour, je dois creer un compteur qui affiche ses valeurs entre 0 et 500 avec un incrément de 10.
j'ai donc fait  


tu entends par la 10 20 30 40... 480 490 500 ?
ton do while dans ta boucle for est pourrie...
 
y a rien qui tourne en fait :o
 
tu peux donner l'énoncé exact stp ?

Reply

Marsh Posté le 07-10-2007 à 17:28:56    

enoncé exact :
crer un compteur qui affiche ses valeurs de 0 a 500 avec un increment de 10 .
 
mais j'ai changer de facon, voici mon algo:
i,p,b : entier
p->increment
b-> borne
 
'initialisation'
p=10
b=500
cells(1,2)=0
 
  pour i=2 a ((B+P)/p) faire
  cells(i,2)=cells(i-1,2)+p
  fin pour
FIN
 
en fait eau depart je voulais une boucle 'for' qui faisait mes calcul et je voulais incruster une "do while" pour que sa me fasse mes calcul juska la valeur 500...

Reply

Marsh Posté le 07-10-2007 à 17:32:38    

tu n'as pas du comprendre (ou alors tu l'as mal énoncé) le principe d'incrément de 10...
ton algo me semble faux aussi donc :s

Reply

Marsh Posté le 07-10-2007 à 17:40:45    

enoncé entier:
proposer un algorithme pour que le compteur affiche ses valeurs entre 0 et 500 avec un increment de 10.
 
et mon algo transformé en vba marche nikel
sa marche nikel pour si je change la borne ou l'incrementation...en faite l'increment dans cet enoncé c comme compter de 10 en 10. on l'as fait comme ça en TP

Reply

Marsh Posté le 09-10-2007 à 16:30:36    

Ici tout est faux
 
L'algorithme et l'orthographe (eau depart , mes calcul)  
Il me semble qu'il y a encore beaucoup de tp à faire

Reply

Marsh Posté le 10-10-2007 à 16:20:16    

De ce que j'ai compris, ça serait bêtement :
 
Public Sub compteur()
Dim i As Integer
    For i = 0 To 500 Step 10
        ActiveCell.Value = i
    Next
End Sub
 
edit :
Après relecture de ton premier post, je crois que tu voulais faire ça
(En effet, dans ma première procédure, s'il n'y a que ça, tu risques pas de voir grand chose, si si tu rajoutes un Application.Wait par exemple...)
 
Sub compteur2()
Dim ra As Range
    Set ra = Range("A1" )
    ra.Value = 0
    For i = 1 To 50
        Set ra = ra.Offset(1, 0)
        ra.Value = ra.Offset(-1, 0).Value + 10
    Next
End Sub


Message édité par devil_k le 10-10-2007 à 16:35:46
Reply

Marsh Posté le 10-10-2007 à 16:29:45    

Je trouve dommage de passer par de la programmation VBA pour faire un truc qu'Excel fait très bien par extension de valeurs.
Tapez 0 dans une cellule, puis 10 dans celle du dessous. Sélectionnez ces deux cellules puis étendez la sélection (croix du coin inférieur droit de la cellule du bas) jusqu'en ligne 510 (ou plus), c'est fait !

 

On a engendré une génération d'obsédés de la macro qui ne connaissent même plus les fonctionnalités de base des logiciels...
edit : oui je sais, je réponds par vraiment à la question :p


Message édité par tegu le 10-10-2007 à 16:30:50
Reply

Marsh Posté le 10-10-2007 à 17:23:58    

Bah ça dépend du besoin, et manifestement, c'est un exercice, alors... pourquoi pas :spamafote:

Reply

Marsh Posté le 11-10-2007 à 11:08:40    

C'est bien parce que je pense qu'il s'agit d'un exercice que je trouve cela dément.
On apprend à des utilisateurs comment se passer d'une formation sur un logiciel pour faire en 1 jour avec des macros ce qu'on pourrait faire en 2 heures en connaissant le logiciel.
 
Il y a d'autres moyens d'apprendre à faire des boucles, dans un contexte productif.
Chaque fois qu'on demande à un débutant d'utiliser VBA alors qu'on peut faire autrement, on l'enfonce.
Avis personnel.

Reply

Marsh Posté le 11-10-2007 à 11:08:40   

Reply

Marsh Posté le 11-10-2007 à 11:45:54    

Dans le fond, je suis en partie d'accord avec toi, mais je nuancerais quand même en disant que ça dépend du profil de la personne formée
Etant développeur (principalement VBA Excel dans ma boite...), il est intéressant de connaître les fonctionnalités de base et avancées d'Excel pour la simple et bonne raison que ces fonctionnalités, en cas de besoin, le fait de savoir qu'elles existent permettront de les utiliser en VBA sans pour autant avoir à redévelopper des fonctions ou procédures. En bref, connaître l'existant et savoir l'utiliser (pour ça, l'enregistreur peut-être pratique).
Du coup, j'aurais tendance à te dire que je suis relativement d'accord dans le cas de la formation d'un profil utilisateur, beaucoup moins dans le cadre de la formation d'un développeur (D'ailleurs, je déconseillerais fortement le VBA dans le cadre d'une formation de développeur... )

Reply

Marsh Posté le 12-10-2007 à 21:45:59    

je suis debutante (ça se voit lol)  
mais je m'en sors tres bien dans ce qu'on me demande, et tte faocn vous avez beau me dire que mon deuxieme programme est faux archi faux, il marche nikel :p lol
hier on a programmer le dessin de l'adn en vba dans powerpoint c'etait trop simple!
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed