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 :

[VBA-E] Affichage de résutats dans textbox help


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut [VBA-E] Affichage de résutats dans textbox help
    Bonjour,

    J'ai besoin d'une aide. Voilà le problème qui se pose:

    j'ai un tableau où chaque ligne correspond à un salarié avec diverses infos dans cette ligne.

    Via un userform je demande à l'utilisateur le numéro du salatrié dont il veut voir les infos. un autre userform, rempli de textbox, apparait et donne le domicile du salarié, son numéro de téléphone, etc...
    mais quelle formule utiliser pour que la textbox se remplisse automatiquement en fonction du numéro de ligne inséré précédemment? le numéro de la personne correspond à la ligne dans le tableau

    ce numéro est stocké dans la feuille FC en case E2.

    voilà le code que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private sub userform_activate()
    dim n as integer
    n = Worksheets("FC").Range("E2").Value
    for n = n to n
    TextBox2 = Worksheets("Salarié").Range("B,n").Value
    Next n
    End Sub
    Apparemment ça bloque à la ligne TextBox2=...
    comme je suis complètement autodidacte, je tatonne pas mal et là j'avoue que ça fait un bon bout de temps que je galère.

    merci d'avance!

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Dans ton code,
    Citation Envoyé par sebek_2000
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private sub userform_activate()
    dim n as integer
    n = Worksheets("FC").Range("E2").Value
    for n = n to n
    TextBox2 = Worksheets("Salarié").Range("B,n").Value
    Next n
    End Sub
    ...
    tu as déjà un problème sur
    Cette ligne n'est pas logique... Tu ne peux pas avoir n = n to n, Excel ne peut pas interpréter cela. Tu peux avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim i as integer
    for i = 1 to n
    ...
    De plus, corrige la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TextBox2 = Worksheets("Salarié").Range("B,n").Value
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TextBox2 = Worksheets("Salarié").Range("B" & n).Value
    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    En complément de ma réponse, tu aurais intérêt à utiliser un objet Range
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dim Cellule as Range
    n = Worksheets("FC").Range("E2").Value
    set cellule = worksheets("employés").range("a" & n)
    ' utilisation d'un offset implicite sur l'objet Cellule
    textbox1 = cellule(1,1).value
    textebox2 = cellule(1,2).value
    ...
    Les valeurs entre parenthèses dans la ligne
    s'interprètent comme suit
    x=1 => même ligne
    x<1, on remonte dans les lignes. x= 0 => une ligne plus haut
    x>1, on descend dans les lignes. x= 2, une ligne plus bas
    Pour les colonne, c'est la même logique, avec déplacements
    à gauche y<1
    à droite y >1

    Attention, dans le code que tu donnes, dans la boucle, c'est tout le temps textbox2 qui prend la valeur. in fine, textbox2 prendra donc la valeur de la dernière cellule scannée.

    De plus, il n'est pas logique de boucler jusqu'à n car n représente la ligne de l'employé, or je suppose que tu veux boucler en te déplaçant dans les colonnes...

    Tu nous dis quoi?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    Je regarde ça de suite et je te dis.
    Je comprends tes corections et je pense qu'elles devraient grandement m'aider. merci merci! c'est vraiment très sympa de ta part.

    je te tiens au courant

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    Deux choses

    lorsque j'écris:

    range ne se met pas en bleu comme as integer dans ma ligne précédent. est-ce normal?

    par ailleurs le code ne marche pas puisque ma textbox2 me renvoie 0.
    je te remets le code entier que j'ai tapé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private su userform_activate()
    dim n as integer
    dim cellue as range
    n=Worksheets("FC").Range("E2").Value
    for n=1 to n
    Set cellule=Worksheets("Salarié").range("B"&n)
    TextBox2= cellule(1,1).value
    Next n
    End sub
    merci

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    C'est bon!!! ca marche j'ai réussi. j'ai remis les choses dans l'ordre et ça roule!

    merci vraiment beaucoup!!! c'est très très gentil de ta part.

    t'as appris comment à faire du vba?

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par sebek_2000
    ...
    t'as appris comment à faire du vba?
    Autodidacte, avec l'aide de gens qui répondaient à mes questions, et en lisant des bouquins, aussi...

    Bon boulot.

    N'hésite pas à revenir
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par sebek_2000
    t'as appris comment à faire du vba?
    Citation Envoyé par Pierre Fauconnier
    Autodidacte,
    Idem pour moi mais à une époque où Internet n'était pas répandu.
    Donc, utilisation des espions et de la fenêtre exécution. Analyse du contenu des objets, essais, erreurs, analyse des erreurs, réessais, encore erreurs, tirer les conclusions de ses erreurs et avancer.
    On n'apprend jamais aussi bien qu'en s'étant trompé et en ayant réussi à corriger.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    Il est vrai que c'est le meilleur des apprentissages. mais il est loin d'être le plus rapide;
    Mais bon la joie n'en est que plus grande lorsque l'on arrive à nos fins!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] affichage de données dans textbox et combobox
    Par AMO05 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/05/2009, 16h06
  2. Affichage résultat requete dans textBox
    Par Brice_68 dans le forum IHM
    Réponses: 4
    Dernier message: 11/05/2007, 15h58
  3. [VBA-E]Limite nombre caractères dans TextBox ?
    Par srame dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 26/04/2007, 11h21
  4. [VBA-E] affichage de données dans userform
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/02/2007, 21h52
  5. Probleme affichage Code Barre dans textBox
    Par Papy_Guik dans le forum Windows Forms
    Réponses: 11
    Dernier message: 03/02/2007, 04h48

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