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 à l’amélioration d'une macro


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 7
    Par défaut Aide à l’amélioration d'une macro
    Bonjour,

    ayant de besoin d'automatiser un réagencement d'un fichier, je me suis penché sur les macros depuis hier (il faut un début!)

    J'arrive à faire ce que je souhaite sur une ligne sélectionnée mais je ne trouve pas comment faire pour que ma macro fonctionne si je sélectionne plusieurs lignes.

    Actuellement, il saute la 2eme ligne sélectionnée

    Ce que j'ai dans mon excel:
    100191106 (Support)0 1 OP1 Découpe;OP2 Mécanique;OP3 Sablage
    100191106 (Support)1 1 OP1 Découpe;OP2 Mécanique;OP3 Sablage

    Je veux que ça ressorte comme ça:
    100191106 (Support)0 1 OP1 Découpe
    100191106 (Support)0 1 OP2 Mécanique
    100191106 (Support)0 1 OP3 Sablage
    100191106 (Support)1 1 OP1 Découpe
    100191106 (Support)1 1 OP2 Mécanique
    100191106 (Support)1 1 OP3 Sablage

    Ma macro pour une 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
    Sub CollerNb_op()
    'Déclaration des variables
        Dim numero_ligne As Integer
        Dim Tableau_op() As String
        Dim Nb_op As Integer
    'Valeurs des variables
        numero_ligne = Selection.Row
        Tableau_op = Split(Range("C" & Selection.Row).Value, ";")
        Nb_op = UBound(Tableau_op) + 1
    'Instruction
    'En fonction de la sélection
    'copier&insert
        For i = 2 To Nb_op
        Selection.Copy
        Rows(numero_ligne & ":" & numero_ligne).Select
        Selection.Insert Shift:=xlDown
        Application.CutCopyMode = False
        Next
    'Range les OPs
        For Nb_op = 0 To UBound(Tableau_op)
            Range("C" & Nb_op + numero_ligne) = Trim(Tableau_op(Nb_op))
        Next Nb_op
    End Sub
    Si quelqu'un peut m'aider à la faire fonctionner pour plusieurs lignes sélectionnées, j'en serais ravi
    (Je suis ouvert à tout critique pour améliorer mon jet fait à coup d'essai et recherche)

    Merci d'avance

    (PS: Si un gentil modérateur peut déplacer dans la parti "Macro" (oui, oui, je n'avais pas vu...)
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. aide pour créer une macro
    Par Daniela dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 02/02/2009, 08h19
  2. Aide pour complèter une macro VBA
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 24/11/2008, 13h07
  3. Recherche de l'aide pour améliorer une macro excel
    Par Yul80 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/09/2008, 10h21
  4. Aide pour finaliser une macro
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/08/2008, 08h02
  5. Réponses: 22
    Dernier message: 20/05/2008, 10h25

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