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 :

aide insertion automatique de lignes sur Excel [XL-2002]


Sujet :

Macros et VBA Excel

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut aide insertion automatique de lignes sur Excel
    Bonjour à tous, je suis nouveau sur le forum.
    Je suis actuellement en derniere année de DUT STID et ma formation se termine par un stage en entreprise.
    Mon stage a commencé lundi et je me retrouve face a un probleme que je n'avais pas prévu.
    Je travaille sur Excel et j'aurais besoin de créer des programmes qui permettent l'insertion automatique de lignes.

    actuellement je dispose d'un tableau de la forme suivante:

    Produit Date Début Date Fin
    AAAA 2006 2009
    BBBB 2000 2005

    et j'aimerai arriver au resultat suivant:

    Produit Date Début Date Fin
    AAAA 2006 2006
    AAAA 2007 2007
    AAAA 2008 2008
    AAAA 2009 2009
    BBBB 2000 2000
    BBBB 2001 2001
    BBBB 2002 2002
    BBBB 2003 2003
    BBBB 2004 2004
    BBBB 2005 2005



    Même je pense qu'il est impossible d'obtenir ce résultat tel quel en l'automatisant, j'aimerai cependant pouvoir créer le nombre de ligne nécessaire de maniere automatique.

    De plus, a peu pres dans le même genre

    il existe plusieurs couleurs pour un même produit avecdifférentes épaisseurs possible. J'aimerais donc insérer créer une nouvelle pour chacune des couleurs et pour chaque épaisseur possible.


    Actuellement je dispose du tableau suivant:
    Produit Descriptif Couleurs
    AAA 3mm/4mm t1/t2/t3

    J'aimerai obtenir le tableau suivant:
    Produit Descriptif Couleurs
    AAA 3mm t1
    AAA 3mm t2
    AAA 3mm t3
    AAA 4mm t1
    AAA 4mm t2
    AAA 4mm t3

    Voilà
    J'espere avoir été assez clair dans mes explications.

    Cordialement.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Ce que je ferais à la va vite mais qui marche serait comme ça :

    Tout d'abord, mise en place d'une variable, pour chaque ligne, qui équivaudrait à la différence entre les 2 dates +1. Ainsi, tu connaîtrais le nombre de lignes à insérer.

    Puis, tu fais une boucle entre 1 et cette variable où tu écris le même nom de produit, la date de début + la variable à chaque fois dans le tableau source.

    Une fois cela fait, ben tu passes à la ligne suivante de ton tableau source.

    En suivant cette logique, cela sera automatisé comme tu le souhaites.

    Pour le second cas, c'est exactement la même chose : tu comptes le nombre de couleurs que tu stockes dans une variable (en prenant "/" comme caractère séparateur par exemple) et tu continues sur la même chose.

    Je te propose d'essayer par toi-même avec ce raisonnement et si tu n'y arrives pas, quelqu'un d'autre ou moi-même, si je trouve le temps, pourra te proposer un petit bout de code à améliorer.

    Bonne chance !
    DeaD

  3. #3
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut

    Même je pense qu'il est impossible d'obtenir ce résultat tel quel en l'automatisant, j'aimerai cependant pouvoir créer le nombre de ligne nécessaire de maniere automatique.
    Si c'est possible


    est parce que je suis sympa et qu'entre stagiaire faut se serrer les coudes

    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
    Dim anneedeb As Integer
    Dim anneefin As Integer
    Dim nannee As Integer
    Dim i As Integer
    Dim j As Integer
    Dim DerniereLigne As Integer
    DerniereLigne = Range("A65536").End(xlUp).Row 'récupère la dernière ligne de la colonne A
    For i = DerniereLigne To 1 Step -1 'on parcour a l'envers car on va rajouter des ligne
        If Cells(i, 1) <> Cells(i + 1, 1) Then 'vérifie que le produit change par rapport au précédent
            anneedeb = Cells(i, 2)
            anneefin = Cells(i, 3)
            Cells(i, 2) = Cells(i, 3)
            nannee = anneefin - anneedeb
            For j = 1 To nannee
            Cells(i, 1).EntireRow.Insert 'on insert une ligne
            Cells(i, 1) = Cells(i + 1, 1)
            Cells(i, 3) = Cells(i + 1, 3) - 1
            Cells(i, 2) = Cells(i, 3)
            Next j
        End If
        Next i
    C'est pas vraiment commenté mais exécute le en pas a pas et tu comprendra

    Pour le deuxième je te laisse te débrouiller, je suis sympa mais bon le but d'un stage c'est de travailler, c'est plus tard qu'on apprend a faire travailler les autres quand on aura nos propre stagiaires

    Edit bonjour Dead je n'ai pas rafraichi d'après ce que j'ai lut ca ressemble a ton idée en version codé
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Points : 723
    Points
    723
    Par défaut
    Bonjour Krovax,

    Effectivement, c'est le même état d'esprit

    Bonne chance Bendrien.
    DeaD

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut aide
    merci
    mais je pense que vous me verrez assez souvent en difficultées :s

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

Discussions similaires

  1. extraction automatique d'une ligne sur excel
    Par LAFORCADE dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/06/2007, 10h40
  2. Insertion automatique de ligne
    Par binouse18 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/05/2007, 17h27
  3. insertion automatique de lignes dans la crontab
    Par Mr_Brown dans le forum Administration système
    Réponses: 2
    Dernier message: 27/03/2007, 14h03
  4. Insertion automatique de données sur un site web
    Par Bilbo67 dans le forum Access
    Réponses: 5
    Dernier message: 02/02/2007, 14h20
  5. Réponses: 2
    Dernier message: 19/05/2006, 18h42

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