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
A voir également:
- Macro if ne marche pas
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
2 réponses
Bonjour,
Je viens de tester, votre code fonctionne très bien...
A tout hasard essayez ceci :
Mais je dis bien "à tout hasard..."
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
' 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