Excel et les bases de données
julien.creton
Messages postés
11
Statut
Membre
-
julien.creton Messages postés 11 Statut Membre -
julien.creton Messages postés 11 Statut Membre -
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
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:
- Excel et les bases de données
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Trier des données excel - Guide
- Si et ou excel - Guide
- Supprimer les données de navigation - Guide
9 réponses
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.
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.
une version plus simple qui s'utilise comme une fonction excel dans la feuille tableau
https://www.cjoint.com/?BGulK65w6FO
https://www.cjoint.com/?BGulK65w6FO
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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".
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".
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 !
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 !
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
https://www.cjoint.com/?0Gtr7kQrw30
pour 40000 lignes ça risque d'être long, mais on doit pouvoir améliorer
bonne suite
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
https://www.cjoint.com/?0GtsKdkgXBJ
une question bête : as tu accepté l'exécution des macros au démarrage du classeur?
bonne suite
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
La liste déroulante marche pour un 50aine de ligne maximum mais une liste à 40 000 choix ça commence à être un peu chaud :D
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 ...