Incrementer la valeur d'une cellule.

Incrementer la valeur d'une cellule. - VB/VBA/VBS - Programmation

Marsh Posté le 23-04-2006 à 14:10:02    

Salut à tous.
 
Je suis actuellement en train de develloper une petite base de donnée qui permet de calculer des statistiques sur des durées de commandes.
 
L'utilisateur entre chaque commande par l'intermediaire d'un formulaire. A la reception il entre la date de reception.
 
Une procedure permet de calculer le delai de commande (le temps entre le passage de la commande et la reception) et devrait logiquement incrementer la valeur d'une cellule comme sur cet exemple:
http://img122.imageshack.us/img122/6550/sanstitre5lm.jpg
 
J'aimerai savoir si il existe une instruction simple pour augmenter une valeur de cellule de 1 ou faut-il chaque fois lire le contenu, comme par exemple en faisant:

dim valeur as integer
valeur = feuil2.cells (4,3).value
feuil2.cells (4,3).value = valeur + 1

 
si je veux incrementer de 1 la case correspondant à un delai < 2 jours pour des pieces; j'ai utilisé cette methode et j'ai chaque fois une erreur "incompatibilité de type".
 
 
merci d'avance pour toute info ou conseil.

Reply

Marsh Posté le 23-04-2006 à 14:10:02   

Reply

Marsh Posté le 23-04-2006 à 18:35:18    

bonjour,
Bien que cette syntaxe ne soit pas fameuse (et même à bannir !), "ça marche" quand même dans certaines conditions...
Il faut voir le contexte. L'erreur ne vient probablement pas de là ou tu l'attends.
En principe quand on veut de l'aide sur une macro,  on donne toute la macro depuis Sub ... jusqu'à End Sub, pas trois lignes.
Il est également important de savoir ou tu as mis cette macro, dans un module de feuille ou dans un module Standart ("Module1" )
Ces trois macros produisent le même résultat quel que soit le module ou tu les mets :
 
Sub test1()
  Dim valeur As Integer
  valeur = Worksheets("Feuil2" ).Cells(4, 3).Value
  Worksheets("Feuil2" ).Cells(4, 3).Value = valeur + 1
End Sub
 
Sub test2()
  Worksheets("Feuil2" ).Cells(4, 3).Value = Worksheets("Feuil2" ).Cells(4, 3).Value + 1
End Sub
 
Sub test3()
  With Worksheets("Feuil2" ).Cells(4, 3)
    .Value = .Value + 1
  End With
End Sub

 
On fait comme on préfère...
A+


---------------
roger
Reply

Marsh Posté le 23-04-2006 à 21:43:54    

Merci pour ta reponse.
 Je vais reprendre mon code en detail, j'ai surement fais une erreur idiote à un endroit; si je ne m'en sors pas je reposterai.

Reply

Sujets relatifs:

Leave a Replay

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