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 :

Afficher la valeur de chaque ligne a la fin


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut Afficher la valeur de chaque ligne a la fin
    Bonjour,
    J ai un tableau excell ou pour chaques ligne j ai des valeurs dans une des 5 colonnes qui suit ( parfois dans qu une seule colonne parfois dans deux ou dans toute ) et je voudrais que apres la derniere colonne soit affiché le nom de toutes les colonnes pour lesquelles chaques lignes a une valeur.
    C'est comme si pour chacune de ces 5 colonnes je mettais 1 ou 0 si y a une valeur. Et pour toutes les collones ou y a un 1 j affiche leurs noms et ce pour chaques lignes.
    Je ne sais pas programmer cela en vba j ai tenté avec les fonctions if then si excel mais c est un tableau que j ameliore regulierement sur excel et la avec 5 colonnes ca devient impossible.
    Merci de votre aide si precieuse.
    Thomas

  2. #2
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Que veux-tu dire par afficher le noms des colonnes? A B C ?
    (ex "Les colonnes A, B, C sont complétées" ?)

    Le restant n'est pas très compliqué!

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    janvier fevrier mars
    x 3 1 janvier mars
    y 2 3 fevrier mars
    w 2 2 4 janvier fevrier mars
    z 1 janvier
    s 1 5 fevrier mars
    d 5 1 janvier fevrier

    voila un exemple de ce que je voudrais comme ds cet exemple que s affiche ds la derniere collonne les colonnes pour lesquelles chaques lignes a une valeur car mon tableau est plus gros que celui la

    desole ca a pas bien pris
    janvier fevrier mars
    x 2 3 janvier-fevrier
    y 3 4 fevrier-mars
    z 1 janvier

    Voila ca devrait etre mieux je voudrais que la derniere colonne s affiche automatiquemenent en fgonction des diff valeurs pour chaques lignes

  4. #4
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Je dois avouer que je ne comprends toujours pas...

    x 3 1 janvier mars
    y 2 3 fevrier mars
    Pourquoi janvier est remplacé par février ici?
    Est-ce que 1 - 2 - 3 ... font une différence?

    Sinon, donne un exemple avec une classeur, on sera certain de ce que tu veux obtenir.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Voila un exemple de ce que je voudrais
    la derniere collonne surligné en jaune affiche la nom de chaques colonne dans lequelle chaques ligne a une valeur et je voudrais que cela saffiche pour toutes les lignes.
    Thomas
    Fichiers attachés Fichiers attachés

  6. #6
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Ok! C'est plus clair comme ça.

    Dans tes exemple, les colonnes étaient décallées.

    Est-ce que les titres de colonnes resteront toujours les même?

    Avec ceci, tout va être parfait!

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    A chaques foi que j updaterais le fichier y aura une colonne en plus mais si je comprend le mecaznisme le macro apres je pourrais le rajouter directement ds la programmation de la macro
    Thomas

  8. #8
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour thomasleocadio drakkar_agfa le forum je pense avoir compris plus ou moins ce que tu voulais faire au maxi cela s arrete a la colonne decembre ??
    SALUTATIONS

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    ca sera difficile de chiffrer ou pourrais s arretert les collones mais si vous m aidez a programmer pour ces 5 collonnes je pourrais apres rajouter dans le programme les autres colonnes apres une fois que j aurais vu le programme c juste que pour avoir ce resultat dans cette colonne je sais pas le programmer sur vba

  10. #10
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    ReBonjour

    Voici un code qui fonctionnera peu importe le nombre de colonne ou de ligne!
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sub test()
        Dim iColonne As Integer
        Dim iDerniereColonne As Integer
        Dim iLigne As Integer
        Dim sMessage As String
        Dim sh As Worksheet
     
        Set sh = ActiveSheet
        iDerniereColonne = sh.Range("A1").End(xlToRight).Column + 1
     
        For iLigne = 2 To sh.Range("A65536").End(xlUp).Row
     
            sMessage = ""
     
            For iColonne = 2 To iDerniereColonne
     
                If sh.Cells(iLigne, iColonne) <> "" Then
                    If sMessage = "" Then
                        sMessage = sh.Cells(1, iColonne)
                    Else
                        sMessage = sMessage & " " & sh.Cells(1, iColonne)
                    End If
                End If
     
            Next iColonne
     
            sh.Cells(iLigne, iDerniereColonne) = sMessage
     
        Next iLigne
    End Sub
    Testes nous ceci et donnes nous en des nouvelles!

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    je vais surement paraitre un peu con mais c la premiere fois que je programme une macro vba mais une fois que je suis sur visual basic editor je clique sur workbook en haut a droite et je colle la formule est ce que je dois parametrer certains truc ? merci bcp et desole de mon amateurisme
    Thomas

  12. #12
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Je te conseille te créer un module et d'y coller mon code.

    Tu peux bien changer le non test par un nom significatif pour toi.

    La macro sera accecible dans toutes les feuilles et tu auras à l'exécuter par le menu macro (alt + F8).

    Si tu as d,autre questions, n'hésites pas!

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If sh.Cells(iLigne, iColonne) <> "" Then
    cette ligne s affiche en jaune avec le message suivant erreur definie par l application ou par l objet

  14. #14
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Au dévut du code, avant la procédure, ajoute la ligne
    et compile (Débogage, Compiler)

    Est-ce qu'il a une erreur?

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    tu veux que je le rajoute au tout debut ou avant quelle procedure je comprend pas

  16. #16
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Explicit
     
    Sub test()
        Dim iColonne As Integer
        Dim iDerniereColonne As Integer
    ...
    ...

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    j ai encore une erreur
    erreur d execution 1004:
    erreur definie par l application ou par l objet

  18. #18
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    As-tu recopié mon code comme il est?

    As-tu changer quelque paramêtre?
    Si oui à une de ces questions, donne nous ton nouveau code.

    Quelle version d'Excel as-tu?

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    J y arrive toujours pas je comprend rien
    je met mon document en piece jointe et j arrive pas a afficher dans la colonne issue le nom de toutes les emissions
    Fichiers attachés Fichiers attachés

  20. #20
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Vite vite, je dirais ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        iDerniereColonne = sh.Range("A1").End(xlToRight).Column + 1
    La première ligne de ton fichier est vite, il faudrait changer A1 par A2...

    Changer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For iColonne = 2 To iDerniereColonne
    Changer le 2 (colonne B) pour 4 (colonne D)

    Changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                        sMessage = sh.Cells(1, iColonne)
                    Else
                        sMessage = sMessage & " " & sh.Cells(1, iColonne)
    Changer les 1 pour des 2, sinon il prend la première ligne comme titre de colonne.


    Tout devrait fonctionner.
    Voici le nouveau code
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Option Explicit
    Sub test()
        Dim iColonne As Integer
        Dim iDerniereColonne As Integer
        Dim iLigne As Integer
        Dim sMessage As String
        Dim sh As Worksheet
     
        Set sh = ActiveSheet
        iDerniereColonne = sh.Range("A2").End(xlToRight).Column + 1
     
        For iLigne = 3 To sh.Range("A65536").End(xlUp).Row
     
            sMessage = ""
     
            For iColonne = 4 To iDerniereColonne
     
                If sh.Cells(iLigne, iColonne) <> "" Then
                    If sMessage = "" Then
                        sMessage = sh.Cells(2, iColonne)
                    Else
                        sMessage = sMessage & " " & sh.Cells(2, iColonne)
                    End If
                End If
     
            Next iColonne
     
            sh.Cells(iLigne, iDerniereColonne) = sMessage
     
        Next iLigne
    End Sub
    Mais fait attention, la colonne vide (apres Issues) est pris en compte dans la formule de la colonne Issues... Je ne sais pas comment tu veux arrenger le tout... Si tu veux la colonne suivante (L) remplace ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        iDerniereColonne = sh.Range("A2").End(xlToRight).Column + 1
    par ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        iDerniereColonne = sh.Range("A2").End(xlToRight).Column + 2

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Vxi3] afficher une valeur selon la ligne du tableau
    Par aurelie83 dans le forum Deski
    Réponses: 10
    Dernier message: 23/10/2009, 20h56
  2. Afficher une image sur chaque ligne d'un état
    Par nicolas2603 dans le forum VBA Access
    Réponses: 0
    Dernier message: 20/05/2008, 17h11
  3. [MySQL] Afficher le rang associé à chaque ligne
    Par demsbf dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/09/2007, 13h00
  4. [Tableaux] Tableau : ajouter une key+valeur a chaque ligne
    Par Joe Le Mort dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2007, 13h08

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