Petit programme sous VBA

guillaumesk850 -  
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis novice en terme de programmation VBA et j'aimerais de l'aide pour réaliser un petit programme permettant de gérer les données d'une liste de cellules.
Le programme doit prendre dans la liste 4 cellules consécutives, soustraire la premiere à la quatrieme et si le résultat est inférieur à 0,100 ( et que Variable 1 < Variable 2 < Variable 3 < Variable 4) alors c'est OK... sinon ces 4 cellules (du moins leur valeur) doivent etre reporter dans une nouvelle feuille (avec mise en forme du style écriture en rouge ...)

Voila le début de mon programme, cependant il ne fonctionne absolument pas et je doute déjà de la bonne déclaration des variables ....

Merci d'avance pour votre aide

a bientot
Guillaume



Le code : (il démarre en cliquant sur le bouton "Mise à jour" : btnmaj


Private Sub btnmaj_Click()

Dim VAR1 As Integer, VAR2 As Integer, VAR3 As Integer, VAR4 As Integer

Feuil3.Cells(3, 6) = VAR1
Feuil3.Cells(4, 6) = VAR2
Feuil3.Cells(5, 6) = VAR3
Feuil3.Cells(6, 6) = VAR4

'Feuil3.Range("LISTERR").Cells(i, 1) = VAR1
'Feuil3.Range("LISTERR").Cells(i, 2) = VAR2
'Feuil3.Range("LISTERR").Cells(i, 3) = VAR3
'Feuil3.Range("LISTERR").Cells(i, 4) = VAR4


If VAR4 - VAR1 < 0.1 Then
'and VAR1 < VAR2 < VAR3 < VAR4
MsgBox "1ere étape OK"
'Ecrire dans une nouvelle feuille les valeurs des variables 1, 2, 3 et 4
'puis mettre en forme cette "zone critique"
Else: MsgBox "PAS OK"
End If


End Sub


2 réponses

Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
Bonsoir,

Je pense que VBA ne gère pas les "<" en cascade...
Place un If après VAR2 pour la vérification VAR2 > VAR1 puis après VAR 3 puis après VAR4 (If ((VAR4>VAR3) And (VAR4-VAR1<0.1)) Then OK Else EndIf)

J'écris pas tout mais en cherchant un peu tu devrais t'en sortir

A+
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

1°) Tu définis tes variables en Integer (entiers) et tu cherches si la variabilité entre deux nombres en inférieure à 0,1 => il te faut définir tes variables en double pour utiliser des nombres à virgules

2°) Pour faire ton test complet :
If VAR4 - VAR1 < 0.1 And (Var4>VAR3 And VAR3>VAR2 And VAR2>VAR1) Then
....
Else
...
End If 

Cordialement.
0