[EXCEL] Formule
Eskow
Messages postés
46
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
-
19 juin 2009 à 11:15
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 7 mai 2015 à 15:17
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 7 mai 2015 à 15:17
A voir également:
- [EXCEL] Formule
- Formule excel si et - Guide
- Formule somme excel colonne - Guide
- Formule excel moyenne - 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
TheRaptor60
Messages postés
1
Date d'inscription
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
19 juin 2009
19 juin 2009 à 11:31
19 juin 2009 à 11:31
pour cela tu peut creer d'autre tableaux pour chaque article et utilisé ensuite la recherche v
coco_rico
Messages postés
32
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
19 juin 2009
19 juin 2009 à 11:36
19 juin 2009 à 11:36
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.
Eskow
Messages postés
46
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
1
19 juin 2009 à 11:39
19 juin 2009 à 11:39
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
Eskow
Messages postés
46
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
1
19 juin 2009 à 11:44
19 juin 2009 à 11:44
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 ?
coco_rico
Messages postés
32
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
19 juin 2009
19 juin 2009 à 11:53
19 juin 2009 à 11:53
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.
Eskow
Messages postés
46
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
1
19 juin 2009 à 12:01
19 juin 2009 à 12:01
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.
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
645
19 juin 2009 à 12:15
19 juin 2009 à 12:15
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+
Eskow
Messages postés
46
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
1
19 juin 2009 à 13:34
19 juin 2009 à 13:34
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
coco_rico
Messages postés
32
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
19 juin 2009
19 juin 2009 à 13:53
19 juin 2009 à 13:53
c'est tout à fait ça et plus même.
bon courage à vous.
bon courage à vous.
coco_rico
Messages postés
32
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
19 juin 2009
19 juin 2009 à 13:59
19 juin 2009 à 13:59
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+
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
645
19 juin 2009 à 15:44
19 juin 2009 à 15:44
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.
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
645
>
Renaud
14 oct. 2009 à 16:54
14 oct. 2009 à 16:54
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+
Renaud
>
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
14 oct. 2009 à 17:50
14 oct. 2009 à 17:50
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.
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
645
>
Renaud
15 oct. 2009 à 01:51
15 oct. 2009 à 01:51
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+
Pierre
>
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
5 mai 2015 à 11:40
5 mai 2015 à 11:40
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
Eskow
Messages postés
46
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
1
22 juin 2009 à 08:09
22 juin 2009 à 08:09
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.
Eskow
Messages postés
46
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
1
22 juin 2009 à 10:35
22 juin 2009 à 10:35
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.
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
645
22 juin 2009 à 11:24
22 juin 2009 à 11:24
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
Eskow
Messages postés
46
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
30 juillet 2009
1
22 juin 2009 à 11:32
22 juin 2009 à 11:32
Miracle, ou pas, çà fonctionne.
Merci beaucoup Pilas, cette outil est génial, nul doute que je m'en servirai très souvent.
Bonne continuation, je passe le sujet en résolu :)
Merci beaucoup Pilas, cette outil est génial, nul doute que je m'en servirai très souvent.
Bonne continuation, je passe le sujet en résolu :)