bonjour,
J'appelle ce genre de codage du codage flou : En fait on ne sait jamais de quoi on parle. Quand on cherche l'erreur YAPUKA tout recoder.
Personnellement j'encourage vivement à éviter tous les ActiveQuelquechose (Window, Workbook, Sheet, Cell) au même titre que les Select, Activate et autre Fusion qui conduisent tôt ou tard à des problèmes. Il en va de même pour Next puisque l'index est éminemment instable et peut être modifié involontairement...
Pourquoi et comment déclarer des variables Worksheets ou Workbook ?
Essentiellement quand on travaille simultanément sur plusieurs Feuilles ou Classeurs et quand on veut éviter d'avoir à répéter à tout bout de champs Workbooks("MonBeauSapin").Worksheets("DuboDubonDubonnet") ...
On écrit directement
Set Source = Workbooks("MonBeauSapin") .Worksheets("DuboDubonDubonnet")
Set Cible = ThisWorkbook.Worksheets("Récap")
puis :
Source.Cells.copy Cible.Range("A1")
et tu peux faire ça à partir de n'importe ou sans avoir rien à activer...
A cette occasion on évite de choisir des noms flou ou androgyne
WbS convient très bien pour un Classeur Source
WsS... pour une Feuille Source
WbC... pour le classeur Cible
WsC... pour le feuille Cible
Tout le monde y gagne en compréhension et on n'a pas à se taper une ligne de variables capilotractées à chaque fois...
A+