Recherche v

Fermé
cindymini Messages postés 15 Date d'inscription samedi 26 janvier 2013 Statut Membre Dernière intervention 4 décembre 2014 - 9 févr. 2013 à 15:32
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 10 févr. 2013 à 08:06
Bonjour,

Voici une trame pour faire la facturation, je souhaite qu'a la sélection d'un client, la recherche V s'effectue dans la base de prix correspondante.

Ci joint le fichier

Pouvez vous m'aider SVP??

https://www.cjoint.com/?3BjpCknoYny


A voir également:

9 réponses

m@rina Messages postés 20163 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 5 mai 2024 11 279
9 févr. 2013 à 16:06
Bonjour

Voici ma solution :

Tu donnes un nom différent pour chaque plage Matériaux située dans chacun de tes onglet de clients.

Dans la base Clients, tu ajoutes une colonne dans laquelle tu donnes le nom de la plage Matériaux spécifique à ce client.

Ensuite, dans ta facture, dans tes formules RECHERCHEV, tu remplaces le nom en dur le nom de la base "Matériaux" par un autre RECHERCHEV qui cherche le nom de la plage dans la colonne ajoutée de ta base client.
ex :
https://www.cjoint.com/?CBjqexScoLu

Une autre solution si tu as peu de clients serait de faire une formule avec des SI dans une cellule quelconque afin d'avoir pour résultat le nom de la plage Matériaux du client en fonction de son Numéro.
Ensuite dans tes formules RECHERCHEV, tu remplacerais le nom de la base "Matériaux" par une formule INDIRECT qui irait chercher le nom de la plage dans la cellule en question.

m@rina
1
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 397
9 févr. 2013 à 17:35
Bonjour
et pourtant... elle devrait fonctionner en ajustant les champs nommés à la, demande.
Toutefois, au cas où une autre option ici:
https://www.cjoint.com/?CBjrH7xss7n
A notre que pour qu'elle fonctionne, les noms de feuilles ont été modifiés
L'explication est dans le fichier.
crdlmnt
1
cindymini Messages postés 15 Date d'inscription samedi 26 janvier 2013 Statut Membre Dernière intervention 4 décembre 2014
9 févr. 2013 à 16:40
Merci pour ton aide

A bientôt

La première solution me parait la plus simple.....
0
cindymini Messages postés 15 Date d'inscription samedi 26 janvier 2013 Statut Membre Dernière intervention 4 décembre 2014
9 févr. 2013 à 16:51
cependant cela ne fonctionne pas....

Avez vous d'autres propositions

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cindymini Messages postés 15 Date d'inscription samedi 26 janvier 2013 Statut Membre Dernière intervention 4 décembre 2014
9 févr. 2013 à 18:33
MERCI beaucoup!!!!!!!!!!! çà marche

Je voudrais également ceci :

Les client de 101 a 510 sont des professionnels ou des particuliers que je vais créer au fur et a mesure.

De ce fait, l'intégralité de ces clients ont la même base de prix qui se nomme PRO PARTICULIER.

Puis je lui dire que de 101 à 510 il faut aller dans BDP PRO PARTICULIER à partir du numéro client.

MERCI

CINDYMINI

http://cjoint.com/data3/3BjsGyewOne_ebauche_facture_07022010.xls
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 397
Modifié par Vaucluse le 9/02/2013 à 19:47
Alors dans ce cas, deux solutions,
soit on complique la formule de recherche, soit on construit l'adresse dans une cellule hors champ de la feuille Facture
Pour éviter des formules à s'arracher les cheveux, je vous conseille si vous le pouvez la second solution soit:
prenez par exemple la cellule G1 de la feuille facture et inscrivez cette formule, en respectant bien tous les signes

=SI(E12>100;"'BDP pro particulier'!A1:K1000";"'BDP "&$D$14&"'!A1:K1000")

Cette cellule G1 peut se trouver sur n'importe quelle feuille.

Elle vous écrira l'adresse du champ auquel il faut s'adresser et dans ce cas dans les formules de recherche, il faut corriger comme suit

remplacer

INDIRECT("'BDP "&$D$14&"'!A1:K1000")

tout simplement par:

INDIRECT($G$1)

Faite bien attention aux signes, comme d'hab

Ca devrait marcher , (si j'ai bien compris)

Ce qui se passera:
des N° 1 à 100 inclus, les formules vont s'adresser à la feuille client dont le nom est en D14
au dessus de 100 , les formules s'adresseront à la feuille BDP pro particulier


Crdlmnt
0
cindymini Messages postés 15 Date d'inscription samedi 26 janvier 2013 Statut Membre Dernière intervention 4 décembre 2014
9 févr. 2013 à 22:22
Bonsoir,

J'ai recopié la formule comme décrite, cependant je ne sais pas si c'est l'heure tardive ou si vraiment je suis nul mais quand je mentionne le client 101 j'ai une erreur et je n'arrive pas à accéder au BDP PRO PARTICULIER quand je remplace par $G1$

Merci de me dire ou se trouve mon erreur???

https://www.cjoint.com/?3BjwwpwNOnz
Cordialement
0
cindymini Messages postés 15 Date d'inscription samedi 26 janvier 2013 Statut Membre Dernière intervention 4 décembre 2014
9 févr. 2013 à 22:58
j'ai également une autre question, comment ne plus afficher le message d'erreur valeur dans mes cellules??

Merci
0
cindymini Messages postés 15 Date d'inscription samedi 26 janvier 2013 Statut Membre Dernière intervention 4 décembre 2014
9 févr. 2013 à 23:11
j'ai trouver pour enlever la notation valeur :

=SI(ESTERREUR(D37*E37);"";(D37*E37))
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 397
Modifié par Vaucluse le 10/02/2013 à 08:09
Bonjour cindymini

Vos erreurs:

en G1 , dans la première condition, le nom de la feuille est mal écrit, vous pouvez le voir dans le texte affiché en G1 si vous placer un N° supèrieur à 100 en E12:

dans la formule 1° condition , entre les guillemets
___placer l'apostrophe devant BDP
___enlever le point d'exclamation derrière BDP et le remplacer par un blanc

dans les formules de recherche il ne s'agit pas de remplacer D14 par G1, mais tout l'ensemble de INDIRECT() et donc écrire simplement:
INDIRECT(G1)

Enfin, pour l'affichage valeur vous pouvez faire plus simple en écrivant
=SI(A20="";"";E20*D20)
qui n'affichera rien tant qu'il n'y a pas de code en A

crdlmnt




Errare humanum est, perseverare diabolicum
0