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 :

Comment insérer une ligne dans vba


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Comment insérer une ligne dans vba
    Bonjour,
    Je suis nouvelle sur le forum et complètement débutante sur le langage vba
    J'essaye de créer une macro qui insère une ligne à la fin d'un tableau, et qui puisse se répéter. C'est à dire je cherche à pouvoir insérer une ligne à la fin d'un tableau plusieurs gois de suite en appuyant sur un bouton...
    Oulala... je crois que je ne suis pas clair du tout... J'espère que vous comprendrez...
    Je vous remercie d'avance de votre aide

  2. #2
    Membre averti Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 502
    Points : 319
    Points
    319
    Par défaut
    Bonjour,

    Si cela peut te servir:
    Cet exemple montre comment insérer une nouvelle ligne avant la ligne 4 de la feuille de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myChart.Application.DataSheet.Rows(4).Insert
    Bien cordialement

  3. #3
    Membre averti Avatar de BRUNO71
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2007
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 502
    Points : 319
    Points
    319
    Par défaut
    Une erreure...

    Essaye ça

    Désolé

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour cette réponse! Mais il faut que ca insert toujours à la fin de mon tableau... meme s'il s'agrandit, en fait j'essaye de faire un petit programme pour suivre mon compte bancaire!
    J'ai trouvé une solution : j'ai nommé la dernière ligne de mon tableau, "dernière_ligne", puis j'ai fait une macro pour insérer une ligne avant "dernière_ligne". Je laissa toujours "dernière_ligne" vide. Ca fonctionne, mais je n'ai fait que contourner mon problème.
    Enfin la j'ai une autre idée, je vais essayer!

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Ceci te renvoi le numéro de la dernière ligne suivant le contenu de la colonne 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil1.Cells(Rows.Count,1).End(xlUp).Row
    Attention: si tu as des données, cela te renvoie la ligne de la dernière donnée, mais si tu n'en as pas cela te renvoie 1. Mais comme je suppose que tu mets des titres dans tes colonnes, cela ne devrait pas te déranger.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    je viens d'essayer!
    Ca ne fonctionne pas surement parce que je dois modifier un peu ce que tu as écris, seulement je ne sais pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil1.Cells(Rows.Count,1).End(xlUp).Row
    Dans cette "phrase" où dois je noter le nom de mon tableau?
    Serait il possible de m'expliquer les termes de cette phrase...?
    En tout cas merci de votre aide

  7. #7
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut ortho
    Bonjour,

    C'est vrai que c'est plus facile quand on sait ce qui se passe , vois aussi l'aide vba sur les termes

    Feuil1 = le nom de la feuille Excel (objet éditeur VBA) dans le classeur.

    Cells = collection de toutes les cellules de la feuille

    ( ligne, colonne) en rajoutant les coordonnées d’une cellule, on limite Cells à celle-ci

    Rows = collection des lignes d’une Feuille

    Count = propriété qui renvoie le nombre de ligne d’une collection (collection : Objet contenant un ensemble d'objets connexes. La position d'un objet dans la collection peut changer chaque fois que cette dernière est modifiée. Par conséquent, aucun objet n'a de position immuable dans une collection. Note perso : En gros ça peut-être une sélection exemple : ? selection.rows.count)

    End = propriété (attention il existe d’autres formes de End) qui renvoie un objet Range qui représente la cellule à la fin de la zone qui contient la plage source

    (xlUp) = Argument obligatoire de End qui indique la direction du déplacement (4 choix possibles).

    Row = Propriété qui renvoie le numéro de la première ligne de la première zone de la plage (ne pas confondre avec Rows !).
    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  8. #8
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Au total cela devrait ressembler à cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Application.ThisWorkbook.Sheets("NomFeuille")
        .Rows(.Rows(.Rows.Count).End(xlUp).Row).Insert
    End With
    Cordialement,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/07/2009, 00h16
  2. Réponses: 1
    Dernier message: 24/04/2007, 17h20
  3. [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
  4. Comment griser une ligne dans une TListBox ?
    Par SegmentationFault dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/06/2004, 09h15
  5. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06

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