Pages

Affichage des articles dont le libellé est maccro. Afficher tous les articles
Affichage des articles dont le libellé est maccro. Afficher tous les articles

Toutes versions Aide - Formule ou Maccro recherche de mots sujet

vendredi 28 mars 2014




Bonjour à tous,

Je recherche soit une formule, soit une maccro qui puisse me permettre de mettre en place ceci:

Dans une colonne B j'ai une liste de mot sur le secteur du voyage croisés avec des pays:

2014-03-28_10-16-44.png


Mon but serais de dire à Excel, si tu trouve dans la colonne B un des mots de la base 1 ou 2 ou 3 alors tu m'inscris le nom de pays en gras (F4 / G4 / H4). Dans le cas ou 2 mots seraient présents ex:

"voyage à paris au départ d'espagne " --> je souhaite avoir l'info suivante : France Espagne (le mot "paris" est dans la base France et le mot "espagne" est dans la base espagne).

Je connais les fonctions cherche et si mais le problème c'est que mes bases vont contenir beaucoup de termes.. et j'imagine que la formule sera très longue.. non?

Est-ce qu'à votre avis cela est réalisable?

Par avance merci de votre aide précieuse,

Bonne journée :)













Fichiers attachés








Utilisation d'une maccro pour initialiser une structure sujet

mercredi 29 janvier 2014




Bonjour,

Voici mon problème: je souhaite utiliser une maccro pour initialiser une structure.

Je m'explique, ci dessous le code qui initialise une structure de manière "classique":

Code:


unsigned char Tableau_Vert[]={1,6,5};
unsigned char Tableau_Rouge[]={5,8,10,14,22,2};

typedef struct{
        unsigned char* pTableau;
        unsigned char TableauTaille;
        }Type_Tableau;
       
Type_Tableau ListeTableaux[]={
            {Tableau_Vert, (unsigned char)(sizeof(Tableau_Vert)/sizeof(unsigned char))},
            {Tableau_Rouge, (unsigned char)(sizeof(Tableau_Rouge)/sizeof(unsigned char))},
            };


Ensuite j'utilise des maccros pour initialiser les champs de ma structure, ça devient:

Code:


#define MACCRO_1(couleur) (Tableau_##couleur)
#define MACCRO_2(couleur) ((unsigned char)(sizeof(Tableau_##couleur)/sizeof(unsigned char)))

Type_Tableau ListeTableaux[]={
            {MACCRO_1(Vert), MACCRO_2(Vert)},
            {MACCRO_1(Rouge), MACCRO_2(Rouge)},
            };


MACCRO_1 va initialiser le champs "pTableau" et MACCRO_2 le champs "TableauTaille".

Jusque là tout va bien...
Mais là où ça se complique c'est que je souhaite utiliser un seule maccro pour initialiser les 2 champs de ma structure...mais je sais pas faire :-(

Je voudrais au final ça:

Code:


Type_Tableau ListeTableaux[]={
            {MACCRO_3(Vert)},
            {MACCRO_3(Rouge)},
            };


J'ai essayer de faire une maccro du genre:

Code:


#define MACCRO_3(couleur) (MACCRO_1(couleur), MACCRO_2(couleur))

Mais ça ne marche pas, a priori c'est la virgule qui pose problème...

Des avis sur la question ?