IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

"Lecture" de ligne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 7
    Par défaut "Lecture" de ligne
    Bonjour,

    Je suis en train de réaliser un projet informatique en vba, mais je rencontre quelques difficultés.

    Je dispose d'une feuille de calcul, sur laquelle se trouve un tableau, avec dans une colonne, des références, et dans l'autre colonne, les libellés correspondant à ces références.

    Sur une autre feuille de calcul je dois réaliser un devis avec notamment la référence et le libellé de la prestation.

    Dans le programme que je dois réaliser, il faut juste entrer la référence, et le libellé doit s'afficher automatiquement en fonction de la référence.

    Voici donc le début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    reference = InputBox("Entrez la référence", "SAISIE", "")
    Worksheets("Devis").Cells(24, 1).Value = reference
    Le problème est que je ne sais pas comment faire en sorte que le libellé s'affiche automatiquement. Car pour cela il faudrait que le programme puisse "lire" la ligne correspondant à la référence, ainsi je pourrais continuer comme cela (?? étant la ligne de la référence)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    libelle = Worksheets("Fichier prestations").Cells(??, 2).Value
    Worksheets("Devis").Cells(24, 2).Value = libelle
    A moins que je fasse fausse route et qu'il existe un autre moyen ?

    J'espère avoir été assez claire dans mes explications, et que vous pourrez m'aider.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    la personne qui entre la référence, elle la connaît comment cette référence ?
    y-en a t il beaucoup ?

    On peut soit employer une listbox et lors de l'alimentation, on met en colonne 2 la référence.

    On peut avec la référence entrée faire une recherche sur la feuille des référence pour trouver la désignation liée..

    c'est une question de contexte, il faudrait en savoir un peu plus.

    cordialement,

    Didier

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 7
    Par défaut
    En fait il s'agit d'une entreprise qui réalise des prestations. Donc la personne qui réalise le devis est une personne de l'entreprise et connait donc les références des différentes prestations.
    Il y a 20 prestations en tout.

    Je précise que c'est un projet scolaire. Étant en DUT Gestion des Entreprises et des Administrations (GEA), nous faisons de l'informatique "basique", et nous n'avons vu que les bases de la programmation vba.

    Résumé de ce que nous avons vu :
    InputBox
    MsgBox
    Sheets
    Worksheets
    If_Endif
    DoWhile_Loop
    Sub_End sub
    Function_End Function

    Citation Envoyé par Ormonth Voir le message
    On peut soit employer une listbox et lors de l'alimentation, on met en colonne 2 la référence.

    On peut avec la référence entrée faire une recherche sur la feuille des référence pour trouver la désignation liée..
    Je pense que ce serait plutôt la deuxième solution, car nous n'avons jamais parlé de listbox en cours.
    Mais est-il possible de le faire avec les éléments vus en cours et indiqués plus haut ?

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Bien ta réponse, au moins on a les éléments

    Clairement, moi je passerai par une listbox car en plus, ça évite toute erreur de saisie et c'est Mieux.
    Mais as-tu le droit de le faire ?
    Est-tu intéressé ? C'est très facile à ce niveau à maîtriser. (Mais s'éloigne clairement aussi de ce que tu as vu )

    Pour garder ta piste, la Solution d'Isabelle est très adaptée !

    à toi de dire, on te guidera dans le sens voulu

    cordialement,

    Didier

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 7
    Par défaut
    Oui je veux bien que vous me détaillez la solution avec la listbox. Ça peut toujours être intéressant.

    Effectivement la solution d'Isabelle fonctionne très bien.

    Je pense que je vais prendre toute vos idées et je demanderais à ma prof si j'ai le droit de faire comme ca ou pas.

    Merci beaucoup de votre aide en tout cas

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    A bien y réfléchir, je suis sur la mauvaise piste, en effet, si c’est un projet scolaire, il ne fait aucun doute que votre prof suit une certaine progression, donc ça ne serait pas très malin de la contourner (mea culpa)

    Ce qui est possible pas contre, c’est que tu gardes trace de ce fil et que si vous n’étudiez pas la chose et passez à d’autres sujets, alors dans quelques temps tu crées un nouveau post en mettant la référence de celui-ci et tu dis que tu est toujours intéressé pas le sujet

    à bientôt,

    Didier

  7. #7
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set sh = Worksheets("Fichier prestations")
    ligne = Application.Match(reference, sh.Range("A:A"), 0)
    libelle = Worksheets("Fichier prestations").Cells(ligne, 2).Value

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo