Macro vba
zina1234
Messages postés
6
Statut
Membre
-
via55 Messages postés 14730 Statut Membre -
via55 Messages postés 14730 Statut Membre -
Bonjour
j'ai du mal à rédiger une macro qui revoie à un message d'erreur si la valeur saisie via input box n'est pas { 0%, 2% 7%}
ainsi qu'une autre macro qui montre en rouge les valeurs ayant une décimale paire.
merci bcp
j'ai du mal à rédiger une macro qui revoie à un message d'erreur si la valeur saisie via input box n'est pas { 0%, 2% 7%}
ainsi qu'une autre macro qui montre en rouge les valeurs ayant une décimale paire.
merci bcp
A voir également:
- Macro vba
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Excel compter cellule couleur sans vba - Guide
- Arreter une macro vba ✓ - Forum VB / VBA
3 réponses
Bonjour à vous deux
Et pourquoi pas tout simplement :
mais personnellement pour ce genre je préfère faire un userform avec 3 boutons d'option ne permettant de choisir qu'une seule option ce qui évite toute erreur
Cdlmnt
Via
Et pourquoi pas tout simplement :
Sub pourcentage()
pcent = InputBox("Indiquez la valeur du pourcentage (2, 7 ou 12) sans le caractère % (par ex: 2 pour 2%)")
If pcent <> 2 And pcent <> 7 And Percent <> 12 Then MsgBox "Saisie erronée": Exit Sub
'... suite du code...
End Sub
mais personnellement pour ce genre je préfère faire un userform avec 3 boutons d'option ne permettant de choisir qu'une seule option ce qui évite toute erreur
Cdlmnt
Via
Re,
moi aussi, je suis autodidacte, à part 2 ou 3 ans à user mes pantalons au cours du soir du CNAM informatique où, d’ailleurs ,j'ai appris cette règle en TP issue des modèles de traitements de Merise. ces tp étaient dirigés par un informaticien responsable d'une fac à Montpellier pour qui il ne fallait surtout pas déroger à cette règle sous peine de "poésie hard"...
Tu as des topos sur Merise dans la partie encyclopédie du forum CCM mais maintenant, elle est remplacée par ULM (je ne connais pas) et c'était ardu à potasser.
concernant le code, pour 3 conditions, on peut utiliser une cascade de "SI" mais si tu as une liste assez longue, le filter d'un array est préférable , surcharge moins le code et est + facile à modifier (suppression, ajout) que d'aller bricoler dans le code et ce quelque soit la longueur de la liste.
dis toi bien aussi que je regarde souvent tes astuces sur les formules et j'en engrange pas mal dans mon grenier comme la validation de données sur 3 niveaux par exemple
Bonne soirée
moi aussi, je suis autodidacte, à part 2 ou 3 ans à user mes pantalons au cours du soir du CNAM informatique où, d’ailleurs ,j'ai appris cette règle en TP issue des modèles de traitements de Merise. ces tp étaient dirigés par un informaticien responsable d'une fac à Montpellier pour qui il ne fallait surtout pas déroger à cette règle sous peine de "poésie hard"...
Tu as des topos sur Merise dans la partie encyclopédie du forum CCM mais maintenant, elle est remplacée par ULM (je ne connais pas) et c'était ardu à potasser.
concernant le code, pour 3 conditions, on peut utiliser une cascade de "SI" mais si tu as une liste assez longue, le filter d'un array est préférable , surcharge moins le code et est + facile à modifier (suppression, ajout) que d'aller bricoler dans le code et ce quelque soit la longueur de la liste.
dis toi bien aussi que je regarde souvent tes astuces sur les formules et j'en engrange pas mal dans mon grenier comme la validation de données sur 3 niveaux par exemple
Bonne soirée
Option Explicit '-------------------------- Sub valeur_pourcent() Dim T_correct, Pcent As Byte, Test, xxx As Single T_correct = Array(0, 2, 7) On Error GoTo erreur1 Pcent = InputBox(prompt:="Indiquez la valeur du pourcentage sans le caractère % (par ex: 2 pour 2%)") Test = Filter(T_correct, Pcent) If IsEmpty(Test(0)) Then GoTo erreur1 xxx = Test(0) / 100 '--- suite du code.... Exit Sub 'gestionnaire erreurs erreur1: MsgBox "saisie erronée" End Sub