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 :

Pour chaque ligne, créer autant de lignes qu'il y a de colonnes renseignées dans la ligne


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de Données
    Inscrit en
    Janvier 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur de Données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2015
    Messages : 79
    Points : 20
    Points
    20
    Par défaut Pour chaque ligne, créer autant de lignes qu'il y a de colonnes renseignées dans la ligne
    Bonjour,

    j'ai un tableau avec plusieurs colonnes dont entre autre :
    NOM
    PRENON
    NOMB1
    PRENOMB1
    NOMB2
    PRENOMB2
    NOMB3
    PRENOMB3
    NOMB4
    PRENOMB4

    NOM, PRENOM, NOMB1 et PRENOMB1 sont tout le temps renseignés, mais NOMB2, PRENOMB2, NOMB3, PRENOMB3, NOMB4 et PRENOMB4 pas forcément.

    je souhaite dupliquer la ligne autant qu'il y a de 1, 2, 3 et 4 renseignés.

    un tableau pour montrer ce que je veux faire :

    Tableau de départ
    NOM PRENOM NOMB1 PRENOMB1 NOMB2 PRENOMB2 NOMB3 PRENOMB3 NOMB4 PRENOMB4
    AAA prenom1 AAA prenom2 AAA prenom3
    BBB prenom4 CCC prenom5 CCC prenom6
    DDD prenom7 DDD prenom7


    Tableau à l'arrivée
    NOM PRENOM NOMB PRENOMB
    AAA prenom1 AAA prenom2
    AAA prenom1 AAA prenom3
    BBB prenom4 CCC prenom5
    BBB prenom4 CCC prenom6
    DDD prenom7 DDD prenom7

    Je ne sais pas si c'est bien clair.

    Quelles sont les méthodes pour y parvenir ?

    Merci d'avance.

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Il suffit de lancer une boucle For To ou For Each pour scruter l'ensemble de tes lignes.
    A l'intérieur, tu mets une seconde boucle For To qui, pour chaque ligne, scrute les cellule en commençant à 3, avec un Step de 2 et limité par en End(xlToRight).
    Tu ajoutes une variable qui s'incrémente à chaque enregistrement pour suivre le numéro de ligne destination des données.
    Et tu transferts de la source à la destination soit par un Copy sur le Range, soit par un simple Value = Value.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. Intitulés colonnes à réintégrer dans les lignes
    Par Tsantawu dans le forum Excel
    Réponses: 4
    Dernier message: 18/02/2013, 10h52
  2. Réponses: 2
    Dernier message: 07/02/2011, 17h26
  3. [MySQL] Créer un enregistrement pour chaque ligne d'une zone de texte
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/09/2009, 20h14
  4. créer des groupes de lignes pour chaque onglet de façon automatique
    Par cindy1808 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/07/2009, 19h50
  5. Réponses: 4
    Dernier message: 21/03/2008, 17h40

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