Bonjour le forum,
Voici mon 1er post sur le forum Excel-Pratique
Après x recherche, test ect...je post mon problème
le classeur"A" va servir à alimenter d'autre classeur dans cette exemple "Dupont" en fonction du N°semaine
voir fichier joint pour mieux comprendre, mais voilà le problème le code fait une recherche sur toute les feuilles du classeur pour trouver le N°semaine et l'alimenter par colonne, jusqu'à là pas souci, sauf qu'un N°de semaine peut être à cheval sur deux mois, et code lui s'arrête sur le 1er numéro trouvé.
donc ce que j'essaye de faire, au lieu que le code parcours toutes les feuilles, je voudrais qu'il trouve le N° de semaine uniquement sur une feuille en fonction de la date. Voici le code déjà présent
Option Explicit
Sub Bouton1_Clic()
Dim Desti As Workbook, R As Range, Chemin$, Nom$, sh As Worksheet
Dim Semaine%, c As Range, Cnom As Range, mois$
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path & "\Frais\"
Nom = Cells(ActiveCell.Row, 1).Value
R = Cells(ActiveCell.Row, 4) ' colonne date
mois = datepart("m", R)
Set Cnom = Selection
Semaine = Cnom.Offset(0, 4)
Set Desti = Workbooks.Open(Chemin & Nom & ".xlsx")
For Each sh In Desti.Sheets
Set c = sh.Range("B9:F9").Find(Semaine, LookIn:=xlValues)
If Not c Is Nothing Then
c.Offset(2, 0) = c.Offset(2, 0) + Cnom.Offset(0, 6)
c.Offset(6, 0) = c.Offset(6, 0) + Cnom.Offset(0, 7)
c.Offset(9, 0) = c.Offset(9, 0) + Cnom.Offset(0, 8)
Exit For
End If
Next sh
Application.ScreenUpdating = True
End Sub
Merci de m'avoir lu et en espérant que vous puissiez m'aider
Bonne soirée à tous