Macro if ne marche pas
Résolu
benoit
-
benoit -
benoit -
Bonjour,
j'essaye de réaliser une macro toute simple, mais cela ne fonctionne pas sachant que dans le tableur la valeur a comparer est au format nombre à 2 décimal (0.00), de plus si la valeur comparée est négative ou positive cela ne réagi pas de la même façon
If Cells(Lig, co + 3).Value = 0# Then
Rep = MsgBox("caisse juste", vbInformation)
Else: Rep = MsgBox("problème en caisse vérifier les chiffres", vbCritical)
End If
merci
j'essaye de réaliser une macro toute simple, mais cela ne fonctionne pas sachant que dans le tableur la valeur a comparer est au format nombre à 2 décimal (0.00), de plus si la valeur comparée est négative ou positive cela ne réagi pas de la même façon
If Cells(Lig, co + 3).Value = 0# Then
Rep = MsgBox("caisse juste", vbInformation)
Else: Rep = MsgBox("problème en caisse vérifier les chiffres", vbCritical)
End If
merci
2 réponses
-
Bonjour,
Je viens de tester, votre code fonctionne très bien...
A tout hasard essayez ceci :If CDbl(Cells(Lig, co + 3).Value) = 0# Then
Mais je dis bien "à tout hasard..." -
merci pour votre réponse, mais j'avais un souci de valeur ou je sais pas mais je l'ai résolu en multipliant les test et voila la solution qui marche :
' déclaration de variable pour bon fonctionnement
Dim colonne As Integer
' affectation de la cellule courante à la variable colonne
colonne = Cells(Lig, Col + 3).Value
' comparaison de la caisse si 0 caisse juste
If colonne <> 0# Then
Rep = MsgBox("problème en caisse vérifier les chiffres", vbCritical)
Else: Rep = MsgBox("caisse juste", vbInformation)
End If
maintenant j'ai un autre problème : je n'arrive pas a dire que si il y a rien dans la variable Rep alors exit sub il bug quand je fais comme sa alors que les autres instructions marche bien
' sélection onglet Cash-Paid out-Service
Sheets("Cash-Paid out-Service").Select
' déclaration de variable
Dim Rep As Integer, Lig As Integer, Col As Integer
' demande le jour de la caisse
Rep = InputBox("quel est le jour du mois de caisse à réaliser ?", "JOUR", 0)
If Rep < 1 Then
Exit Sub
End If
If Rep > 31 Then
Exit Sub
ElseIf Rep = "" Then
Exit Sub
End If
' recherche la ligne correspondante au jour de caisse
Lig = 6: Col = 1
Do While Rep <> Cells(Lig, Col).Value
If Cells(Lig, Col) = "" Then
MsgBox "Référence introuvable"
Exit Sub
End If
Lig = Lig + 1
Loop