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 :

Création d'un bouton insertion ligne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut Création d'un bouton insertion ligne
    Bonjour à tous,

    Je reviens vers vous pour sollicité une nouvelle fois votre aide.

    J'utilise un tableau Excel 2013, renseigné par plusieurs personnes à partir duquel j'effectue un suivi des demandes d'avis.
    Le tableau se présente de la manière suivante :

    Etablissement ADRESSE NUMERO Date 1 Date 2 DATE REPONSE AVIS Mission Acteur Temps insert
    A W T17-011 12/01/2017 10/02/2017 26/01/2017 AF
    B X T17-012 16/01/2017 14/02/2017 26/01/2017 AF
    C Y T17-013 02/02/2017 03/03/2017
    D Z T17-014 02/02/2017 03/03/2017

    Les colonnes Mission et Acteur sont des listes déroulantes.
    Les cellules temps se remplissent automatiquement en fonction des valeurs des cellules Mission et acteurs de la même ligne.

    Si cela est possible, je souhaiterai qu'a chaque ligne renseignée figure un bouton dans la colonne insert.
    Sa fonction serait (en cliquant dessus) d'insérer si besoin, une ligne en dessous, pour ajouter une nouvelle mission à un nom d'établissement avec une recopie de mes listes déroulantes et de mes formules.

    Malheureusement, je ne maîtrise pas du tout les macros.
    Par avance je vous remercie pour votre aide et reste à votre disposition pour tout éclaircissement.

    Cordialement.
    Phebus

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par phebus471321 Voir le message
    Si cela est possible, je souhaiterai qu'a chaque ligne renseignée figure un bouton dans la colonne insert.
    Sa fonction serait (en cliquant dessus) d'insérer si besoin, une ligne en dessous, pour ajouter une nouvelle mission à un nom d'établissement avec une recopie de mes listes déroulantes et de mes formules.
    Il serait beaucoup plus simple qu'il n'y ait qu'un seul bouton et qu'il recopie la ligne courant dans la ligne du dessous.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows(ActiveCell.Row).Insert(xlShiftDown, Rows(ActiveCell.Row))
    Perso, dans ma barre d'outil à accès rapide, j'ai un bouton vers la macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Y_Copier_Inserer()
    ' Copie une ligne et l'insère au même endroit
        Selection.Copy
        Selection.Insert Shift:=xlDown
        Application.CutCopyMode = False
    End Sub
    Qui permet de dupliquer une ligne.
    Etonnamant, malgré le xlDown, ça marche aussi pour les colonnes.

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    bonjour,

    Je vous remercie pour votre aide.

    J'espère avoir bien insérer votre code car le résultat n'ai pas celui attendu; mais je n'y connais rien en VBA.
    En effet, le code m'insère une cellule et non une ligne en allant cliquer sur le bouton macro barres d'accès rapide.

    Par ailleurs, l'intérêt pour moi de mettre un bouton sur chaque ligne réside dans le fait qu'il y a plusieurs utilisateurs de ce fichier et que ce fonctionnement sera plus aisé que d'aller cliquer le bouton macro dans la barre d'outil à accès rapide, et là je ne sais pas comment faire.

    Par avance merci pour tout.

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par phebus471321 Voir le message
    J'espère avoir bien insérer votre code car le résultat n'ai pas celui attendu; mais je n'y connais rien en VBA.
    En effet, le code m'insère une cellule et non une ligne en allant cliquer sur le bouton macro barres d'accès rapide.
    Lequel des codes as-tu utilisé ?
    Pour ton application, c'est le premier qui est le plus adapté.

    Le second est plus polyvalent, permettant de copier/insérer ligne, colonne ou simple cellule.
    Si tu veux le faire fonctionner la même façon que le précédent, il faut sélectionner une ligne complète avant de le lancer.

    Par ailleurs, l'intérêt pour moi de mettre un bouton sur chaque ligne réside dans le fait qu'il y a plusieurs utilisateurs de ce fichier et que ce fonctionnement sera plus aisé que d'aller cliquer le bouton macro dans la barre d'outil à accès rapide, et là je ne sais pas comment faire.
    Rien ne t'empêche de mettre un bouton unique dans la feuille plutôt que dans la barre d'outils.

    Je peux juste te garantir que si tu persistes à vouloir mettre un bouton par ligne, ça sera très compliqué à faire.

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    De mon côté, j'opterais pour un menu contextuel (click droit) qui permettrait d'insérer la ligne là où on clique...

  6. #6
    Membre régulier
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mai 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2017
    Messages : 9
    Par défaut
    Re-bonjour,

    j'ai créer un bouton dans ma feuille et utilisé le deuxième code.
    Voir le fichier joint, cela sera plus parlant.

    J'ai modifier votre code car il me recopiait l'ensemble des données de ma ligne.
    Le problème est qu'il m'insère un ligne (qui est bien vierge), mais au dessus de celle qui est sélectionnée.

    Serait-il possible :
    - en sélectionnant une cellule par exemple J7, d'avoir une ligne vierge qui s'insère en dessous.
    Sinon, que modifier dans votre code pour avoir une ligne vierge qui s'insert en dessous, et non au dessus de la sélection.
    Pourriez-vous modifier votre code dans ce sens

    Merci pour votre aide
    phebus471321
    Fichiers attachés Fichiers attachés

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par phebus471321 Voir le message
    J'ai modifier votre code car il me recopiait l'ensemble des données de ma ligne.
    Dans ta demande, tu as écris que tu voulais "insérer une ligne".
    Si tu veux l'insertion d'une fraction de ligne (quelques cellules), il faudra être plus précis quelles colonnes sont concernées par la copie.

    Le problème est qu'il m'insère un ligne (qui est bien vierge), mais au dessus de celle qui est sélectionnée.
    Dans la mesure où l'original et la copie sont strictement identiques, je ne vois pas ce qui poserait problème que ce soit l'une ou l'autre qui soit au dessus ou au dessous.

    Si ça pose un problème, il va falloir expliquer en quoi.

    - en sélectionnant une cellule par exemple J7, d'avoir une ligne vierge qui s'insère en dessous.
    Prendre le premier des deux codes : il récupère le n° de ligne pour faire la copie.

Discussions similaires

  1. [WM17] Création de bouton en ligne de code
    Par Trebor dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 14/12/2012, 07h04
  2. création d'un bouton d'insertion de formule récurente
    Par leliotropp dans le forum Excel
    Réponses: 1
    Dernier message: 10/11/2011, 15h46
  3. Ajout bouton + insertion ligne + infos ligne
    Par Angeldu74 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/09/2008, 10h41
  4. Bouton insertion de ligne et copie
    Par faruedde dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/08/2008, 00h20
  5. Réponses: 3
    Dernier message: 12/12/2003, 13h12

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