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
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 7
    Points
    7
    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
    Responsable
    Office & Excel


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    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?

  3. #3
    Responsable
    Office & Excel


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    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?

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 7
    Points
    7
    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
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 7
    Points
    7
    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
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 7
    Points
    7
    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
    Responsable
    Office & Excel


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    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

  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 : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    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.

  9. #9
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 7
    Points
    7
    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