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 :

MACRO EXCEL - Insert ligne


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Par défaut MACRO EXCEL - Insert ligne
    Bonjour,

    Je vous expose mon problème qui parait simple mais je bloque dessus.

    Sur la colonne A se trouve des boutons qui permet d'insérer une ligne par le bas.

    Mon problème :
    Si j'ajoute une ligne avec le premier bouton, les autres boutons sont décalés et insert une ligne au mauvais endroit.


    Je vous laisse un lien avec mon fichier à télécharger.

    Je remercie par avance de m'avoir lus et à toute personne qui voudrai m'apporter une aide.

    Merci

    http://www.partage-facile.com/1PU9T1...dvlp.xlsm.html

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Bonjour à toi,

    Je t'invite à lire ceci : http://www.developpez.net/forums/d84...s-discussions/
    Et en plus tu héberge ton fichier sur un site bourré de pubs qui clignote en tout genre......
    Personne ne va aller récupérer ton fichier !

    Ensuite pour ton problème, lorsque tu insert une ligne elle vient toujours se placer au dessus de la ligne depuis laquelle tu fais l'insertion.
    Donc l'idée est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.Offset(1).EntireRow.Insert 'Je me place sur la ligne du dessous et j'insert une ligne
    ActiveCell.Offset(1).Select 'Je selectionne la cellule de ma nouvelle ligne

  3. #3
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    edit : pas vu ta réponse cerede


    Bonjour,
    non seulement il n'est pas recommandé de joindre un fichier dès le premier post (mieux vaut de bonnes explications) mais ton fichier est sur un site qui fait peur, alors non merci pour le télécharger
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Par défaut
    Je m'attendais pas à autant d'animosité en postant sur ce forum mais très bien, j'ai pris connaissance du lien plus au dessus et je m'en excuse d'avoir mis à disposition directement mon fichier. Je pensais que ça vous permettrai de mieux visualiser mon problème.

    Je vous détail mon problème donc :

    Imaginons que j'ai deux boutons.

    Le 1er bouton me rajoute une ligne au-dessus de la rangé 8, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rows("8:8").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Le 2nd bouton me rajoute une ligne au-dessus de la rangé 11, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rows("11:11").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Mais, si grâce à mon 1er bouton je rajoute une ligne au-dessus de la rangé 8 ça va tout me décaler et donc, je ne souhaite pas que mon 2nd bouton me rajoute une ligne au-dessus de la rangé 11 mais, au-dessus de la rangé 12.

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Visiblement tu n'as même pas regardé le code que j'ai mis......

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Perso, peut-être à tort, je pensais à quelque chose comme ça, code des boutons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim decal As Long
    Private Sub CommandButton1_Click()
    Rows("8:8").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    decal = ActiveCell.Row
    End Sub
     
    Private Sub CommandButton2_Click()
    Rows(decal + 4).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 3
    Par défaut
    @casefayere

    J'ai essayé mais ça ne fonctionne pas.

    @cerede2000

    Désolé.
    J'ai essayé ta méthode mais ce n'est pas ce que je recherche.
    Le tienne consiste à rajouter une rangé lorsqu'on sélectionne une cellule.

    L'idée serait de rajouter une rangé de manière automatique sans passer par la sélection.

    Mais merci pour vos réponse, au pire je resterai sur la solution que Cerebe2000 m'a proposé ce n'est pas si mal au final.

  8. #8
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Non mais j'ai fait activecell pour que ce soit simple.....
    A toi de mettre la Range sur laquelle tu veux insérer.......................................

  9. #9
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    J'ai essayé mais ça ne fonctionne pas.
    ah bon, perso j'ai testé et ça fonctionne, à moins que tu oublies de dire quelque chose
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

Discussions similaires

  1. Macro Excel: Masquer ligne en fonction
    Par henrynv dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/06/2012, 17h38
  2. [XL-2007] Macro excel - insertion de colonnes
    Par damkev dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/05/2012, 00h28
  3. [D7] Excel : insertion ligne et réactualisation formules ?
    Par fredfred dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 07/04/2010, 15h37
  4. Excel insert ligne
    Par griffit dans le forum C++Builder
    Réponses: 3
    Dernier message: 28/02/2008, 18h19
  5. [Excel VB] Insertion ligne avec formules
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/12/2005, 16h21

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