Trouver une solution au bug dans la macro

Bonjour @Cow18,

A) pour la 2ème ligne du code VBA :

  • la référence de plage de cellules archive_factures!A1:A17 est ok.:slightly_smiling_face: il n’y a pas de quotes inutiles (quotes = apostrophes).
  • pour 'Duplicata_facture'!K3 : c’est seulement quand il y a un espace dans le nom que les quotes sont obligatoires ; donc je propose de supprimer les 2 quotes, ce qui donne : Duplicata_facture!K3 ; ainsi, c’est abrégé de 2 caractères, et surtout la notation est plus « homogène » avec archive_factures!A1:A17.

B) pour la 1ère ligne du code VBA :

  • il y a : sheets("Duplicata_facture").range("K3").value
  • je propose d’utiliser cette notation abrégée : [Duplicata_facture!K3] ; juste pour info, les crochets font implicitement appel à la fonction Evaluate() pour évaluer l’expression (qui est donc ici une référence de cellule).
  • ainsi, la ligne VBA complète est :
    If [Duplicata_facture!K3] = "" Then MsgBox "vide": Exit Sub
    donc là aussi, la notation utilisée est plus « homogène » avec les notations précédentes.:slightly_smiling_face:
1 « J'aime »