Rechercher : dans
Par :

Recherchev ou autre ?

Dernière réponse le 28 oct 2009 à 11:47:03 gilou, le 16 oct 2009 à 10:26:48 
 Signaler ce message aux modérateurs

Bonjour,
j'ai creé une base de données avec ajout de ligne (insertion) ce qui permet a la derniere saisie de se retrouver en haut du tableau ;cette saisie est agremeentée d'un n° a chaque ligne ( dans la macro : [a3] = [a2]+1 . jusque là pas de soucis . sur une autre feuille nommée :consult avec une liste de valid je pilote la f(x) RECHERCHE V qui me sort la derniere valeur recherche jusque la c'est normal ; maintenant je voudrai "extaire" non seulement :la dernere valeur enrgistrée pour un nom donnee mais en plus les 2 precedentes (en amont dans la base ) je sais que f(x) recherche ne trouve que la la valeur la plus proche du haut du tableau si elle apparait plusieurs fois ;cest ce que j'utilise pour trouver le dernier enregistrement ;alors question: comment faire pour trouver les 2 precedents le conernant
ainsi dans "consult" je pourrais voir a la demande les 3 derniers n° de facture et tout ce qui rattache
merci

Configuration: Windows XP Internet Explorer 7.0

Meilleures réponses pour « recherchev ou autre ? » dans :
[VBA] RechercheV Polyvalente Voir RECHERCHE POLYVALENTE Pour les accros et les inconditionnels des fonctions d'Excel, avant de crier au scandale, lisez les quelques lignes suivantes. La RechercheV d'origine a beaucoup de limites: La colonne de la donnée doit être avec un offset...
Tutoriel Fonction RECHERCHEV Voir Marche à suivre RECHERCHEV (Excel 2003 & Excel 2007) Les références Vous devez sélectionner les références dans votre tableau. Dans cet exemple votre référence est $A$2:$D$10. Une fois votre sélection faite vous cliquez sur Insertion - Nom -...
Liste déroulante avec saisie semi automatique pour EXCEL VoirC'est une procédure qui demande un investissement personnel et qui n'est pas nécessairement facile à comprendre et à réaliser dès la première fois. Afin de rendre cette astuce facile à utiliser, nous allons employer les plages et les formules...
EXCEL : La fonction INTERSECTION VoirVous avez un tableau constitué de lignes et de colonnes. Vous voulez connaitre la valeur de la cellule située à une intersection Ligne / Colonne de votre tableau.... Exemple : Votre tableau : - commence en C3, jusqu'en F3 ... pour les...
Copier une formule VoirAprès avoir laborieusement composé une formule dans une cellule, il est fréquent de vouloir la recopier d’autres cellules. Vous pouvez procéder de plusieurs façons. COPIER-COLLER La méthode la plus primaire consiste à sélectionner la cellule...

1

ponpon, le 17 oct 2009 à 11:03:14

Bonjour,
Vos n° de factures sont triées (croissant au décroissant). La recherche vous renvoie le dernière valeur, donc les 2 qui précèdent sont [(Dernier N° facture)-1] respectivement [(Dernier N° facture)-2].

Répondre à ponpon

2

gilou, le 17 oct 2009 à 14:40:33

Bonjour
merci d'avoir repondu ;pouvez -vous me preciser ou je dois utiliser votre reponse logique
1) soit dans la fenetre "valeur cherchee" def(x) RECHERCHE : ce qui m'impose de creer une nouvelle colonne
dans la matrice pour que ça marche (c'est pas grave j'ai de la place)
2) soit dans un code ( mais j'y crois pas)
de plus je n'ai pas connaissance de l'utilisation des [.....] dans les fonctions exel par contre les { } pour les matricelles
alors je compte sur votre gentillesse pour m'en dire plus ,à la limite redigez moi svp un exemple car je rame à tout essayer (index , equiv, choisir(equiv ,concataination de n° d'ordre pour lisibilité dans la liste deroulante :bref rien de terrible ,et, surtout d'automatique .Avec ces resultats je compte faire une fenetre (plage de 3lignes) par laquelle (grace a 1 code ) je pourrai mettre à a jour la BD; pour l'instant je dois fouiller dans la BD
BON WEEK END

Répondre à gilou

3

ponpon, le 17 oct 2009 à 17:02:25

Bonjour,
Vos explications sont trop confuses, il serait plus profitable de mettre votre exemple (une dizaine de lignes suffisent) sur http://cjoint.com/
Ou poster une copy de votre macro !

Répondre à ponpon

4

ponpon, le 17 oct 2009 à 17:06:28

Bonjour,
Vous avez parlé de macro, donc ma réponse concerne une instruction dans cet macro.
Vos explications sont trop confuses, il serait plus profitable de mettre votre exemple (une dizaine de lignes suffisent) sur http://cjoint.com/
Ou poster une copy de votre macro !

Répondre à ponpon

5

gilou, le 19 oct 2009 à 09:32:40

Bonjour
en me creusant les meninges ce week end j'ai trouvé une solution à partir de INDEX( val; plge; EQUIV()-n) avec :n etant le nb de lignes à remonter dans la base triée donc -1,-2 -3 ......
je suis sur chantier ,je vous envoierai une copie du fichier dans la journée
l'affaire suit son cours ; bonne journée

Répondre à gilou

6

gilou, le 19 oct 2009 à 09:55:47

Re
j'ai trouvé 1/4 d'heure ; battons le fer
encore merci ;a+
http://www.cijoint.fr/cjlink.php?file=cj200910/cijtkvzLoy.xl­s

Répondre à gilou

7

ponpon, le 20 oct 2009 à 00:09:33

Bonjour,
Je vous laisse découvrir la feuille [consult] : http://cjoint.com/?kuaiMDuvpu

Répondre à ponpon

8

gilou, le 20 oct 2009 à 08:55:45

Bonjour
merci de m'avoir presenté cette fonction RECHERCHE V multi qui simplifie bien les choses ;comme je suis en xl 2003 je n'en disposais pas ,il a donc fallu que je compose . D'ailleurs exixte -t-il un moyen de l'integrer au panel des fonctions ? un peu comme sub function ou fait-elle partie de ces fonctions a tele charger
quant à moi je suis parvenu à modifier les valeurs de la base grace au code evenementiel intersect
je vous envoie une copie dans la journée pour eventuelles corrections ; neanmoins le sujet peut etre consideré comme resolu , encore merci
a+ bonne journée

Répondre à gilou

9

ponpon, le 20 oct 2009 à 10:55:07

Bonjour,
La fonction [RechercheVmulti] n’a rien à voir avec la version Excel utilisée.
Il s’agit d’une procédure personnel de type fonction (type : Sub, F unction et Propety ; de portée : Private ou Public) que j’ai ajouté dans le module [ponpon] du [VBAProject].
Comme elle est enregistrée dans le classeur, elle apparait dans les fonctions à disposition pour se classeur uniquement.

Répondre à ponpon

10

gilou, le 20 oct 2009 à 14:08:16

Re
c'est bien ce qu'il me semblait ; a mon niveau xl je ne suis pas capable de me lancer dans la creation de fonctions specifiques à un besoin , peut etre un jour , ily a fort recement j'ai visé un de vos post utilisant un code recherche multi sur plusieurs colonnes . en attendant voici ce que j'ai bricolé pour parachever le" machin"
http://www.cijoint.fr/cjlink.php?file=cj200910/cijwymWmQl.xls
en annexe: j'aurais aimé utiliser un command button de la boite a outil controle pour ses capacites de mises en couleur,mais je n'arrive pas a le faire fonctionner avec mon code enregistré ; si vous pouvez m'eclairer.
bonne apres-midi

Répondre à gilou

11

ponpon, le 20 oct 2009 à 23:24:50

Bonjour,
Concernant: en annexe: j'aurais aimé utiliser un command bouton de la boite a outil contrôle pour ses capacités de mises en couleur, mais je n'arrive pas a le faire fonctionner avec mon code enregistré ; si vous pouvez m'éclairer.
J’ai parcouru tout votre classeur sans trouver un bout de code pour la couleur.
Pouvez-vous expliquer se que vous désirez avoir exactement ?

Répondre à ponpon

12

gilou, le 21 oct 2009 à 09:10:08

Bonjour
il y a maldonne , je vous demandais simplement comment affecter une macro enregistée (donc dans un module) à un command button issu de la boite a outil control , car ,apres des essais infructueux , je me suis resigné à utiliser ceux de: formulaire . C' est uniquement une question d ' esthetique

merci et, bonne journée

Répondre à gilou

13

ponpon, le 21 oct 2009 à 22:40:45

Bonjour,
Pour affecter une procédure à un bouton de commande (contrôle formulaire et ActiveX) ou une forme prédéfinie, le principe est le même, clic droit sur la forme et clic sur Affecter une macro ….
Petit détail concernant les contrôles ActiveX il faut que le mode création soit activé.

Répondre à ponpon

14

gilou, le 22 oct 2009 à 10:28:23

Bonjour
je vous parle d'un bouton issu de la boite à outils control ,lequel apres avoir activé le mode creation suivi du clic droit ne fait appraitre aucune fenetre :affecter une macro mais: visualiser le code ;de plus apres avoir collé le code; lors de l'execution ,il arrive un message d'erreur 1004
Deja merci bonne journée

Répondre à gilou

15

ponpon, le 22 oct 2009 à 14:39:44

Bonjour,
Se serait plus simple de mettre le fichier tel que vous l'avez fait sur cjoint.com et je regarderai !

Répondre à ponpon

16

gilou, le 22 oct 2009 à 15:55:04

Je vous transmet ce lien
http://www.cijoint.fr/cjlink.php?file=cj200910/cijN4ToAKT.xl­s
cela concerne la feuille" new"
bonne soirée

Répondre à gilou

17

ponpon, le 22 oct 2009 à 22:21:33

Bonjour,
J’ai regardé la feuille [new] de votre fichier et le bouton de commande [c'est ce bouton qui doit remplacer l'autre] … mais se que doit réaliser la macro qui lui est attachée … ou est le code qui vous donne le message d’erreur 1004 ….. ?

Répondre à ponpon

18

gilou, le 26 oct 2009 à 17:50:24

Bonjour ponpon
dans la feuille "new " c'est la macro d'enregisrement (module 1) ; celle qui apres avoir ajouter une ligne à la base(feuille base) copie/ colle les données de "new" vers "base"
de mon coté j'ai trouvé une solution plus que satisfaisante car en employant une zone de texte que je peut "decorer" au besoin ;il suffit de lui affecter la macro voulue et ; la j'insiste grace à un code selection_change
j'arrive après concataination a obtenir un comportement analogue a 'caption '
donc a defaut de bouton de boite a outil; une simple zone de texte fait la balle dans le cas d'un code issu d'un module
merci ;bonne soirée
desole pour reponse tardive car je suis sur chantier

Répondre à gilou

19

ponpon, le 26 oct 2009 à 22:38:15

Bonjour,
Merci pour l’information.
En effet en survolant votre procédure [Sub memo_base()] , elle me semble qu’elle mérite une révision … Je vais vous la remettre sur le bon pied.
C’est pour demain après-midi

Répondre à ponpon

20

ponpon, le 27 oct 2009 à 16:51:00

Bonjour,
La partie enregistrement est adaptée : http://cjoint.com/?kBqXaedN51

Répondre à ponpon

21

 gilou, le 28 oct 2009 à 11:47:03

Bonjour
ah! oui ; c'est du bon travail ; c'est nettement superieur à mon bricolage; je ne m'etais contenter que d'utiliser le module enregistré sans le nettoyer quant à l'erreur de NB() .......
encore merci vos lumières m'ont fait progresser, bonne journée

Répondre à gilou