Excel et les bases de données

Fermé
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012 - 19 juil. 2012 à 09:58
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012 - 20 juil. 2012 à 12:03
Bonjour à toutes et à tous,

Je me trouve dans une impasse et je m'arrache les cheveux depuis plusieurs jours sur cette éventuelle formule miracle. J'ai bien regardé les forums existants, l'aide excel, bref, je n'arrive pas du tout au résultat souhaité.

Voici ma problématique :

En fait j'ai une base de données de procédés de soudage, et je veux que selon la soudure qu'il y est une recherche dans cette base de données avec pour conditions:

1- diamètre compris entre X et XX
2- épaisseur comprise entre X et XX
3- Qualité Q2 ou Q3

Donc dans mon tableau j'ai toutes ces informations (diamètre, épaisseur, qualité) sur la soudure, et je souhaite que grâce à la formule ça aille comparer les valeurs de la soudures par rapport à la base de données qui me donne des fourchettes de valeur, et me dise ensuite que je peux utiliser pour cette soudure un ou deux procédés.

Par exemple:

ma soudure: épaisseur 2; diamètre 25, Qualité Q3

ma base de données:

Procédé 01-109A, épaisseur 1,5 à 8, diamètre 20 à 25, Qualité Q3
Procédé 01-109B, épaisseur 1,5 à 8, diamètre 20 à 25, Qualité Q2
Procédé 01-110A, épaisseur 1,5 à 8, diamètre 20 à 25, Qualité Q3
Procédé 01-110B, épaisseur 1,5 à 8, diamètre 20 à 25, Qualité Q2

donc le résultat de la formule devra être:01-109A et 01-110A qui réunissent les critères de ma soudure.

Je ne sais pas si je suis assez clair, c'est pas évident mais cette formule m'éviterai de faire le traitement à la main d'un tableau comportant pas moins de 40 000 lignes ...

Merci par avance,

Bonne journée


A voir également:

9 réponses

Raymond PENTIER Messages postés 58719 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 novembre 2024 17 233
19 juil. 2012 à 17:37
Je peux te proposer ceci :
Dans la feuille "tableau" on insère une liste déroulante de cellule, par exemple en I3, pour choisir un code ISO de la colonne A.
Puis on utilise la fonction RECHERCHEV pour afficher le diamètre en J4 (cellule qu'on nommera "diam"), l'épaisseur en J5 (cellule nommée "ép") et la qualité en J6 (nommée "qu") ; ce qui permet d'écrire dans toute la colonne H de "base de donnée" la formule
=SI(ET(C2=qu;D2<=ép;E2>=ép;F2<=diam;G2>=diam);A:A&" ";"")
et dans la cellule I3 la formule =I1&H2, à recopier vers le bas pour obtenir les résultats cumulés successifs ; le résultat final est dans la dernière cellule du tableau (et on peut éventuellement la répercuter dans le tableau, par exemple en I7).
https://www.cjoint.com/?BGtrKBmxoTW
Mais il y a certainement mieux comme méthode ...
Cordialement.
1
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012
19 juil. 2012 à 17:43
Merci beaucoup Raymond !

Il y a peut être une possibilité d'améliorer la méthode, mais elle me sauve déjà bien la vie :D

Je vois comment je peux l'adapter sans passer par une liste déroulante !

mais merci encore
0
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012
19 juil. 2012 à 17:54
Le résultat est bien le bon, mais j'ai encore un soucis pour afficher le résultat juste à coté de ma colonne "qualité" et surtout un résultat par ligne sur 40 000 lignes ...
La liste déroulante marche pour un 50aine de ligne maximum mais une liste à 40 000 choix ça commence à être un peu chaud :D
0
Raymond PENTIER Messages postés 58719 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 novembre 2024 17 233
19 juil. 2012 à 19:39
C'est volontairement que je t'ai proposé la méthode où tu choisis un code ISO et où tu lis les résultats ; je ne vois pas trop l'utilité d'alourdir encore ton fichier en créant 40000 groupes de formules pour afficher 40000 résultats ...
Concernant la liste déroulante, son avantage principal est d'éviter les erreurs d'orthographe (donc de saisie) ; on peut contourner la limitation de nombre d'items en insérant des listes déroulantes en cascade ; mais j'attendais de voir si mon principe de travail pouvait t'intéresser ...
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
20 juil. 2012 à 11:38
une version plus simple qui s'utilise comme une fonction excel dans la feuille tableau
https://www.cjoint.com/?BGulK65w6FO
1
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012
20 juil. 2012 à 12:03
Ah oui pas mal ! c'est exactement ça !

Un grand merci à Raymond PENTIER et CCM81 pour votre participation et votre talent excelesque !

Je vais gagner un temps de malade :D
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
19 juil. 2012 à 10:34
bonjour

pour qu'on puisse voir comment s'organisent tes données,
peux tu envoyer une (petite) partie de ton fichier sur cjoint.com au format excel 2003 et joindre le lien obtenu à ton prochain message

bonne suite
0
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012
19 juil. 2012 à 15:57
Voici le lien cjoint.com : https://www.cjoint.com/?BGtp32vr65e

J'ai pris la première ligne de mon tableau en référence.

Ensuite j'ai surligné en jaune les résultat que la fonction devra donner.

Merci d'avance
0

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

Posez votre question
Raymond PENTIER Messages postés 58719 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 novembre 2024 17 233
19 juil. 2012 à 16:08
... et à quel endroit doit-on placer cette formule ?
0
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012
19 juil. 2012 à 16:10
Sur la feuille bureautique, en ajoutant une colonne donnant le(s) résultats
0
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012
19 juil. 2012 à 16:12
Feuille "TABLEAU" pardon
0
Raymond PENTIER Messages postés 58719 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 7 novembre 2024 17 233
19 juil. 2012 à 16:50
Dommage : il aurait été plus facile de faire un pointage dans la base de données.

Je te signale une difficulté que j'ai rencontrée en travaillant sur ton fichier : Dans la base de données, tu as utilisé des nombres pour indiquer la qualité ; mais dans le tableau, tu as rédigé la formule =SI(STXT(F2;1;1)="3";"3";"2") qui donne comme résultat un caractère en format texte !
Tu aurais dû saisir =SI(STXT(F2;1;1)="3";3;2).
En effet, quand on essaie de comparer la colonne C de la base de données et la colonne G du tableau, excel ne considère pas que le nombre 3 est équivalent au caractère "3".
0
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012
19 juil. 2012 à 16:58
Merci pour la réactivité !

Concernant le pointage dans la base de données, je peux m'organiser différemment, si je dois travailler depuis la base de données, et m'éviter une comparaison "à la main" sur 40 000 lignes ...

Concernant le problème de caractère, MERCI BEAUCOUP je vais faire la modification car utile dans tout les cas !

Merci déjà pour ces différents retour !
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
19 juil. 2012 à 17:04
bonjour julien, bonjour raymond
et si Spec commence obligatoirement par 2 ou par 3, pourquoi pas CNUM(GAUCHE($F2;1))
bonne suite
0
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012
19 juil. 2012 à 17:13
Oui aussi ! cette formule fonctionne afin de récupérer un nombre.

Merci pour la contribution
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
Modifié par ccm81 le 19/07/2012 à 18:48
une tentative avec macro (si ça ne te gêne pas)
https://www.cjoint.com/?0Gtr7kQrw30
pour 40000 lignes ça risque d'être long, mais on doit pouvoir améliorer
bonne suite
0
julien.creton Messages postés 11 Date d'inscription jeudi 19 juillet 2012 Statut Membre Dernière intervention 20 juillet 2012
19 juil. 2012 à 18:17
Je comprends pas comment faire fonctionner la macro ?
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
19 juil. 2012 à 18:19
tu entres les 3 données en J2:L2 puis clic sur le bouton
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 423
Modifié par ccm81 le 19/07/2012 à 18:45
une version nettement plus rapide
https://www.cjoint.com/?0GtsKdkgXBJ

une question bête : as tu accepté l'exécution des macros au démarrage du classeur?

bonne suite
0