[EXCEL] Formule
Eskow
Messages postés
46
Date d'inscription
Statut
Membre
Dernière intervention
-
pilas31 Messages postés 1825 Date d'inscription Statut Contributeur Dernière intervention -
pilas31 Messages postés 1825 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je suis actuellement en train de travailler sur un fichier excel pour mon entreprise et je bloque !
Le problème en question :
Onglet 1:
J'ai une base de données telle que :
Colonne A : Article
Exemple :
WH1000
WH1000
WH1000
WH1500
WH1500
WH2000
WH2000
WH2500
WH2500
WH2500
...etc...
Colonne B : Nomenclature
Exemple :
AB100
AB350
AB400
AB100
WP450
...etc...
Cela signifie que l'article WH1000 est composé des matières premières AB100, AB350 et AB400. L'article WH1500 est quant à lui composé des matières premières AB100 et WP450 ...etc...
J'aimerai faire en sorte que lorsque que quelqu'un tappe le nom d'un article sur un formulaire, toutes les nomenclatures de l'article en question apparaissent ligne après ligne, à l'aide par exemple de rechercheV.
Je suis complétement perdu, je ne pense pas avoir les acquis pour réaliser une telle formule, et je vous prie de m'aider.
J'espère une réponse de votre part, ou au moins quelques pistes qui m'empecheront de chercher là où je ne trouverai rien :)
Merci d'avance, je reste à votre disposition pour d'éventuelle explications détaillées de mon problème.
Bonne journée ;)
Je suis actuellement en train de travailler sur un fichier excel pour mon entreprise et je bloque !
Le problème en question :
Onglet 1:
J'ai une base de données telle que :
Colonne A : Article
Exemple :
WH1000
WH1000
WH1000
WH1500
WH1500
WH2000
WH2000
WH2500
WH2500
WH2500
...etc...
Colonne B : Nomenclature
Exemple :
AB100
AB350
AB400
AB100
WP450
...etc...
Cela signifie que l'article WH1000 est composé des matières premières AB100, AB350 et AB400. L'article WH1500 est quant à lui composé des matières premières AB100 et WP450 ...etc...
J'aimerai faire en sorte que lorsque que quelqu'un tappe le nom d'un article sur un formulaire, toutes les nomenclatures de l'article en question apparaissent ligne après ligne, à l'aide par exemple de rechercheV.
Je suis complétement perdu, je ne pense pas avoir les acquis pour réaliser une telle formule, et je vous prie de m'aider.
J'espère une réponse de votre part, ou au moins quelques pistes qui m'empecheront de chercher là où je ne trouverai rien :)
Merci d'avance, je reste à votre disposition pour d'éventuelle explications détaillées de mon problème.
Bonne journée ;)
A voir également:
- [EXCEL] Formule
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Liste déroulante excel - Guide
18 réponses
Le nom est il lié au code article à un moment ou à un autre.
J'ai eus quelques soucis avec mon excel et michel_m m'a très bien dépanné.
Ref :
http://www.commentcamarche.net/forum/affich 12938476 vba excel selectionner un plage
J'espère que ça pourra un peu t'éclairer.
Bon courage
J'ai eus quelques soucis avec mon excel et michel_m m'a très bien dépanné.
Ref :
http://www.commentcamarche.net/forum/affich 12938476 vba excel selectionner un plage
J'espère que ça pourra un peu t'éclairer.
Bon courage
bonjour,
la Recherchev s'arrête toujours à la première valeur trouvée, ce n'est pas idéal pour faire des listes, je pense qu'une petite macro s'impose pour résoudre ton problème.
la Recherchev s'arrête toujours à la première valeur trouvée, ce n'est pas idéal pour faire des listes, je pense qu'une petite macro s'impose pour résoudre ton problème.
Merci Lila, je regarde çà.
En effet, j'ai un lien entre les articles et les nomenclatures.
Mon seul véritable problème réside en fait sur la recherchev.
Si je recherchev l'article saisie par une personne sur le formulaire, la recherchev va me renvoyer que la première matière première de l'article en question et non toutes les matières premières ligne après ligne.
Merci de vos réponses rapides en tout cas :)
En effet, j'ai un lien entre les articles et les nomenclatures.
Mon seul véritable problème réside en fait sur la recherchev.
Si je recherchev l'article saisie par une personne sur le formulaire, la recherchev va me renvoyer que la première matière première de l'article en question et non toutes les matières premières ligne après ligne.
Merci de vos réponses rapides en tout cas :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Disons que je n'y connais pas grand chose en macro. Sans l'aide assistée de Excel, je ne sais pas en faire. Mais lui faire répéter les recherchev va toujours me revoyer la même, non ?
l'idée c'est que pour chaque produit tu dois avoir autant de lignes qu'il a de nomenclatures, après une petite macro s'impose. la macro parcourera la colonne produit, quand elle voit le bon identifiant et tant que celui ne change pas, elle reportera la nomenclature correspondante dans une zone que tu choisiras.
mais construis déjà le tableau.
mais construis déjà le tableau.
Ce tableau en question existe déjà. C'est celui que j'ai décris dans l'explication. Sinon je ne vois pas vraiment de quel tableau tu parles.
Bonjour à tous,
J'interviens dans cette discussion car je me demande si la solution n'est pas dans l’astuce de Lermitte222 qui se trouve ici : http://www.commentcamarche.net/faq/sujet 12543 vba recherchev polyvalente. J'ai eu l'occasion de réfléchir à cette astuce, elle permet d'étendre la fonction de Recherchev.
Me dire si cela correspond et si éventuellement tu as besoin d'aide pour la mise en œuvre.
A+
J'interviens dans cette discussion car je me demande si la solution n'est pas dans l’astuce de Lermitte222 qui se trouve ici : http://www.commentcamarche.net/faq/sujet 12543 vba recherchev polyvalente. J'ai eu l'occasion de réfléchir à cette astuce, elle permet d'étendre la fonction de Recherchev.
Me dire si cela correspond et si éventuellement tu as besoin d'aide pour la mise en œuvre.
A+
Ca m'a tout l'air d'être cela dont il s'agit Pilas, Merci beaucoup :)
Cependant, je n'y comprends pas grand chose. Si tu peux m'aider à m'être en place cette génialissime recherchev par rapport à mon problème, je t'en serai reconnaissant ! :)
Merci d'avance
Cependant, je n'y comprends pas grand chose. Si tu peux m'aider à m'être en place cette génialissime recherchev par rapport à mon problème, je t'en serai reconnaissant ! :)
Merci d'avance
au fiat, j'ai oublié eskow, dans ton tableau si par exemple le poduit A possède 3 nomenclatures N1, N2, N3 tu dois avoir 3 lignes avec A comme produit associé avec les nomenclatures respectives.
A+
A+
Re bonjour,
Voila, je te propose une illustration de l'utilisation de cette fonction dans le fichier joint :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijUz6MjJd.xls
Regarde si tu peux l'adapter.
A+
Voila, je te propose une illustration de l'utilisation de cette fonction dans le fichier joint :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijUz6MjJd.xls
Regarde si tu peux l'adapter.
A+
Bonjour,
J'aimerai avoir une adaptation du fichier de "Pilas31".
En fait j'ai un listing reprenant le nom et le prénom, sachant qu'il peut y avoir plusieurs personnes portant le même nom.
Il me faudrait pouvoir en entrant le nom, avoir une liste déroulante pour pouvoir choisir le prénom.
Merci d'avance à tous.
Cordialement.
J'aimerai avoir une adaptation du fichier de "Pilas31".
En fait j'ai un listing reprenant le nom et le prénom, sachant qu'il peut y avoir plusieurs personnes portant le même nom.
Il me faudrait pouvoir en entrant le nom, avoir une liste déroulante pour pouvoir choisir le prénom.
Merci d'avance à tous.
Cordialement.
Bonjour,
Dans le fichier exemple que j'ai donné, il suffit de nommer la plage de résultat (insertion/ nom /définir dans Excel 2003)
Puis s'en servir comme liste de validation du champ prénom. (Données/validation autoriser liste et le nom de la liste défini plus haut, toujours dans Excel 2003)
Ma réponse est un peu courte car j'ai peu de temps, me dire si ce n'est pas clair, je peux alors être plus précis ce soir
(en attendant j'enlève le résolu de ce post)
A+
Dans le fichier exemple que j'ai donné, il suffit de nommer la plage de résultat (insertion/ nom /définir dans Excel 2003)
Puis s'en servir comme liste de validation du champ prénom. (Données/validation autoriser liste et le nom de la liste défini plus haut, toujours dans Excel 2003)
Ma réponse est un peu courte car j'ai peu de temps, me dire si ce n'est pas clair, je peux alors être plus précis ce soir
(en attendant j'enlève le résolu de ce post)
A+
Merci de ta réponse si rapide mais j'ai énormément de noms et faire une liste pour chaque serai trop long (surtout que des nouveaux noms/prénoms vont peut être s'y ajouter).
En fait il me faudrait exactement la même chose que ton tableau mais à la place d'avoir plusieurs lignes (autant que de prénoms) dans la colonne "Résultats", il ne m'en faut qu'une seule avec possibilité de choisir le prénom dans cette cellule.
La ligne précédente et la ligne suivante contiennent eux aussi un nom/prénom.
Exemple :
Ligne 1 : Dupont Pierre
Ligne 2 : Durant Avoir une liste déroulante de tout les Durant
Ligne 3 : Martin Julien
...
Merci d'avance et si ce n'est pas assez clair, n'hésite pas à me demander.
Cordialement.
En fait il me faudrait exactement la même chose que ton tableau mais à la place d'avoir plusieurs lignes (autant que de prénoms) dans la colonne "Résultats", il ne m'en faut qu'une seule avec possibilité de choisir le prénom dans cette cellule.
La ligne précédente et la ligne suivante contiennent eux aussi un nom/prénom.
Exemple :
Ligne 1 : Dupont Pierre
Ligne 2 : Durant Avoir une liste déroulante de tout les Durant
Ligne 3 : Martin Julien
...
Merci d'avance et si ce n'est pas assez clair, n'hésite pas à me demander.
Cordialement.
Bonsoir,
J'ai adapté mon fichier exemple à ton cas. J'espére avoir bien compris. Tu trouveras le fichier ici :
http://www.cijoint.fr/cjlink.php?file=cj200910/cijK2IakDV.xls
J'ai modifié la macro qui s'appelle à présent RechercheVmultiHor car elle cherche toujours dans une liste verticalement mais toutes les occurences trouvées se déclinent horizontalement.
Ainsi j'ai supposé que la liste complète des noms et prénoms se trouve dans une feuille "Base de Noms"
Dans la feuille 1 dans chaque ligne de nom, se trouvent toutes les occurences de prénom à partir de la colonne K. La colonne B dépend d'une liste prenant ces valeurs de K à Q dans l'exemple.
Voilà, dis moi si j'ai bien compris ta demande
A+
J'ai adapté mon fichier exemple à ton cas. J'espére avoir bien compris. Tu trouveras le fichier ici :
http://www.cijoint.fr/cjlink.php?file=cj200910/cijK2IakDV.xls
J'ai modifié la macro qui s'appelle à présent RechercheVmultiHor car elle cherche toujours dans une liste verticalement mais toutes les occurences trouvées se déclinent horizontalement.
Ainsi j'ai supposé que la liste complète des noms et prénoms se trouve dans une feuille "Base de Noms"
Dans la feuille 1 dans chaque ligne de nom, se trouvent toutes les occurences de prénom à partir de la colonne K. La colonne B dépend d'une liste prenant ces valeurs de K à Q dans l'exemple.
Voilà, dis moi si j'ai bien compris ta demande
A+
Bonjour à vous et vraiment je vous trouve au top question solution
mon problème est que j'utilise la fonctions d epila qui marche super mais donne les résultat en vertical, je vois que tu as fait un fonctions pour les résultat en horizontal mais l'accés a ton fichier n'est plus valide et donc je ne vois pas ce qu'il faut changer dans la macro pour que ce soit horizontal
merci de votre aide
Pierre
mon problème est que j'utilise la fonctions d epila qui marche super mais donne les résultat en vertical, je vois que tu as fait un fonctions pour les résultat en horizontal mais l'accés a ton fichier n'est plus valide et donc je ne vois pas ce qu'il faut changer dans la macro pour que ce soit horizontal
merci de votre aide
Pierre
C'est exactement cela Pilas, merci beaucoup.
Cependant, je n'arrive pas à faire fonctionner cette fonction quand 2 critères de la recherchevmulti se situe dans un autre classeur que la cellule critère.
J'ai l'impression que la recherchevmulti ne trouve pas de résultat car elle me renvoit #FAUTE.
Si tu as encore une petite idée, je suis preneur.
Si je trouve, je te dirai çà, merci d'avance :)
EDIT : Voilà ma recherchevmulti
=RECHERCHEVmulti('[Classeur1.xls]Articles'!$A$3;$G$3;'[Classeur1.xls]Articles'!$K$3)
Dans [Classeur1.xls]Articles'!$A$3, j'ai la colonne des articles.
Dans $G$3, j'ai la cellule dans laquelle l'utilisateur saisie un nom d'article.
Dans [Classeur1.xls]Articles'!$K$3, j'ai la colonne des nomenclatures.
Cependant, je n'arrive pas à faire fonctionner cette fonction quand 2 critères de la recherchevmulti se situe dans un autre classeur que la cellule critère.
J'ai l'impression que la recherchevmulti ne trouve pas de résultat car elle me renvoit #FAUTE.
Si tu as encore une petite idée, je suis preneur.
Si je trouve, je te dirai çà, merci d'avance :)
EDIT : Voilà ma recherchevmulti
=RECHERCHEVmulti('[Classeur1.xls]Articles'!$A$3;$G$3;'[Classeur1.xls]Articles'!$K$3)
Dans [Classeur1.xls]Articles'!$A$3, j'ai la colonne des articles.
Dans $G$3, j'ai la cellule dans laquelle l'utilisateur saisie un nom d'article.
Dans [Classeur1.xls]Articles'!$K$3, j'ai la colonne des nomenclatures.
effectivement, les références de la fonction nécessitent que le classeur dans lequel s'effectue la recherche soit ouvert. Pour que ça marche, il faut l'ouvrir puis écrire (ou ré-écrire la formule).
bonne journée.
bonne journée.
Les deux classeurs sont ouverts, je n'ai pas écrit [Classeur1.xls]Articles'!$A$3, j'ai juste cliqué sur la cellule en question dans le classeur 1.
Cela ne marche toujours pas, mais merci d'essayer coco_rico :)
Cela ne marche toujours pas, mais merci d'essayer coco_rico :)
bonjour, chez moi ça marche. n'oublie pas de ré-écrire la formule dans toute la colonne des formules après ouverture du classeur de recherche.
bon courage.
bon courage.
Bonjour à tous,
Oui, effectivement, il y avait un problème quand le classeur de recherche n'est pas le même que celui qui utilise la fonction.
Je viens de faire une adaptation de la fonction pour qu'elle fonctionne dans tous les cas.
Tu peux remplacer la fonction et me dire si c'est correct
Merci.
Oui, effectivement, il y avait un problème quand le classeur de recherche n'est pas le même que celui qui utilise la fonction.
Je viens de faire une adaptation de la fonction pour qu'elle fonctionne dans tous les cas.
Tu peux remplacer la fonction et me dire si c'est correct
Merci.
Option Explicit 'RD =cellule où commencer la recherche 'RC = cellule critère 'RDT = cellule où chercher la donnée 'Ligne rechercher jusque ligne... (optional) si 0 cherche jusqu'au bout de la ligne Public Function RechercheVmulti(RD As Range, RC As Range, RDT As Range, _ Optional Ligne As Long = 0) Dim i As Integer, e As Integer, Txt As String Dim LigE As Long, ColE As Long 'où écrire résultats Dim Col As Integer Dim Lig As Long, Occ As Long Dim FeuilE As Worksheet, FeuilRD As Worksheet, FeuilRDT As Worksheet On Error GoTo sortie LigE = Application.Caller.Row ColE = Application.Caller.Column Set FeuilE = Application.Caller.Parent Application.Volatile Lig = RD.Row ' Ligne où commencer la recherche Col = RD.Column 'Colonne où commencer la recherche Set FeuilRD = RD.Parent Set FeuilRDT = RDT.Parent If Ligne = 0 Then Ligne = Range(FeuilRD.Cells(65536, Col), FeuilRD.Cells(65536, Col)).End(xlUp).Row End If 'Recherche le numéro de l'occurrence à trouver For Occ = LigE - 1 To 1 Step -1 Txt = FeuilE.Cells(Occ, ColE).Formula If Txt = FeuilE.Cells(LigE, ColE).Formula Then e = e + 1 End If Next Occ For i = Lig To Ligne If FeuilRD.Cells(i, Col) = RC Then If e <> 0 Then e = e - 1 Else RechercheVmulti = FeuilRDT.Cells(i, RDT.Column) Exit Function End If End If Next i 'Si plus trouvé de concordance RechercheVmulti = "" Exit Function sortie: 'si erreur dans la formule, non détectée par Excel. RechercheVmulti = "#FAUTE!" End Function