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 :

Ajouter une ligne par une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Ajouter une ligne par une macro
    Bonjour,

    Je souhaite rajouter une ligne à mon tableau.

    Par exemple, mon tableau de base comporte 2 lignes. Certaines cases contiennent des formules.
    Je souhaite rechercher la dernière case non vide de la colonne B soit (B3) puis selectionner toute cette ligne (A3:BA3) et la recopier en dessous (en A4). Et rajouter dans la colonne "B" de cette nouvelle ligne (B4) : = la case du dessus + 1
    Puis quand je relance la macro qu'elle détecte du coup que j'ai 3 lignes et que je veux maintenant une 4ème
    Et ainsi de suite.

    J'ai déjà commencé avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Sheets("Feuil1").Select
        Range("B10").Select
        Selection.End(xlDown).Select
        ActiveCell.Offset(0, -1).Activate
     
        Range(Selection, Selection.End(xlToRight)).Select
    (Mais ici il me copie que les 2 premières colonnes car la colonne C est vide. Moi j'aimerais qu'il me copie toute la ligne)

    Merci pour voir aide.

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim LastLig As Long
     
    Application.ScreenUpdating = False
    With Sheets("Feuil1")                                       'Adapter le nom de la feuille
        LastLig = .Cells(Rows.Count, "B").End(xlUp).Row
        .Rows(LastLig).Copy .Range("A" & LastLig + 1)
        .Rows(LastLig + 1).SpecialCells(xlCellTypeConstants).ClearContents
        .Range("B" & LastLig + 1) = 1 + .Range("B" & LastLig)
    End With

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup pour votre aide

    ça marche super bien

    Bonne journée

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

Discussions similaires

  1. Remplacement d'une ligne par une autre dans une matrice
    Par Mathematiker dans le forum Scilab
    Réponses: 4
    Dernier message: 17/02/2015, 14h57
  2. Réponses: 3
    Dernier message: 18/01/2015, 18h30
  3. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. Réponses: 1
    Dernier message: 19/05/2006, 17h33

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