OVH Cloud OVH Cloud

macro pour exploiter une base de données

13 réponses
Avatar
newoceane2000
Bonjour,

J'ai un tableau excel qui se pr=E9sente comme ci dessous :

Produit Allemagne Afrique Am=E9rique du nord
Camion oui non non
Voiture non non non
Scooter non oui non
Bateau non non oui
Moto oui non oui

En r=E9alit=E9 j'ai une liste de produits tr=E8s importante et qui n'est pas
d=E9finitive (ajout de produits r=E9guli=E8rement dans la base de donn=E9es=
)=2E

Serait-il possible qu'une macro puisse indiquer la liste des pays dans
lequel un produit choisi est vendu ?

ex : moto....> Allemagne, Am=E9rique du nord

De m=EAme une autre macro peut elle indiquer la liste des produits
vendus par pays ?

Ex: Allemagne ...>Camion, Moto


Merci d'avance pour vos r=E9ponses

3 réponses

1 2
Avatar
JB
Parce que la formule des pays était verticale.

Solution VBA:

http://cjoint.com/?lmv24N1Rur

JB




On 12 nov, 21:44, wrote:
Merci beaucoup JB.

Peux-tu juste me préciser pourquoi ce que j'ai fait ne marchais pas ?

On 12 nov, 21:24, JB wrote:



Bonsoir,

http://cjoint.com/?lmvyD00xbh

JB

On 12 nov, 20:44, wrote:

Bonsoir JB,

J'ai suivi vos indications et malheureusement je ne suis vraiment pas
douée car ça ne marche pas.

Voici mon fichier :

http://cjoint.com/?lmuP42Cpof

Pouvez vous me dire pouquoi ça ne marche pas?

Pour les autres solutions avec des filtres automatiques, je vous
remercie mais ça ne va pas me convenir car je ne peux pas changer la
présentation de mon tableau.

Merci pour vos réponses

On 11 nov, 20:57, JB wrote:

http://cjoint.com/?llu2SnasJP

Ce sont des formules matricielles:

Sélectionner I1:K1
=SI(ESTNUM(GRANDE.VALEUR(SI(INDEX(ok;EQUIV(G2;produit;
0);)="oui";COLONNE(Pays)-COLONNE(INDEX(Pays;
1;1))-1);COLONNE(INDIRECT("1:"&COLONNES(Pays)))));
INDEX(Pays;GRANDE.VALEUR(SI(INDEX(ok;EQUIV(G2;produit;
0);)="oui";COLONNE(Pays)-COLONNE(INDEX(Pays;
1;1)));COLONNE(INDIRECT("1:"&COLONNES(Pays)))));"")
Valider avec Maj+Ctrl+Entrée

Sélectionner G14:G17
=SI(ESTNUM(GRANDE.VALEUR(SI(INDEX(ok;;EQUIV(G14;Pays;
0))="oui";LIGNE(produit)-LIGNE(INDEX(produit;
1;1)));LIGNE(INDIRECT("1:"&LIGNES(produit)))));
INDEX(produit;GRANDE.VALEUR(SI(INDEX(ok;;EQUIV(G14;Pays;
0))="oui";LIGNE(produit)-LIGNE(INDEX(produit;
1;1)));LIGNE(INDIRECT("1:"&LIGNES(produit)))
Valider avec Maj+Ctrl+Entrée

Postez votre fichier si ça ne fonctionne pas.

JB

On 11 nov, 20:15, wrote:

Merci beaucoup JB, cependant ça ne marche pas sur mon fichier E xcel.

J'ai pourtant creer les noms produit, pays et ok et changer la
référence de la cellule où j'ai mis la liste déroulante e t j'obtiens
un résultat qui est faux.

Que faut-il faire d'autre pour adapter la formule? Pouver vous me
détailler la logique de la formule pour que je puisse l'adapter.

Quand à la solution de Gloups, comme je ne suis pas très fort e en vba
je ne sais pas trop où inserer les différentes macros et ça n'a pas
l'air de marcher (mais encore une fois ça viens peut être de moi).

Merci beaucoup pour vos réponses

On 11 nov, 17:57, JB wrote:

Bonjour,

http://cjoint.com/?llr5t7USHw

JB

On 11 nov, 15:37, wrote:

Bonjour,

J'ai un tableau excel qui se présente comme ci dessous :

Produit Allemagne Afrique Amérique du nord
Camion oui non non
Voiture non non non
Scooter non oui non
Bateau non non oui
Moto oui non oui

En réalité j'ai une liste de produits très importante e t qui n'est pas
définitive (ajout de produits régulièrement dans la bas e de données).

Serait-il possible qu'une macro puisse indiquer la liste des pays dans
lequel un produit choisi est vendu ?

ex : moto....> Allemagne, Amérique du nord

De même une autre macro peut elle indiquer la liste des pro duits
vendus par pays ?

Ex: Allemagne ...>Camion, Moto

Merci d'avance pour vos réponses- Masquer le texte des mess ages précédents -


- Afficher le texte des messages précédents -- Masquer le t exte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le tex te des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -








Avatar
newoceane2000
Je viens de regarder plus en détail le fichier, mais la recherche par
produit donne une mauvaise réponse, pour la recherche par pays c'est
également faux.

Poutant tout marchais impeccable sur ton premier fichier et mon
tableau est dans les mêmes colonnes.

Je ne comprend pas pourquoi ça ne marche plus.


On 12 nov, 21:44, wrote:
Merci beaucoup JB.

Peux-tu juste me préciser pourquoi ce que j'ai fait ne marchais pas ?

On 12 nov, 21:24, JB wrote:



Bonsoir,

http://cjoint.com/?lmvyD00xbh

JB

On 12 nov, 20:44, wrote:

Bonsoir JB,

J'ai suivi vos indications et malheureusement je ne suis vraiment pas
douée car ça ne marche pas.

Voici mon fichier :

http://cjoint.com/?lmuP42Cpof

Pouvez vous me dire pouquoi ça ne marche pas?

Pour les autres solutions avec des filtres automatiques, je vous
remercie mais ça ne va pas me convenir car je ne peux pas changer la
présentation de mon tableau.

Merci pour vos réponses

On 11 nov, 20:57, JB wrote:

http://cjoint.com/?llu2SnasJP

Ce sont des formules matricielles:

Sélectionner I1:K1
=SI(ESTNUM(GRANDE.VALEUR(SI(INDEX(ok;EQUIV(G2;produit;
0);)="oui";COLONNE(Pays)-COLONNE(INDEX(Pays;
1;1))-1);COLONNE(INDIRECT("1:"&COLONNES(Pays)))));
INDEX(Pays;GRANDE.VALEUR(SI(INDEX(ok;EQUIV(G2;produit;
0);)="oui";COLONNE(Pays)-COLONNE(INDEX(Pays;
1;1)));COLONNE(INDIRECT("1:"&COLONNES(Pays)))));"")
Valider avec Maj+Ctrl+Entrée

Sélectionner G14:G17
=SI(ESTNUM(GRANDE.VALEUR(SI(INDEX(ok;;EQUIV(G14;Pays;
0))="oui";LIGNE(produit)-LIGNE(INDEX(produit;
1;1)));LIGNE(INDIRECT("1:"&LIGNES(produit)))));
INDEX(produit;GRANDE.VALEUR(SI(INDEX(ok;;EQUIV(G14;Pays;
0))="oui";LIGNE(produit)-LIGNE(INDEX(produit;
1;1)));LIGNE(INDIRECT("1:"&LIGNES(produit)))
Valider avec Maj+Ctrl+Entrée

Postez votre fichier si ça ne fonctionne pas.

JB

On 11 nov, 20:15, wrote:

Merci beaucoup JB, cependant ça ne marche pas sur mon fichier E xcel.

J'ai pourtant creer les noms produit, pays et ok et changer la
référence de la cellule où j'ai mis la liste déroulante e t j'obtiens
un résultat qui est faux.

Que faut-il faire d'autre pour adapter la formule? Pouver vous me
détailler la logique de la formule pour que je puisse l'adapter.

Quand à la solution de Gloups, comme je ne suis pas très fort e en vba
je ne sais pas trop où inserer les différentes macros et ça n'a pas
l'air de marcher (mais encore une fois ça viens peut être de moi).

Merci beaucoup pour vos réponses

On 11 nov, 17:57, JB wrote:

Bonjour,

http://cjoint.com/?llr5t7USHw

JB

On 11 nov, 15:37, wrote:

Bonjour,

J'ai un tableau excel qui se présente comme ci dessous :

Produit Allemagne Afrique Amérique du nord
Camion oui non non
Voiture non non non
Scooter non oui non
Bateau non non oui
Moto oui non oui

En réalité j'ai une liste de produits très importante e t qui n'est pas
définitive (ajout de produits régulièrement dans la bas e de données).

Serait-il possible qu'une macro puisse indiquer la liste des pays dans
lequel un produit choisi est vendu ?

ex : moto....> Allemagne, Amérique du nord

De même une autre macro peut elle indiquer la liste des pro duits
vendus par pays ?

Ex: Allemagne ...>Camion, Moto

Merci d'avance pour vos réponses- Masquer le texte des mess ages précédents -


- Afficher le texte des messages précédents -- Masquer le t exte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le tex te des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -








Avatar
newoceane2000
On 12 nov, 22:01, wrote:
Je viens de regarder plus en détail le fichier, mais la recherche par
produit donne une mauvaise réponse, pour la recherche par pays c'est
également faux.

Poutant tout marchais impeccable sur ton premier fichier et mon
tableau est dans les mêmes colonnes.

Je ne comprend pas pourquoi ça ne marche plus.

On 12 nov, 21:44, wrote:



Merci beaucoup JB.

Peux-tu juste me préciser pourquoi ce que j'ai fait ne marchais pas ?

On 12 nov, 21:24, JB wrote:

Bonsoir,

http://cjoint.com/?lmvyD00xbh

JB

On 12 nov, 20:44, wrote:

Bonsoir JB,

J'ai suivi vos indications et malheureusement je ne suis vraiment p as
douée car ça ne marche pas.

Voici mon fichier :

http://cjoint.com/?lmuP42Cpof

Pouvez vous me dire pouquoi ça ne marche pas?

Pour les autres solutions avec des filtres automatiques, je vous
remercie mais ça ne va pas me convenir car je ne peux pas changer la
présentation de mon tableau.

Merci pour vos réponses

On 11 nov, 20:57, JB wrote:

http://cjoint.com/?llu2SnasJP

Ce sont des formules matricielles:

Sélectionner I1:K1
=SI(ESTNUM(GRANDE.VALEUR(SI(INDEX(ok;EQUIV(G2;produit;
0);)="oui";COLONNE(Pays)-COLONNE(INDEX(Pays;
1;1))-1);COLONNE(INDIRECT("1:"&COLONNES(Pays)))));
INDEX(Pays;GRANDE.VALEUR(SI(INDEX(ok;EQUIV(G2;produit;
0);)="oui";COLONNE(Pays)-COLONNE(INDEX(Pays;
1;1)));COLONNE(INDIRECT("1:"&COLONNES(Pays)))));"")
Valider avec Maj+Ctrl+Entrée

Sélectionner G14:G17
=SI(ESTNUM(GRANDE.VALEUR(SI(INDEX(ok;;EQUIV(G14;Pays;
0))="oui";LIGNE(produit)-LIGNE(INDEX(produit;
1;1)));LIGNE(INDIRECT("1:"&LIGNES(produit)))));
INDEX(produit;GRANDE.VALEUR(SI(INDEX(ok;;EQUIV(G14;Pays;
0))="oui";LIGNE(produit)-LIGNE(INDEX(produit;
1;1)));LIGNE(INDIRECT("1:"&LIGNES(produit)))
Valider avec Maj+Ctrl+Entrée

Postez votre fichier si ça ne fonctionne pas.

JB

On 11 nov, 20:15, wrote:

Merci beaucoup JB, cependant ça ne marche pas sur mon fichier Excel.

J'ai pourtant creer les noms produit, pays et ok et changer la
référence de la cellule où j'ai mis la liste déroulante et j'obtiens
un résultat qui est faux.

Que faut-il faire d'autre pour adapter la formule? Pouver vous me
détailler la logique de la formule pour que je puisse l'adapt er.

Quand à la solution de Gloups, comme je ne suis pas très fo rte en vba
je ne sais pas trop où inserer les différentes macros et ça n'a pas
l'air de marcher (mais encore une fois ça viens peut être d e moi).

Merci beaucoup pour vos réponses

On 11 nov, 17:57, JB wrote:

Bonjour,

http://cjoint.com/?llr5t7USHw

JB

On 11 nov, 15:37, wrote:

Bonjour,

J'ai un tableau excel qui se présente comme ci dessous :

Produit Allemagne Afrique Amérique du nord
Camion oui non non
Voiture non non non
Scooter non oui non
Bateau non non oui
Moto oui non oui

En réalité j'ai une liste de produits très importante et qui n'est pas
définitive (ajout de produits régulièrement dans laba sede données).

Serait-il possible qu'unemacropuisse indiquer la liste des pays dans
lequel un produit choisi est vendu ?

ex : moto....> Allemagne, Amérique du nord

De même une autremacropeut elle indiquer la liste des pro duits
vendus par pays ?

Ex: Allemagne ...>Camion, Moto

Merci d'avance pour vos réponses- Masquer le texte des me ssages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le t exte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le tex te des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -


JB tu es un génie.

C'est exactement ce qui me fallait et ça marche parfaitement

Mille mercis








1 2