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 :

Non affichage de données dans un tableau [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Par défaut Non affichage de données dans un tableau
    Bonjour à tous !

    J'ai un tableau avec en colonne différents numéros de groupes et en ligne les membres de ces groupes. Il peut y avoir au maximum 5 personnes par groupe. Il faut donc que je les inscrive les uns en dessous des autres. J'arrive très bien à faire apparaitre le nom du 1er inscrit au bon endroit, cependant, les suivants ne s'affichent pas. Et je ne comprends pas où est le problème, je n'ai aucun message d'erreurs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    'Inscription dans le tableau de la feuille Interface
        'S'il s'agit du 1er inscrit dans un groupe :
    If ThisWorkbook.Worksheets(4).Cells(3, Ligne) = "" Then ThisWorkbook.Worksheets(4).Cells(3, Ligne) = Lb_NomEtudiant
     
        'S'il s'agit du 2e inscrit dans un groupe :
    ElseIf ThisWorkbook.Worksheets(4).Cells(3, Ligne) <> "" Then ThisWorkbook.Worksheets(4).Cells(4, Ligne) = Lb_NomEtudiant
     
        'S'il s'agit du 3e inscrit dans un groupe :
    ElseIf ThisWorkbook.Worksheets(4).Cells(4, Ligne) <> "" Then ThisWorkbook.Worksheets(4).Cells(5, Ligne) = Lb_NomEtudiant
     
        'S'il s'agit du 4e inscrit dans un groupe :
    ElseIf ThisWorkbook.Worksheets(4).Cells(5, Ligne) <> "" Then ThisWorkbook.Worksheets(4).Cells(6, Ligne) = Lb_NomEtudiant
     
        'S'il s'agit du 5e inscrit dans un groupe :
    Else: ThisWorkbook.Worksheets(4).Cells(7, Ligne) = Lb_NomEtudiant
    End If
    Merci par avance pour votre aide

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    je ne sais pas si c'est ce que tu cherches car ce que tu donnes est léger, que représente "ligne" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim derlg As Long
     
    With Worksheets(4)
      derlg = .Range("A" & .Rows.Count).End(xlUp).Row + 1'si tu écris en A (bien sur)
      .Cells(derlg, ligne) = .Cells(3, ligne) = Lb_NomEtudiant 'encore faut'il connaitre la valeur de ligne
    End With
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Par défaut
    Ça marche très bien ! Merci beaucoup
    Mais sais-tu pourquoi ce que j'avais écrit ne fonctionnait pas ?
    Ligne est une variable qui donne le numéro de l'équipe d'une personne. Elle s'appelle "ligne" car dans un 1er tableau, le numéro d'équipe était référencé en ligne, alors que dans un 2nd tableau que je construis avec ce code, ce numéro est en colonne...
    C'est peut-être approximatif, mais ça fonctionne

    Encore merci !

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Mais sais-tu pourquoi ce que j'avais écrit ne fonctionnait pas ?
    Je ne peux pas te répondre à l'aveugle surtout si tu es aphone, je plaisante mais il faudrait mieux connaitre la strcture de ton fichier,
    Peu importe, ça t'apprendra au moins à rechercher la première cellule vide d'une colonne en remontant (Xlup), en descendant (Xldown) avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    derlg = .Range("A" & .Rows.Count).End(xlUp).Row + 1'pour A, bien sur
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 14
    Par défaut
    Ah en fait cela ne fonctionne pas si bien... Car je ne rentre pas toujours des noms dans la même colonne (A dans ton exemple).
    Est-il possible de faire varier la colonne ?
    Le numéro de ma colonne correspond donc à la variable "Ligne". Mais je ne sais pas comment l'écrire dans le code :s
    Je pense qu'il faut donc que je "traduise" le nombre Ligne en lettre. Y a-t-il une fonction qui me permet de faire ça ?

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    J'aimerai te répondre il faut précisément savoir comment tu vas chercher cette variable "ligne"
    Le numéro de ma colonne correspond donc à la variable "Ligne". Mais je ne sais pas comment l'écrire dans le code :s
    Je pense qu'il faut donc que je "traduise" le nombre Ligne en lettre. Y a-t-il une fonction qui me permet de faire ça ?
    Que dire ? la colonne A est 1, B est 2, etc....
    cells(1,1) = range("A1"), cells(1,2) = Range("B1"), etc....

    Donc, dans ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    derlg = .Range("A" & .Rows.Count).End(xlUp).Row + 1
      .Cells(derlg, ligne) = .Cells(3, ligne) = Lb_NomEtudiant
    , détaillé donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    derlg = .Range("A" & .Rows.Count).End(xlUp).Row + 1' si A4 est la première cellule vide, cells(derlg,1) ou range("A & derlg) = A4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Cells(derlg, ligne) = .Cells(3, ligne) = Lb_NomEtudiant'au hasard si ligne = 4 donne .Cells(4,4) => .Range("D4") et .Cells(3,ligne) => .Range("D3")
    Alors, dis-en plus
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. affichage des données dans un tableau visible
    Par neoboy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/09/2007, 12h16
  2. Affichage de données dans un tableau
    Par Claire07 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/03/2007, 14h48
  3. [Tableaux] affichage des données dans un tableau
    Par bilane dans le forum Langage
    Réponses: 1
    Dernier message: 21/03/2007, 17h31
  4. Réponses: 6
    Dernier message: 17/07/2006, 15h07
  5. Réponses: 3
    Dernier message: 11/01/2006, 17h44

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