Alpha vers Numérique

Postez ici si vous avez des difficultés a comprendre une commande, ou a créer une macro.
JacquesCHENU
Messages : 98
Enregistré le : 16 juin 2014, 08:49
Localisation : Jouet sur l'Aubois (18)

Alpha vers Numérique

Message par JacquesCHENU » 02 nov. 2015, 10:46

Bonjour à tous
Windows 8.1 ... SM 3.1.0.46
Je ne trouve pas la solution....

Variable STR1 Alpha/Num
Variable VAR1 Numérique

STR1 = 4 blancs et 19.4 " 19.4"
Calcul évolué VAR1 = STR1
Résultat VAR1 = 19.4

la VAR1 n'est pas reconnue Numérique

Avatar du membre
Feitan
Site Admin
Messages : 301
Enregistré le : 11 avr. 2014, 15:15

Re: Alpha vers Numérique

Message par Feitan » 02 nov. 2015, 14:00

Hello Jacques,

J'ai pas compris cette ligne STR1 = 4 blancs et 19.4 " 19.4" qu'est ce que tu veux dire là dessus ?
Et pas la ligne résultat d'ailleurs, tu peux donner plus d'infos stp ?

Pourquoi STR1 est en Alpha/Num et pas Num uniquement ?

JacquesCHENU
Messages : 98
Enregistré le : 16 juin 2014, 08:49
Localisation : Jouet sur l'Aubois (18)

Re: Alpha vers Numérique

Message par JacquesCHENU » 02 nov. 2015, 14:43

Salut Feitan
Merci de te pencher sur le problème...

-1- STR1 est alpha car la donnée vient de FileMaker Pro et cette donnée est 19.4 Précédé de 4 Blancs et réputé Texte.

-2- J'ai besoin de cette donnée en Numérique pour un Examine qui déclenche des traitements différents suivants la valeur de cette donnée.

-3- VAR1 est numérique (VAR1=STR1)....VAR1 après ce Calcul évolué est bien 19.4 SANS les blancs

-4- Examine VAR1;<>;0;
et là sur l'Examine, message, la valeur de VAR1 n'est pas numérique ????? et arrêt de la macro ????

De mémoire j'ai déjà procédé ainsi et jamais de souci.

Avatar du membre
Feitan
Site Admin
Messages : 301
Enregistré le : 11 avr. 2014, 15:15

Re: Alpha vers Numérique

Message par Feitan » 02 nov. 2015, 16:04

Re,

C'est pas logique que Supermacro comprenne qu'une variable est numérique alors que celle de base est alpha. Surtout à cause des 4 blancs.
Mais du coup en cherchant à extraire juste les chiffres j'ai trouvé une solution.

Variable <Var1>;;Alpha;
Variable <Var2>;0;Numerique;
Variable <tamp>;;Alpha;
Calcul évolué <Var1>= 19.4
Fonction <tamp>;Texte;Caractère(s)/Position(s);<Var1>;1;7;
Calcul évolué <Var2>=<tamp>
Examine <Var2>;<>;0;
Message Message;<Var2>;
Message Message;no,;

Puisque tes 4 blancs étaient fixes j'ai voulu les enlever tout simplement. Sauf que dans la fonction <tamp> j'avais configuré 4;7 en gros du 4ème blanc au 9. Et ça fonctionnait, du coup je ne sais pas par quel magie ça convertis bien la variable en numérique mais ça fonctionne, et ce quelquesoit la valeur du "4"
La fonction est tout simplement dans Fonction, Texte, Caractère/Position

Si le nombre entier t'importe tu peux utiliser la fonction Texte, Longueur qui va te donner la taille de ta variable et modifier le 7 par ta variable longueur.

J'espère que c'est clair :/

JacquesCHENU
Messages : 98
Enregistré le : 16 juin 2014, 08:49
Localisation : Jouet sur l'Aubois (18)

Re: Alpha vers Numérique

Message par JacquesCHENU » 03 nov. 2015, 13:35

Salut Feitan
Testé ta macro....avec la variante ci-dessous

Variable <Var1>;;Alpha;
Variable <Var2>;0;Numerique;
Variable <tamp>;;Alpha;
Calcul évolué <Var1>= 19.4
Fonction <tamp>;Texte;Caractère(s)/Position(s);<Var1>;1;7;
Calcul évolué <Var2>=<tamp>
ScriptEval VBScript;<Var2>;FormatNumber(<Var2>*1,2)
Examine <Var2>;=;0;

à l'Examine, message "la valeur contenue dans <Var2> n'est pas un numérique valide [19.40]......"

Ta proposition de macro est la même que la mienne avec la même erreur. J'ai malgré tout testé
ta proposition avec tes variables.

Dans le passé j'ai toujours procédé ainsi pour récupérer des résultats numériques et jamais d'erreur de la sorte.

Comme on dit...les bras m'en tombent.

JacquesCHENU
Messages : 98
Enregistré le : 16 juin 2014, 08:49
Localisation : Jouet sur l'Aubois (18)

Re: Alpha vers Numérique

Message par JacquesCHENU » 03 nov. 2015, 13:40

.............suite
j'ai fait un essai avec <Var1> alpha, valeur 00019.4
même erreur

JacquesCHENU
Messages : 98
Enregistré le : 16 juin 2014, 08:49
Localisation : Jouet sur l'Aubois (18)

Re: Alpha vers Numérique

Message par JacquesCHENU » 04 nov. 2015, 10:13

Bonjour Feitan
Toujours à la recherche d'une solution.....
Je viens de faire un essai, initialisé <Var2> Numérique avec 19.4.
Refus, message

"Vous avez choisi une variable numérique, vous devez donc choisir un nombre entier pour initialiser cette variable."

A ne rien y comprendre, même refus avec19.4 ou 19,4 (point ou virgule)

Bon courage !!!!!

tuamotu
Messages : 2
Enregistré le : 25 juil. 2014, 13:28
Localisation : 04380 THOARD

Re: Alpha vers Numérique

Message par tuamotu » 04 nov. 2015, 12:53

Salut Jacques;
J'ai eu par le passé le meme genre de soucis .... voila comment j'ai contourné le problème:
Commentaire je donne la valeur du presse papier a la var "Cptref"(Alpha)
Commentaire j'ecrie "CptRef" dans supermacro.txt et je relie!!!! pour transformer Alpha en Numerique!!!!
Fonction <CptRef>;Clipboard;Texte;
Ecrire D:\Mes documents\teste2\aidach\supermacro.txt;<CptRef>;1;
Lire D:\Mes documents\teste2\aidach\supermacro.txt;<CptRef>;1;
J"espère te donner une piste...
Bon courage

JacquesCHENU
Messages : 98
Enregistré le : 16 juin 2014, 08:49
Localisation : Jouet sur l'Aubois (18)

Re: Alpha vers Numérique

Message par JacquesCHENU » 04 nov. 2015, 14:28

Salut Feitan
Rien à faire pour passé.....

Derniers essais
-1- Ecrire puis Lire la variable NUM dans un fichier txt, déjà testé avant de poster mon souci. Résultat toujours faux.

-2- Test fait avec une valeur Alpha SANS décimale, et là aucun problème.

-3- Décimales avec point ou virgule, ne passe pas.

-4- Essai aussi "Compatibilité" Windows XP, VISTA, 7 et 8, toujours faux.

Ce sont les décimales qui sont refusées. Les nombres entiers passent.
C'est l'impasse. il s'agit d'une macro de 580 lignes que je voulais modifier et je suis bloqué.

je ne pense pas qu'il s'agisse d'un virus car j'ai passé Avast, ZHPCleaner, Spybot, Malwrebytes, Registre nettoyeur.

J'ai déjà fait ce genre de récupération de valeur dans le passé.
Dommage qu'Adam soit aux abonnés absents !!!!!

As-tu testé la macro du 02/11 que tu m'avais proposée. Si déroulement OK chez toi, ce serait ma version de SM qui aurait un problème.
Quel casse-tête...................

tuamotu
Messages : 2
Enregistré le : 25 juil. 2014, 13:28
Localisation : 04380 THOARD

Re: Alpha vers Numérique

Message par tuamotu » 04 nov. 2015, 16:23

Une petite idée...
tu multiplies ta valeur par 100 en debut de macro afin d'éviter les décimales et tu divise par 100 la valeur....au moment voulu!!!
Bon courage

Répondre