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 :

VBA Insérer des Lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Technicien R&D
    Inscrit en
    Octobre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien R&D

    Informations forums :
    Inscription : Octobre 2015
    Messages : 4
    Par défaut VBA Insérer des Lignes
    Bonjour à tous,

    Je débute débute sur les macros excel.
    Mais j'aimerai vraiment progresser.

    Voici le problème qui se présente à moi aujourd'hui:
    J'ai un tableau excel de 900 lignes et 4 colonnes.
    1-J'aimerai sélectionner la première ligne et insérer 2 lignes en dessous.
    Idem avec la deuxième ligne (qui du coup devient la quatrième après insertion des 2 lignes).
    Et ce jusqu'à la dernière ligne qui n'est pas toujours la 900ème.
    2-En plus j'aimerais que le contenu de la ligne 1 se copie dans les 2 lignes insérées.
    Idem pour la ligne 2, (devenue la 4).
    Et ce jusqu'à la dernière ligne.

    Merci pour votre aide et vraiment heureuse de faire partie du forum

  2. #2
    Membre expérimenté

    Homme Profil pro
    Technical Account Manager
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technical Account Manager

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Billets dans le blog
    1
    Par défaut Code pour insérer des lignes
    Salut,

    l'instruction Rows(10).Insert devrait être ton ami maintenant. C'est le code VBA pour insérer des lignes. A toi de voir où l'implémenter dans ton code.

    Bon courage

    Cordialement
    xela57

  3. #3
    Candidat au Club
    Femme Profil pro
    Technicien R&D
    Inscrit en
    Octobre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien R&D

    Informations forums :
    Inscription : Octobre 2015
    Messages : 4
    Par défaut VBA Insérer des Lignes
    Merci Xela57 pour cette information.
    Cependant, je suis tellement débutante que je n'ai même pas de code.
    Si ce n'est celui enregistré quand je clique sur "Enregistrer macro".
    Dans ce cas j'obtiens cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Macro1()
    '
    ' Macro1 Macro
    '
     
    '
        Rows("3:4").Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Range("A2:D2").Select
        Selection.Copy
        Range("A3:D4").Select
        ActiveSheet.Paste
    End Sub
    Le souci c'est que les numéros de lignes ne s'incrémentent pas jusqu'en bas du tableau.

    Pouvez-vous me la corriger?

    Merci beaucoup pour votre aide.

  4. #4
    Membre expérimenté

    Homme Profil pro
    Technical Account Manager
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technical Account Manager

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Billets dans le blog
    1
    Par défaut Code macro
    Tout d'abord première étape importante quand tu veux programmer du VBA, ajoute le menu développeur dans ton ruban Excel

    Sinon voici une solution pour incrémenter tes lignes dans un code VBA

    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
     
    'Procédure sur l'insertion de ligne dans un tableau
    Sub Inserer()
        'Déclaration des variables
        Dim i, j As Integer
        'Pour parcourir les lignes de ton tableau, on utlise une boucle for (elle va de 1 à 900)
        'L'instruction "Step 3" permet ici de passer le compteur de 3 en 3 vu que tu veux insérer 2 lignes
        For i = 1 To 900 Step 3
        'Insertion des 2 lignes
            Rows(i + 1).Insert
            Rows(i + 2).Insert
            'Nouvelle boucle For qui est "imbriquée" qui va parcourir les colonnes de ton tableau
            For j = 1 To 4
            'Ajout des valeurs de ta ligne dans les cellules de tes nouvelles lignes'
                Cells(i + 1, j) = Cells(i, j)
                Cells(i + 2, j) = Cells(i, j)
            Next j
        Next i
    End Sub
    Voilà voici ton premier code VBA

  5. #5
    Candidat au Club
    Femme Profil pro
    Technicien R&D
    Inscrit en
    Octobre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien R&D

    Informations forums :
    Inscription : Octobre 2015
    Messages : 4
    Par défaut Code macro
    Merci beaucoup xela57
    C'est génial.
    Connais-tu également le code pour non pas aller jusque la ligne 900 mais jusque la dernière ligne non vide.

    Merci, Merci

  6. #6
    Membre expérimenté

    Homme Profil pro
    Technical Account Manager
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technical Account Manager

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Billets dans le blog
    1
    Par défaut Instruction
    Oui il y a une commande excel qui peux tester si une cellule est vide.
    Elle s'appelle "IsEmpty"

    ce qui nous donnerait le code suivant :
    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
    'Procédure sur l'insertion de ligne dans un tableau
    Sub Inserer()
        'Déclaration des variables
        Dim i, j As Integer
        'Pour parcourir les lignes de ton tableau, on utlise une boucle for (elle va de 1 à 900)
        'L'instruction "Step 3" permet ici de passer le compteur de 3 en 3 vu que tu veux insérer 2 lignes
        For i = 1 To 900 Step 3
        'Insertion des 2 lignes
            Rows(i + 1).Insert
            Rows(i + 2).Insert
            'Nouvelle boucle For qui est "imbriquée" qui va parcourir les colonnes de ton tableau
            For j = 1 To 4
            'Ajout des valeurs de ta ligne dans les cellules de tes nouvelles lignes'
                Cells(i + 1, j) = Cells(i, j)
                Cells(i + 2, j) = Cells(i, j)
                If Cells(i,j) Is Empty Then Exit Sub
            Next j
        Next i
    End Sub

Discussions similaires

  1. [VBA-E] Problème pour insérer des lignes dans une feuille Excel
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2007, 14h13
  2. [SQL-VBA]fusionner des lignes
    Par shagun dans le forum Requêtes et SQL.
    Réponses: 42
    Dernier message: 13/04/2007, 13h37
  3. [VBA] Supprimer des lignes dans une table
    Par shadockgreg dans le forum Access
    Réponses: 6
    Dernier message: 22/11/2006, 09h58
  4. Insérer des lignes dans une StringGrid
    Par da_latifa dans le forum Composants VCL
    Réponses: 1
    Dernier message: 26/09/2005, 12h45
  5. [VBA] insérer une ligne dans un fichier excel
    Par cokinoumasterflash dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/07/2005, 18h52

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