bonjour
Avec le fichier c'est plus facile de comprendre le problème, même si la solution n'est pas évidente.
Pour que les clients soient traités par ta macro il faut changer de cette façon :
Set maf = Sheets("feuil2")
Set maf2 = Sheets("feuil3")
For client = 2 To maf2.range("a65536").end(xlup).row
maf.Range("A18:F419").ClearContents
montant = maf2.Range("e" & client)
"maf2.range("a65536").end(xlup).row" détermine la dernière ligne de données.
Il faut aussi changer tous les autres range'".2") par Range("." & client)
Ainsi chaque fois que la boucle se déroule tu changes de client et tu prends en compte ses données propres.
Par contre, comme tu peux le voir, sur la feuil2 tu écrases les résultats du précédent puisqu'ils ne sont pas dynamiques.
Donc soit il faut déplacer la zone d'écriture en même temps que la zone de lecture et si tu décales les colonnes,tu ne peux traiter que 256 / 6 clients,
soit il faut traiter à l'unité chaque client en le choisissant dans une liste générée à partir des données.
Selon l'utilisation du classeur qui est désirée il faut faire le choix.
Donc c'est à toi de voir comment continuer la mise en place.