Sylvain. B
XLDnaute Nouveau
Bonjour à toute la communauté,
J'aimerais faire en sorte qu'une plage de cellules se situant de C9 à S9 de la feuille 1 appelée "CA" soit copiée/collée dans un autre onglet en fonction de la date qui se trouve en A7 de la feuille "CA", dans chaque onglets mensuels les dates se situent en colonne B.
Il faudrait parcourir chacun des onglets du classeur (hors feuille "CA") et copier ces cellules sur la ligne correspondante à cette date toujours de la colonne C à la colonne S.
Pourriez-vous m'aider s'il vous plaît ?
Je vous joins un exemple pour mieux comprendre car il me semble que je ne suis pas très clair
Merci à toutes et tous pour votre aide et/ou vos idées.
J'ai commencé en écrivant le code ci-dessous mais je débute et j'ai du mal à terminer ou même à le faire fonctionner avec mon niveau de connaissance :
Sub CopierCollerDansChaqueOnglet()
'Déclaration des variables
Dim feuilleCA As Worksheet
Dim feuilleMensuel As Worksheet
Dim dateCopier As Date
Dim ligneCopier As Integer
Dim onglet As Worksheet
'Définition de la feuille de travail CA
Set feuilleCA = ThisWorkbook.Sheets("CA")
'Récupération de la date à partir de la cellule A7 de la feuille CA
dateCopier = feuilleCA.Range("A7").Value
'Parcours de chaque feuille de travail
For Each onglet In ThisWorkbook.Worksheets
'Vérification si la feuille est différente de la feuille CA
If Not onglet.Name = feuilleCA.Name Then
'Recherche de la ligne correspondante dans l'onglet courant
'Définition de la plage de recherche (ici colonne A)
Set plageRecherche = onglet.Range("B:B")
'Recherche de la valeur dans la plage de recherche
Set resultat = plageRecherche.Find(What:=recherche, LookIn:=xlValues, _
LookAt:=xlWhole, MatchCase:=False)
'Copie des cellules de C2 à S2 dans la ligne correspondante de l'onglet courant
feuilleCA.Range("C2:S2").Copy Destination:=onglet.Range("C" & ligneCopier)
End If
Next onglet
End Sub
J'aimerais faire en sorte qu'une plage de cellules se situant de C9 à S9 de la feuille 1 appelée "CA" soit copiée/collée dans un autre onglet en fonction de la date qui se trouve en A7 de la feuille "CA", dans chaque onglets mensuels les dates se situent en colonne B.
Il faudrait parcourir chacun des onglets du classeur (hors feuille "CA") et copier ces cellules sur la ligne correspondante à cette date toujours de la colonne C à la colonne S.
Pourriez-vous m'aider s'il vous plaît ?
Je vous joins un exemple pour mieux comprendre car il me semble que je ne suis pas très clair
Merci à toutes et tous pour votre aide et/ou vos idées.
J'ai commencé en écrivant le code ci-dessous mais je débute et j'ai du mal à terminer ou même à le faire fonctionner avec mon niveau de connaissance :
Sub CopierCollerDansChaqueOnglet()
'Déclaration des variables
Dim feuilleCA As Worksheet
Dim feuilleMensuel As Worksheet
Dim dateCopier As Date
Dim ligneCopier As Integer
Dim onglet As Worksheet
'Définition de la feuille de travail CA
Set feuilleCA = ThisWorkbook.Sheets("CA")
'Récupération de la date à partir de la cellule A7 de la feuille CA
dateCopier = feuilleCA.Range("A7").Value
'Parcours de chaque feuille de travail
For Each onglet In ThisWorkbook.Worksheets
'Vérification si la feuille est différente de la feuille CA
If Not onglet.Name = feuilleCA.Name Then
'Recherche de la ligne correspondante dans l'onglet courant
'Définition de la plage de recherche (ici colonne A)
Set plageRecherche = onglet.Range("B:B")
'Recherche de la valeur dans la plage de recherche
Set resultat = plageRecherche.Find(What:=recherche, LookIn:=xlValues, _
LookAt:=xlWhole, MatchCase:=False)
'Copie des cellules de C2 à S2 dans la ligne correspondante de l'onglet courant
feuilleCA.Range("C2:S2").Copy Destination:=onglet.Range("C" & ligneCopier)
End If
Next onglet
End Sub