Peu pas dire a ma macro si une lettre sortir
Résolu/Fermé
A voir également:
- Peu pas dire a ma macro si une lettre sortir
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
3 réponses
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
942
Modifié par Mytå le 4/08/2010 à 12:43
Modifié par Mytå le 4/08/2010 à 12:43
Salut le forum
Modifie ta condition de test
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
Modifie ta condition de test
Rep = InputBox("veuillez saisir le taux de change") If Rep = "" Or Not IsNumeric(Rep) Then MsgBox "Erreur !" Exit Sub Else If Rep < 1 Or Rep > 31 Then Exit Sub End If
Mytå
Merci de donner suite à votre question, nous ne sommes pas des robots...
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
salut,
j'ai éssayé cela ne fonctionne pas je te montre tout le code pour que tu vois ce que j'aimerai : ( ce que je veux se n'est pas le taux de change mais le jour de caisse) c'est mal présenté mais si tu le copi/cole dans VB cela sera plus lisible
'message d'accueil et date
datduJour = Date
MsgBox vbCr & "Nous somme le : " & vbCr & vbCr & " " & datduJour, vbInformation
' 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)
JE VEUX QUE SI Rep = 0 OU "" OU AUTRE QUE DES CHIFFRES ALORS SORTIR DE LA MACRO ET SA NE MARCHE PAS
'If Rep = "" Or Not IsNumeric(Rep) Then
'MsgBox "Erreur !"
'Exit Sub
'Else
'If Rep < 1 Or Rep > 31 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
' demande le montant cash balance
Cells(Lig, Col + 1).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le montant cash figurant sur la balance", "MONTANT CASH BALANCE", 0)
' demande le montant paid out et foreign currenc
Cells(Lig, Col + 2).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le montant paid out figurant sur la balance", "MONTANT PAID OUT and FOREIGN CURRENCY BALANCE", 0)
' sélection onglet Cash&Devises
Sheets("Cash&Devises").Select
' demande le montant dans les enveloppes
Cells(Lig, Col + 1).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le total de cash des enveloppes", "MONTANT ENVELOPPE", 0)
' demande le montant en euros des devises
Cells(Lig, Col + 2).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le total des devises", "MONTANT DEVISE sans les paid out", 0)
' demande le montant des chèques
Cells(Lig, Col + 3).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le total des chèques", "MONTANT CHEQUE", 0)
' sélection onglet de contôle
Sheets("Control").Select
' mise en couleur de la cellule de différence opéra et enveloppe
Cells(Lig, Col + 3).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
' 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
' remise de la couleur d'origine
Cells(Lig, Col + 3).Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
j'ai éssayé cela ne fonctionne pas je te montre tout le code pour que tu vois ce que j'aimerai : ( ce que je veux se n'est pas le taux de change mais le jour de caisse) c'est mal présenté mais si tu le copi/cole dans VB cela sera plus lisible
'message d'accueil et date
datduJour = Date
MsgBox vbCr & "Nous somme le : " & vbCr & vbCr & " " & datduJour, vbInformation
' 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)
JE VEUX QUE SI Rep = 0 OU "" OU AUTRE QUE DES CHIFFRES ALORS SORTIR DE LA MACRO ET SA NE MARCHE PAS
'If Rep = "" Or Not IsNumeric(Rep) Then
'MsgBox "Erreur !"
'Exit Sub
'Else
'If Rep < 1 Or Rep > 31 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
' demande le montant cash balance
Cells(Lig, Col + 1).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le montant cash figurant sur la balance", "MONTANT CASH BALANCE", 0)
' demande le montant paid out et foreign currenc
Cells(Lig, Col + 2).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le montant paid out figurant sur la balance", "MONTANT PAID OUT and FOREIGN CURRENCY BALANCE", 0)
' sélection onglet Cash&Devises
Sheets("Cash&Devises").Select
' demande le montant dans les enveloppes
Cells(Lig, Col + 1).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le total de cash des enveloppes", "MONTANT ENVELOPPE", 0)
' demande le montant en euros des devises
Cells(Lig, Col + 2).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le total des devises", "MONTANT DEVISE sans les paid out", 0)
' demande le montant des chèques
Cells(Lig, Col + 3).Select
ActiveCell.FormulaR1C1 = InputBox("entrer le total des chèques", "MONTANT CHEQUE", 0)
' sélection onglet de contôle
Sheets("Control").Select
' mise en couleur de la cellule de différence opéra et enveloppe
Cells(Lig, Col + 3).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
' 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
' remise de la couleur d'origine
Cells(Lig, Col + 3).Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
4 août 2010 à 16:58
4 août 2010 à 16:58
Bonjour,
Au lieu de tester les 3 conditions (rep vide ou égal à 0 ou non numérique) en même temps, je te conseille de les faire l'une après l'autre. Pour éviter aussi des erreurs d'incompatibilité de type, je te conseille de déclarer rep en String (car issu d'une InputBox) et après les tests la transformer en Integer. Un peu comme ceci :
Au lieu de tester les 3 conditions (rep vide ou égal à 0 ou non numérique) en même temps, je te conseille de les faire l'une après l'autre. Pour éviter aussi des erreurs d'incompatibilité de type, je te conseille de déclarer rep en String (car issu d'une InputBox) et après les tests la transformer en Integer. Un peu comme ceci :
Dim rep As String rep = InputBox("quel est le jour du mois de caisse à réaliser ?", "JOUR", 0) If rep = "" Then MsgBox "Erreur type 1!" Exit Sub End If If Not IsNumeric(rep) Then MsgBox "Erreur type 2!" Exit Sub End If If CInt(rep) = 0 Then MsgBox "Erreur type 3!" Exit Sub End If If CInt(rep) < 1 Or CInt(rep) > 31 Then MsgBox "Erreur type 4!" Exit Sub End If