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 :

Macro création de ligne suivant colonne


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Macro création de ligne suivant colonne
    Bonjour,

    Actuellement j'ai un tableau avec une ligne par nom de salarié et 100 colonnes "intitulé de formation" non vide si le salarié souhaite faire cette formation.

    Je souhaiterais n'avoir que 2 colonnes (Nom et Formation) avec donc autant de lignes avec le même nom que le salarié souhaite faire de formation.

    Mes connaissances en VBA étant très lointaines, quelqu'un aurait-il l'amabilité de me donner le petit bout de code qui me permettrait de faire ça automatiquement.

    Merci d'avance
    mik


    Tableau actuel:
    NOM|FORMATION 1|FORMATION 2|FORMATION 3|etc...
    toto|oui...............|-------------|oui..............|

    Tableau souhaité:
    NOM|FORMATION
    toto|formation 1
    toto|Formation 3
    etc...

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Bonjour Mik, bienvenue sur le forum.
    Bien que tes "connaissances en VBA sont très lointaines", je suppose que tu as une idée. Alors propose-nous quelque chose et l'on pourra t'aider.
    DVP n'est pas un self-service. Ici tu trouveras un grand nombre de bonnes volontés pour t'aider mais le principe du forum n'est pas de faire le travail pour les autres, seulement d'aider.
    Propose-nous un début de code.
    Déjà tu sais que tu dois parcourir la plage de données de ton premier tableau, ligne par ligne et colonne par colonne.
    Ensuite il te faut un espace pour le second tableau. Dans une autre feuille ?
    Enfin, il faut recenser et n'ajouter que les oui pour que la donnée du tableau 1 soit reportée sur le tableau 2.
    Donc, tu dois incrémenter le N° de ligne de ce tableau en fonction des oui rencontrés.
    Tu commences quelque chose et si tu as un pb, tu reviens nous poser une question.
    Bon courage.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    je me suis permis de demander ça comme ça et j'appelle ça "un petit bout de code" car je sais que quelqu'un qui maitrise (pour avoir pas mal développer à l'époque) cela lui prend 3 minutes.
    Je n'ai pas pratiqué depuis 2001 mais je suis capable de proposer un algorythme si tu parles de cela.

    Bonne journée

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour tlm,

    Je me lance dans une proposition
    Tableau initial en feuille 1, nouveau tableau en feuille 2
    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
    Sub test()
    Dim i As Integer, j As Integer, r As Integer
    Dim L As Integer, C As Byte
     
    With Sheets(1)
        L = .Cells(Rows.Count, 1).End(xlUp).Row
        C = .Cells(1, Columns.Count).End(xlToLeft).Column
     
        r = 2
     
        For i = 2 To L
            For j = 1 To C
                If .Cells(i, j) <> "" Then
                    Sheets(2).Cells(r, 1) = .Cells(i, 1)
                    Sheets(2).Cells(r, 2) = .Cells(1, j)
                    r = r + 1
                End If
            Next j
        Next i
    End With
     
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci Fring ca fonctionne nickel.

    ouskel'n'or, je comprends tout à fait ton post et j'essayerais de participer "mieux" à ce forum à l'avenir.
    Le boulot demande parfois des résultats rapides, c'est surement ce qui m'a fait passer pour un faineant voulant profiter sans rien apporter...

    Encore Merci,
    a bientôt
    mik

Discussions similaires

  1. [XL-2010] Macro création de graphe suivant les données rentrées
    Par Val14c dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/10/2013, 09h50
  2. [XL-2003] Macro masquer/afficher des lignes et colonnes
    Par Estimea dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/03/2011, 17h18
  3. [XL-2007] macro insertion ligne suivant ordre alphabétique
    Par creunch dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/02/2011, 16h12
  4. Réponses: 11
    Dernier message: 05/08/2010, 14h19
  5. [XL-2007] Création nouvelle ligne dans excel lorsqu'un nom s'ajoute dans colonne A
    Par north_ dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 31/01/2010, 12h18

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