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 :

VBA pour copier des cellules d'un onglet vers un autre onglet à la suite de cellules déja utilisées


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Responsable unité technique
    Inscrit en
    Août 2024
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Responsable unité technique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2024
    Messages : 1
    Par défaut VBA pour copier des cellules d'un onglet vers un autre onglet à la suite de cellules déja utilisées
    Bonjour,

    j'ai créé une macro ci dessous pour copier des cellules (C6:C10) d'un onglet "Synthèse" d'une feuille "KPI_Modèle S32" en (AG24:AG29) de l'onglet "production endoQMSM "d'une feuille "KPI 2024 Essais de labo"

    Sub CopierCollerCellules()
    ' Définir les variables pour les classeurs et les feuilles
    Dim wbSource As Workbook
    Dim wsSource As Worksheet
    Dim wbCible As Workbook
    Dim wsCible As Worksheet
    Dim rangeSource As Range
    Dim rangeCible As Range


    ' Ajustez les chemins des fichiers selon vos besoins
    Set wbSource = Workbooks("KPI_Modèle S32.xlsm")
    Set wsSource = wbSource.Sheets("Synthèse")
    Set wbCible = Workbooks("KPI 2024 Essais de labo.xlsm")
    Set wsCible = wbCible.Sheets("production endoQMSM ")

    ' Définir la plage de cellules à copier et la destination
    Set rangeSource = wsSource.Range("C6:C11")
    Set rangeCible = wsCible.Range("AG24:AG29")

    ' Copier les cellules
    rangeSource.Copy
    rangeCible.PasteSpecial Paste:=xlPasteValues

    ' Fermer le presse-papiers
    Application.CutCopyMode = False

    End Sub

    La feuille "KPI_Modèle Sxx" est généré chaque semaine (ou xx est remplacé par le numéro de la semaine). J'aimerais donc que pour la semaine suivante (S33) les données soit copiées en AH24:AH29, en S34 en AI24:AI29,..... et ainsi de suite. Malheureusement, je n'arrive pas à trouver la macro à utiliser. Pouvez vous m'aider

    Merci à vous

    Philippe

  2. #2
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 203
    Par défaut
    Hello,

    pas testé mais ça devrait faire le job
    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
    Sub CopierCollerCellules()
    ' Définir les variables pour les classeurs et les feuilles
    Dim wbSource As Workbook
    Dim wsSource As Worksheet
    Dim wbCible As Workbook
    Dim wsCible As Worksheet
    Dim rangeSource As Range
    Dim rangeCible As Range
     
    Dim Num_Semaine As Byte
    Num_Semaine = Application.IsoWeekNum(Date)
     
    ' Ajustez les chemins des fichiers selon vos besoins
    'Set wbSource = Workbooks("KPI_Modèle S32.xlsm")
    Set wbSource = Workbooks("KPI_Modèle S" & Num_Semaine & ".xlsm")
    Set wsSource = wbSource.Sheets("Synthèse")
    Set wbCible = Workbooks("KPI 2024 Essais de labo.xlsm")
    Set wsCible = wbCible.Sheets("production endoQMSM ")
     
    ' Définir la plage de cellules à copier et la destination
    Set rangeSource = wsSource.Range("C6:C11")
    'Set rangeCible = wsCible.Range("AG24:AG29")
    Set rangeCible = wsCible.Range(Cells(29, Num_Semaine + 1))
     
    ' Copier les cellules
    rangeSource.Copy
    rangeCible.PasteSpecial Paste:=xlPasteValues
     
    ' Fermer le presse-papiers
    Application.CutCopyMode = False
     
    End Sub

Discussions similaires

  1. Script VBA pour copier des données d'un onglet à un autre dans Excel
    Par Socolatine99 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 01/07/2024, 11h00
  2. Réponses: 0
    Dernier message: 09/11/2022, 15h33
  3. [XL-2003] Code VBA ou formule pour copier des cellules avec mise forme
    Par Sergio33600 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/06/2017, 13h56
  4. [VBA-Excel]Copier des cellules vers un autre classeur
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/10/2006, 18h18
  5. [VBA-E]:copier des cellules en gardant les fomules
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/06/2006, 10h53

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