VBA pour copier des cellules à la suite de cellules avec valeurs

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

Bonjour,

La macro se trouve sur lequel de fichier ?

Concernant le copier coller ce n'est pas très utile ;

il suffit d'écrire que tel plage = tel autre plage.

' une seule ligen suffit pour faire la même chose que copier coller.
wsCible.Range("AG24:AG29")=wsSource.Range("C6:C11")

Bonjour

La macro se trouve sur KPI 2024 Essais de labo.xlsm

Dans ce cas puisque ce n'est pas le fichier actif ( celui de la macro) qui contient l'information du numéro semaine.

Avez-vous un moyen de savoir lequel sera utilisé au lancement ?

KPI_Modèle S32.xlsm ? KPI_Modèle S33.xlsm ? KPI_Modèle S34.xlsm ?

Bonjour,

Ce sera celui de la semaine n-1. Exemple pour la semaine prochaine, je vais prendre celui de la S33 car j aurais extrait les données de cette semaine.

Celà peut être bloquant si la macro n'est pas lancée dans la bonne semaine à cause de congés ou autre.

Et si on ajoutait une "Boite de dialogue" en début de macro pour demander d'indiquer le numéro de semaine à copier ?

on pourrait alors en déduire le nom de fichier.

Pour info la semaine 1 la copie commence en quelle colonne ?

Bonjour,

je suis passépar des InputBox pour pouvoir remplir chaque colonne en fonction de la semaine

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 Sxx As String
Dim Col As String
Dim KPI As String
Dim KPIEssai As String


Sxx = InputBox("Saisie du numéro de semaine (Sxx) : ")
Col = InputBox("Saisie du numéro de la colonne : ")


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

Les données de la semaine 1 sont reporter dans des cellules de la colonne "C"

bien cordialement

P.

Bonjour,

IL y a un tas de petites iconess au dessus de ta zone d'éditions :

Merci d'utiliser celui avec </> avant de coller du code VBA

A+

Rechercher des sujets similaires à "vba copier suite valeurs"