Précisions : Mon PC tourne avec Windows 10x64 et le PC portable avec Windows 11x64
Bon, J'ai changé :
procedure TForm1.Button6Click(Sender: TObject);
Var
print_parameters: TPrintParams;
begin
If Not PrinterSetupDialog1.Execute Then Exit; // Optional: printer selection
print_parameters.JobTitle := 'Print test';
print_parameters.Margins.Top := 30;
print_parameters.Margins.Bottom := 30;
print_parameters.Margins.Left := 30;
print_parameters.Margins.Right := 30;
RichMemo1.Print( print_parameters );
End;
Et miracle ! Et sans passer par Word ! PrinterSetupDialog trouve l'imprimante.
Mais ça ne me dit pas ce qui n'allait pas avec la méthode ShellExecute ...