Problemes de macro
Fermé
sikim69
Messages postés
33
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
30 mars 2013
-
Modifié par sikim69 le 24/01/2013 à 12:05
sikim69 Messages postés 33 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 30 mars 2013 - 24 janv. 2013 à 19:57
sikim69 Messages postés 33 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 30 mars 2013 - 24 janv. 2013 à 19:57
A voir également:
- Problemes de macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro logiciel - Télécharger - Organisation
- Convertir chiffre en lettre excel sans macro ✓ - Forum Excel
3 réponses
kratosmindfreak
Messages postés
43
Date d'inscription
mercredi 23 janvier 2013
Statut
Membre
Dernière intervention
1 février 2013
24 janv. 2013 à 13:55
24 janv. 2013 à 13:55
le probleme c'est dans le macro ANCIENNETe ne retourne pas une valeur mais tu as fais
x=ANCIENNETE (jour,mois,annee,jour2,mois2,annee2);
donc il faut passer x comme un parametre a ton macro
x=ANCIENNETE (x,jour,mois,annee,jour2,mois2,annee2);
en plus dans le macro il ya un erreur de syntax cad dans:
la deuxieme condition mois2 == mois && jour2 >= jour ? m = 12 - mois - mois2, annee2 - annee-1
il faut ajouter l'autre cas si la condition mois2 == mois && jour2 >= jour n'est pas verifier il faut faire
mois2 == mois && jour2 >= jour ? m = 12 - mois - mois2, annee2 - annee-1:valeur
donc le programme complet est:
_________
#include<stdio.h>
#include<conio.h>
#define ANCIENNETE(x,jour,mois,annee,jour2,mois2,annee2) (x=(mois2 > mois ? m= mois2 - mois, annee2 - annee : ((mois2 == mois && jour2 >= jour)? (m=12-mois-mois2,annee2-annee-1):autre valeur)));
int main()
{
int x,annee,annee2,mois,mois2,jour,jour2,m;
printf("Quel est la date de votre arrivee ? (ECRIRE EN CHIFFRE)");
printf("\nAnnee ? ");
scanf("%d",&annee);
printf("\nMois ? ");
scanf("%d",&mois);
printf("\nJour ? ");
scanf("%d",&jour);
printf("\nDate d'arrivee : %d/%d/%d",jour,mois,annee);
printf("\n\nQuel est la date du jour ? (ECRIRE EN CHIFFRE)");
printf("\nAnnee ? ");
scanf("%d",&annee2);
printf("\nMois ? ");
scanf("%d",&mois2);
printf("\nJour ? ");
scanf("%d",&jour2);
printf("\nDate actuelle : %d/%d/%d",jour2,mois2,annee2);
x=ANCIENNETE(x,jour,mois,annee,jour2,mois2,annee2)
printf("\n\nResultat : %d mois et %d annees",m,x);
getch();
}
____________
Je m'excuse pour mon mauvais français je souhaite que tu m'a compris :D
GOOD LUCK
x=ANCIENNETE (jour,mois,annee,jour2,mois2,annee2);
donc il faut passer x comme un parametre a ton macro
x=ANCIENNETE (x,jour,mois,annee,jour2,mois2,annee2);
en plus dans le macro il ya un erreur de syntax cad dans:
la deuxieme condition mois2 == mois && jour2 >= jour ? m = 12 - mois - mois2, annee2 - annee-1
il faut ajouter l'autre cas si la condition mois2 == mois && jour2 >= jour n'est pas verifier il faut faire
mois2 == mois && jour2 >= jour ? m = 12 - mois - mois2, annee2 - annee-1:valeur
donc le programme complet est:
_________
#include<stdio.h>
#include<conio.h>
#define ANCIENNETE(x,jour,mois,annee,jour2,mois2,annee2) (x=(mois2 > mois ? m= mois2 - mois, annee2 - annee : ((mois2 == mois && jour2 >= jour)? (m=12-mois-mois2,annee2-annee-1):autre valeur)));
int main()
{
int x,annee,annee2,mois,mois2,jour,jour2,m;
printf("Quel est la date de votre arrivee ? (ECRIRE EN CHIFFRE)");
printf("\nAnnee ? ");
scanf("%d",&annee);
printf("\nMois ? ");
scanf("%d",&mois);
printf("\nJour ? ");
scanf("%d",&jour);
printf("\nDate d'arrivee : %d/%d/%d",jour,mois,annee);
printf("\n\nQuel est la date du jour ? (ECRIRE EN CHIFFRE)");
printf("\nAnnee ? ");
scanf("%d",&annee2);
printf("\nMois ? ");
scanf("%d",&mois2);
printf("\nJour ? ");
scanf("%d",&jour2);
printf("\nDate actuelle : %d/%d/%d",jour2,mois2,annee2);
x=ANCIENNETE(x,jour,mois,annee,jour2,mois2,annee2)
printf("\n\nResultat : %d mois et %d annees",m,x);
getch();
}
____________
Je m'excuse pour mon mauvais français je souhaite que tu m'a compris :D
GOOD LUCK
sikim69
Messages postés
33
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
30 mars 2013
1
24 janv. 2013 à 19:56
24 janv. 2013 à 19:56
Merci du temps que tu m'as consacré.. Mais le probleme est que le code ne marche pas.. J'ai une erreur de syntaxe.. Mais c'est au niveau des parentheses, des deux points etc.. Mais j'arrive pas à trouver..
sikim69
Messages postés
33
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
30 mars 2013
1
24 janv. 2013 à 19:57
24 janv. 2013 à 19:57
#include<stdio.h> #include<conio-bis.h> #define ANCIENNETE(jour,mois,annee,jour2,mois2,annee2) (mois2 >= mois && jour2>=jour ? (m= mois2 - mois, annee2 - annee : (mois2 >= mois && jour2 <= jour ? (m=mois2-mois-1,annee2-annee : (mois2<mois && jour2>=jour ? (m=mois-mois2, m=12-m, annee2-annee-1 : (mois2<mois && jour2<jour ? m=mois-mois2, m=12-m-1, annee2-annee-1))))))) int main() { int x,annee,annee2,mois,mois2,jour,jour2,m; printf("Quel est la date de votre arrivee ? (ECRIRE EN CHIFFRE)"); printf("\nAnnee ? "); scanf("%d",&annee); printf("\nMois ? "); scanf("%d",&mois); printf("\nJour ? "); scanf("%d",&jour); printf("\nDate d'arrivee : %d/%d/%d",jour,mois,annee); printf("\n\nQuel est la date du jour ? (ECRIRE EN CHIFFRE)"); printf("\nAnnee ? "); scanf("%d",&annee2); printf("\nMois ? "); scanf("%d",&mois2); printf("\nJour ? "); scanf("%d",&jour2); printf("\nDate actuelle : %d/%d/%d",jour2,mois2,annee2); x=ANCIENNETE (jour,mois,annee,jour2,mois2,annee2); printf("\n\nResultat : %d mois et %d annees",m,x); getchar(); getchar(); return 0; }
Revoilà le code modifié.. J'espere que vous pourrez m'aider à rendre le macro correct..