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 :

[E-02] Macro pour insérer une ligne


Sujet :

Macros et VBA Excel

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Par défaut [E-02] Macro pour insérer une ligne
    Bonjour à tous,
    Sous excel 2002, je voudrais faire une macro qui va inserer une ligne sous la cellule contenant le texte "203/gr". Ensuite, il faut reprendre le même processus mais pour le texte "203/gr08".

  2. #2
    Membre émérite
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Par défaut
    Bonjour,

    Tu pourrais essayer un enregistrement automatique et faire les manipulations :
    Edition/rechercher 203/gr, fermer la recherche, abaisser le surseur et insérer une ligne.

    puis tu regardes le code et tu vois comment optimiser....

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Par défaut
    Oui mais dans mon fichier, il peut y avoir 20 fois la même information et je veux que le curseur se positionne sur la derniere cellule de la colonne E contenant "203/gr" et ensuite insérer une ligne.

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir

    Tu peux utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim Cible As Range
     
    Set Cible = Columns(5).Find(What:="203/gr", After:=Range("E1"), _
        LookIn:=xlValues, LookAt:=xlWhole, _
        SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
        MatchCase:=False, SearchFormat:=False)
     
    Rows(Cible.Row + 1).Insert xlDown


    bonne soirée
    michel

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 14
    Par défaut
    Merci SilkyRoad, ça fonctionne comme je le souhaitais.
    T'es le TOP KING du VBA!

    J'ai oublié un petit détail dans ma demande: Lorsque la ligne est insérée, le curseur doit alors se retrouver dans une des cellules de cette nouvelle ligne car je dois y mettre une formule de sous-total.

    Puisque cette nouvelle ligne ne sera jamais à la même position d'une semaine à l'autre, je ne peux pas mettre ' Range("E22").Select '
    Quelle serait le code qu'il faudrait mettre à la suite de ta macro pour positionner le curseur à la cellule X?

    Merci de ton aide!

  6. #6
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    J'ai oublié un petit détail dans ma demande: Lorsque la ligne est insérée, le curseur doit alors se retrouver dans une des cellules de cette nouvelle ligne car je dois y mettre une formule de sous-total.

    Puisque cette nouvelle ligne ne sera jamais à la même position d'une semaine à l'autre, je ne peux pas mettre ' Range("E22").Select '
    La réponse est déjà donnée par Michel, il suffit juste que tu comprennes son Code.
    Plus exactement dans cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows(Cible.Row + 1).Insert xlDown
    A ton avis, ça signifie quoi : Cible.Row + 1

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

Discussions similaires

  1. [XL-2007] Problème pour insérer une ligne avant champ fusionné
    Par Tempas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/04/2010, 14h22
  2. Réponses: 13
    Dernier message: 31/01/2010, 10h58
  3. Script pour insérer une ligne dans un fichier csv
    Par StéphanieB. dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 05/01/2010, 11h19
  4. [E-00] Syntaxe pour insérer une ligne ou une colonne dans une feuille
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2009, 09h27
  5. Macro ACCESS / Insérer une ligne vide
    Par david71 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/03/2008, 10h20

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