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 :

Ajout ligne pour copier/coller VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur travaux
    Inscrit en
    Juin 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur travaux

    Informations forums :
    Inscription : Juin 2021
    Messages : 22
    Par défaut Ajout ligne pour copier/coller VBA
    Bonjour à tous,

    J'ai toujours le même tableau que je viens copier/coller sur une autre feuille d'un autre classeur excel.
    Voilà le code réalisé pour le copier/coller:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Sub BDD_Quantité()
     
    Dim Chemin As String, ChampDest As Integer, ChampDest1 As Integer
    Dim Nomprojet, Lieu, Début_trx, Fin_trx As String
    Dim Ouvrage, Unité, Q_existant, Q_projet, Potentiel, Q_possible, Q_restant As String
    Dim Chrono_FOD As Double
     
    Dim MaPlage As Range
     
     
    Nomprojet = Sheets("Projet").Range("F11").Value
    Lieu = Sheets("Projet").Range("F12").Value
    Début_trx = Sheets("Projet").Range("F13").Value
    Fin_trx = Sheets("Projet").Range("F14").Value
     
     
        With Workbooks("QUANTITATIF_PROJET.xlsm").Worksheets("Quantités")
            Set MaPlage = Application.Union(.Range("A8:N21"), .Range("A23:N43"), .Range("A46:N50"), .Range("A53:N58"), .Range("A61:N69"), .Range("A71:N74"), Range("A76:N79"), .Range("A82:N88"), .Range("A90:N95"), .Range("A98:N109"), .Range("A111:N208"), .Range("A210:N210"))
        End With
        MaPlage.Copy
        Chemin = "C:\Users\Documents\Economie circulaire\Outil EC\Lien dossier\Etat navette.xlsm"
     
        'Ouvre l'état navette si ce n'est pas le cas
        On Error Resume Next
        Workbooks("Etat navette.xlsm").Sheets("BDD_métré").Activate
        If Err Then Err.Clear: Workbooks.Open Filename:=Chemin
        Workbooks("Etat navette.xlsm").Worksheets("BDD_métré").Activate
        ChampDest = ActiveWorkbook.Sheets("BDD_métré").Range("E" & Rows.Count).End(xlUp).Row + 1
        Range("A" & ChampDest).Select
        ActiveSheet.Paste
     
     
    End Sub
    Cependant, je souhaiterai peremttre l'ajout, c'est à dire que si une personne ajoute une ligne, elle se copie/colle également dans le classeur excel! Comment faire?

    Merci pour votre aide!

  2. #2
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour,
    J'ai ce code qui me permet après un double-clic de pouvoir copier la dernière ligne saisie, peut-être pourrez-vous l'adapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    'Procédure de copie automatique des données saisies
    'Transfert vers la feuille "Général" après un double-clic
    Application.ScreenUpdating = False
    Dim F As Worksheet
    Dim C As Range
     
        Set F = Worksheets("Général")
        Set C = F.Cells(F.Rows.Count, "C").End(xlUp).Offset(1, -2)
                C.EntireColumn
                Target.EntireColumn.Copy C.Offset(-1)
                Target.EntireRow.Cells(1, 1).Offset(1).Activate
        Cancel = True
     
    Application.ScreenUpdating = True
    End Sub

  3. #3
    Membre expérimenté Avatar de lucasgaetan
    Homme Profil pro
    dessinateur BE
    Inscrit en
    Août 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : dessinateur BE
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 175
    Par défaut
    Bonjour Marc_Ingé,
    As tu regardé du coté des plages nommées ?
    Sous l’onglet Formules, dans le groupe Noms définis, cliquez sur Gestionnaire de noms.
    Ici tu peux nommer un group de cellules, dans ton cas:
    A8:N21 --> Plage1
    A23:N43 --> Plage2
    A46:N50 --> Plage3
    etc...
    Ensuite dans ton code, tu remplaces l'adresse des cellules par leurs noms, pour exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set MaPlage = Application.Union(.Range("Plage1"), .Range("Plage2"), .Range("Plage3"), etc...
    Lorsqu'une personne insèrera une ligne dans une de ces plages elle en fera partie.

    Le nom des plages est arbitraire, à toi de mettre un nom cohérant. plus d'info sous :
    https://support.microsoft.com/fr-fr/...4-9f61bd5c64e4

    @+

Discussions similaires

  1. Macro pour Copier/Coller et Supprimer la ligne
    Par OMAREH dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/05/2017, 08h51
  2. Bouton pour copier/coller lignes avec cases à cocher
    Par Bertrandd dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/08/2014, 18h16
  3. [XL-2007] Macro pour Copier coller des colonnes a partir d'une référence sur une ligne
    Par laurasoe dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/07/2014, 11h10
  4. Code VBA pour copier-coller des colonnes d'un fichier Excel à un autre
    Par User Name dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/01/2014, 23h30
  5. [XL-2010] Aide VBA pour copier coller d'un classeur à un autre
    Par jesslab dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/11/2013, 16h52

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