Excel : fction rechecheV mais pas tout à fait

christine -  
Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   -
bonjour à toutes et à tous,

j'ai quelques notions sur excel mais pas suffisament pour me débrouiller toute seule...
je doute même de la faisabilité de ce que je vais vous demander...

en tous cas je tiens d'avance à remercier l'âme charitable qui tentera de m'aider ! je lui en serais grée toute ma vie ^^

je vous expose mon problème...

tout d'abord le contexte.... je cherche à créer un fichier qui me permettra de suivre du matériel en location... sachant que chaque poste loué possède un numéro de série...

j'ai besoin pour ce suivi de lier deux documents, deux feuilles dans un même classeur excel.... le bon de livraison sur lequel j'énumère chaque numéro de série et le fichier de la "liste" de tous les numéros de série pour lesquels je précise dans deux autres colonnes la date de retour, et le client chez qui le poste se trouve... ainsi par filtre je peux savoir combien de postes sont en magasin, combien de postes a tel ou tel client...

ce que j'aimerai c'est pouvoir automatiquement incrémenter la colonne "clients" en fonction des numéros de série sortis sur le BL... car pour l'instant c'est une double saisi pénible (la location représente en moyenne 250 postes avec des numéros de série de 15 caractères alphanumériques...)

est ce possible ? si oui comment ?

merci ^^

18 réponses

  1. christine
     
    marc, sur cijoint.fr ca ne fonctionne pas :(

    Mike, sur le BL :

    colonne "poste" : je ferais une rechercheV d'après la feuille "Suivi"
    colonne "housse" etc : il n'y aura rien, juste une croix pour indiquer les accessoires fournis mais ils n'ont pas de numéro de série donc c'est juste un pense bête pour savoir combien on en a filé au client...

    mon problème est que pour éviter une double saisie, j'aimerai que lorsque je crée un BL et que je choisis les numeros de série dans ce bl j'aimerai qu'automatiquement le nom de la société à qui je loue le poste (et qui est donc précisé dans l'adresse) s'ajoute dans la colonne "société" de la feuille "suivi"...

    pour l'instant je fais cette liste dans un BL et apres dans la feuille suivi je tape le nom de la société en face du n° de série correspondant... sauf que les n° de série loués ne sont jamais par ordre alphabétique et il y en a des centaines de référencés... donc c'est une perte de temps considérable !

    excel offre-t-il un moyen d'y remédier ? je ne sais pas mais j'espère ^^
    0
  2. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re le fil,

    Excuse mon retard, hier je n'ai pas touché terre

    regarde si on approche de tes attentes avec le fichier joint.
    saisis des données dans le BL puis clic sur le bouton.

    Si c'est ce que tu cherches, je pense que dans le code il faudra intégrer l'impression de la feuille BL pour l'envoi éventuel à l'intéressé puis l'effacement du BL pour une autre saisie

    ce code est provisoire et à compléter

    https://www.cjoint.com/?AFwk3hQuQXH
    0
  3. christine
     
    j'ai téléchargé le fichier...

    je ne connaissais pas cette fonction je trouve ca super ! comment fait on cela ?

    parce que par contre, quand je clique sur le bouton, le nom de la société ne s'incrémente dans la feuille "suivi" qu'en face d'UNE seule référence,

    et concernant la colonne "poste" ca sera l'inverse, la base de données numeros de série/postes est dans la feuille "suivi", donc a l'appel d'un numero de serie dans le devis ca ecrira le bon type de postes directement.... mais ca je sais le faire de toute facon...

    comment accede-t-on au codage du boutton ?
    boite outils controle > mode creation >

    Private Sub CommandButton1_Click()
    Sélectionne_exporte
    End Sub

    comment marche ce code ? c'est possible de m'expliquer ou c'est trop long ? comme ca j'essaye de l'adapter sans user plus de votre patience ^^

    encore tous mes remerciements,
    0
  4. marc07 Messages postés 630 Statut Membre 194
     
    Bonjour, christine

    essaye ceci je pense que cela pourra etre plus util ce n'est qu'un exemple

    http://www.cijoint.fr/cjlink.php?file=cj201106/cijsTZ8eru.xls
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. christine
     
    Marc, un énorme MERCI

    tu as cerné mes besoins !

    par contre je ne vois pas la différence entre BD-locations et BD-historique, je pensais que le but était de garder une trace de tous les mouvements dans la BD historique, et que les dates de retour qui sont supérieures à la date d'aujourd'hui s'effaceraient dans la BD location, mais ca n'est pas le cas, donc je n'ai pas saisi l'utilité... ^^ (je suis un peu lourde je sais ;-) )

    c'est parfait ainsi, sauf qu'il me faut pouvoir saisir dans un même tableau tous les numéros de série sortis, en moyenne un client loue 50 postes....

    pour tout t'expliquer, une fois les postes loués, lorsqu'on va les récupérer chez le client on procède à un inventaire, et pour l'instant, on bip les numéros de série et j'ai mis une formule qui me permet d'effacer tous les doublons dans une colonne, ainsi quand j'ai fini de biper, s'il manque des postes et bien ils restent sur la liste, je l'édite, et je le facture au client....

    donc je vais essayer de bidouiller ton fichier pour voir si j'arrive à reproduire ce qu'il me faut....

    sinon je t'appelle au secours,
    0
  7. christine
     
    Re !

    alors, j'ai repris le fichier de marc, j'ai ajouté sur les feuilles mes besoins précis, et voila ce que ca donne :

    http://cjoint.com/?0FCoThtFPqk

    J'ai joué les princesses, j'ai donné mes besoins dans l'idéal, sait on jamais ^^
    0
  8. Sylvlau
     
    Bonsoir,

    Je prends le train en marche...et vous laisserait "tranquilles" si vous le préférez.
    Le fichier commence à prendre forme.

    Pour Christine : sélectionner les cellules contenant les noms des clients et donner un nom à cette liste (par exemple "clients"). Puis dans le bon de livraison, dans la cellule ou tu veux choisir dans une liste déroulante, tu appelles le menu Données\Validation, tu choisis liste et tu mets "=clients" dans le champ de saisie.
    J'espère être suffisamment clair :-)

    Pour Marc : tu te débrouilles bien, continue !!! Par contre évite les msgbox inutiles. Genre : "la date est-elle correcte ?". L'utilisateur à plus vite fait de rappeler le calendrier s'il se trompe une fois plutôt que répondre oui ou non à chaque saisie. Ce sera plus agréable à utiliser.

    Vous allez y arriver !!! Avec Excel on peut faire des trucs d'enfer...

    Si vous criez au secours, je repasserai par là....(euh...sans prétention, suis tout sauf un dieu :-))

    A+
    0
  9. Sylvlau
     
    Re,

    Ah oui au fait : quand enfin, on a un fichier qui va bien et qui devient indispensable...on le sauvegarde sur un autre média (clé usb, disque externe) tous les soirs...sinon un jour on pleure !!!

    Ne jamais négliger les sauvegardes !!!

    Allez...dormez en paix.
    A+
    0
  10. christine
     
    Coucou tout le monde et bienvnue a toi sylvlau !

    plus on est de fous plus on se prend la tête sur un fichier ;-)

    surtout que quand on m'aide j'ai tendance à vite abuser ^^

    sylvlau, concernant les rechercheV ton explication était parfaite, mais je maîtrisais déjà (laisse moi au moins ça lol)

    marc, je ne suis pas sûre de saisir les fonctions que tu as rajouté sur le fichier... mais je ne suis qu'à mon deuxième café, je regarderai de nouveau après 3 autres tasses !
    par contre je vois que tu as mis en test plusieurs fois le même numéro de série dans un même BL, c'est quelque chose qu'il faut a tout prix éviter : un numéro de serie = un poste, il ne peux et ne doit pas sortir deux fois...

    j'ai bien conscience que je demande quelque chose de très compliqué et je te remercie d'essayer avec moi en tous cas ! mais des fois je ne demande pas croyant que c'est trop compliqué et on me répond "ah mais c'est trop simple en fait" donc je tente et après je comprends très bien si ca relève d'un niveau trop important...

    j'aimerai m'acheter un bouquin pour apprendre à développer les macros Vba etc, une référence à me conseiller ? parce que sur les rayonnages y'en a un milliard, a des prix totalement différents je ne sais lequel choisir !
    0
  11. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re le fil,

    Je suis de retour,

    récupére ton fichier et teste le bon de livraison si ça répond à tes attentes, saisis des données et clic sur le bouton.
    je n'ai pas encore traité le feuille BD-Historique et Location (que veux tu faire sur cette dernière.

    Au final dans le code j'inclurais l'impression automatique de la feuille bon de livraison

    l'effacement des données après transfert ainsi que la protection des feuilles avec mot de passe pour la sécurité

    https://www.cjoint.com/?AFDkfm2hKzC
    0
  12. marc07 Messages postés 630 Statut Membre 194
     
    Bonjour,
    voila le fichier fini bien sur on pourra toujour apporter quelques modifications
    aussi je joint un fichier pour t'expliquer le fonctionnement de l'application
    voila deja le fichier
    http://www.cijoint.fr/cjlink.php?file=cj201106/cijkCgKO0U.xls

    et les explications qui sont en word

    http://www.cijoint.fr/cjlink.php?file=cj201106/cijZVUrsWz.docx

    Amicalement
    Marc
    0
  13. marc07 Messages postés 630 Statut Membre 194
     
    Non non je l'ai fait avec plaisir et je ne veut rien en retour, mais Mike-31 a plus de mérite que moi et surtout ses connaissances car moi meme si j'ai 52 ans suis a mes tout debut et je serais heureux que Mike-31 puisse continuer avec toi car il est le seul a pouvoir te faire évoluer dans tes demandes de plus il est plus que serviable il ne ta jamais a aucun moments laisser tomber
    mais je reste toujour a l'écoute pour quoi que ce soit
    aussi j'ai modifiez les bons tu peut en mettre 65536 et sur location par un double clik en cellule C21 tu a un calendrier et tu peut choisir la date du retour ainsi que dans la feuille location retour en cellule C22

    http://www.cijoint.fr/cjlink.php?file=cj201107/cijwKGyMlY.xls

    Amicalement

    Marc
    0
  14. christine
     
    Bonjour à vous deux !

    Marc, tu as autant de mérite que Mike ! ne dis pas ça ! après peut être moins d'expérience (d'après ce que tu dis) mais pour une novice comme moi vous avez autant de mérite l'un que l'autre ! je te l'assure !
    Ton fichier est en fait trop complet pour moi ! l'entrée et la sortie de stock ne sera pas gérer par ce fichier en fait, mais dans notre logiciel de gestion, mais ce dernier ne me permet pas d'avoir une vu d'ensemble... il est tres basique et ne me permet pas de savoir combien de postes loue un client par exemple... donc je souhaitais développer à côté un fichier excel... mais on continuera a faire l'entrée et la sortie sur le logiciel de gestion du stock ...

    Mike ton dernier fichier est nickel ! Juste, une question, est il possible lorsque le bon de livraison s'imprime, qu'il s'enregistre ? ou du moins que la boite de dialogue pour enregistrer sous s'ouvre ?

    Car j'aimerai qu'au retour de la location, pour vérifier que tout le matos revienne, que l'on puisse récupérer la colonne des numéros de série, les biper de nouveau et mettre une formule qui m'efface les doublons, pour qu'il ne reste sur la colonne que les postes qui ne sont pas revenus ! et ainsi les facturer au client...

    Sinon, pour l'instant c'est bloqué mais est ce temporaire ?, pourrais je filtrer les BD-location ? puisque le départ de la création de ce fichier était d'avoir un tableau de bord qui me permettrai de savoir a l'instant T quels postes est chez quel client, ou combien de poste a un client, ou combien de poste il reste en stock ....

    Est ce que la date de rappel de prolongation peut avoir une mise en forme conditionnelle ? Du genre, etre en rouge lorsqu'elle est anterieure à la date d'aujourd'hui ?

    Si un poste ne revient pas en stock et qu'on le facture, en déprotégeant la feuille je pourrais supprimer la ligne correspondante ?

    Quand je choisi le client sur le BL, l'adresse ne s'incrémente pas... et en fait pour tout vous dire je ne sais pas comment "déprotéger" la feuille pour le rajouter...

    encore merci pour tout !
    0
  15. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Je profite de cette journée de grisaille, pour bidouiller tes codes. A tester et relever les disfonctionnements et diverses fautes qui m'auraient échappées (normal en oucances)

    https://www.cjoint.com/?AGnrGOl7N6L

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
  16. christine
     
    Re !

    alors quand je clique sur le bouton qui imprime et archive il me dit qu'il y a un probleme de debogage (?)

    et dans le "bon de retour" je n'ai pas la liste des BL... surement parce que ca n'a pas marché comme indiqué plus haut....

    sinon, as tu un ouvrage à me conseiller pour essayer d'utiliser ce genre de fonction sans avoir à te déranger ?

    Par exemple, souvent j'aimerai que le renseignement d'une cellule soit reporté dans une autre feuille à la suite dans une même colonne, je ne sais même pas comment s'appelle cette fonction... j'ai honte ;-)
    0
  17. Sylvlau
     
    Bonsoir,

    En tout cas tu es tombée sur des gars très sympas !!! Tu as bien compris que c'était rare et tu leur a fait comprendre...c'est l'essentiel.

    Qu'est-ce qui cloche maintenant ?

    J'ai un peu de mal à comprendre ta dernière question : ... soit reporté dans une autre feuille à la suite...?
    Si tu souhaites que la saisie dans une cellule aille se reporter automatiquement à la fin d'une liste (ou que ce soit), je crois qu'il faut passer obligatoirement par une macro !
    Cela parait compliqué mais finalement cela ne l'est pas tant que ça et on peut faire strictement...ce que l'on veut. Le pied quoi :-))

    A+
    0
  18. Sylvlau
     
    Bonsoir Marc,

    Tu as sacrément bossé...pour un débutant...félicitations !!!

    Dans la version du 13/07, il y a un pb sur le n° de location qui ne s'enregistre pas (pb de nom?). Je n'ai pas vérifié.
    Par ailleurs, tu as pris l'habitude d'aller en ligne 65000 puis de faire un xlUp pour trouver la dernière ligne utilisée ; c'est bien, mais fais le partout !!!

    Exemple : pour déterminer W et X tu ne le fais pas...cela parait bête, mais il vaut mieux être régulier.

    ===========================
    Sub Exporte_BD_Historique()

    Sheets("bon de livraison").Select
    LigFin = [B29].End(xlUp).Select
    Range(ActiveCell, [I15]).Select
    Selection.Copy

    Sheets("BD-Historique").Select 'sélectionne la feuille BD_Historique
    LigFin = [C65000].End(xlUp).Offset(1, 0).Select 'recherche première cellule vide en B pour copier à la suite
    Selection.PasteSpecial Paste:=xlPasteValues
    W = [L1000].End(xlUp).Offset(1, 0).Row
    x = [D1000].End(xlUp).Row
    =============================

    En espérant ne pas avoir été trop désagréable :-)
    0
  19. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    j'ai testé le fichier dans tous les sens, sans rencontrer le moindre problème, je vais rajouter une gestion d'erreur sur le code qui semble poser problème qui à mon avis doit venir d'un mot de passe sur la BD-Locations ou BD-Historique qui doit être différent de celui du code.
    Il faudrait que Christine nous retourne sont fichier après avoir rencontré le problème et enregistré ou qu'elle nous confirme que le problème est également rencontré sur mon fichier.

    Pour répondre à Sylvlau, il est vrai que j'ai pris comme référence la ligne 65000 pour faire un xlUp et trouver la dernière ligne non vide. Habituellement on prend la dernière ligne d'une feuille Excel 2003 "65536"
    Si sur la feuille "bon de livraison j'ai pris
    LigFin = [B29].End(xlUp).Select
    C'est qu'au dessous de cette ligne il y a des cellules fusionnées avec des infos qui ne doivent pas être importés d'ou la nécessité de commencer la recherche à partir de cette ligne
    0