Comment puis-je concaténer des chaînes dans VBA?

Cette question provient d’un commentaire sous Range.Formula = in VBA jette une erreur étrange .

J’ai écrit ce programme par essais et erreurs, j’ai donc naturellement essayé de concaténer des chaînes.

Mais est-il plus correct que + pour concaténer des chaînes?

& est toujours évalué dans un contexte de chaîne, alors que + peut ne pas concaténer si l’un des opérandes n’est pas une chaîne:

 "1" + "2" => "12" "1" + 2 => 3 1 + "2" => 3 "a" + 2 => type mismatch 

Ceci est simplement une source subtile de bogues potentiels et doit donc être évité. & signifie toujours “concaténation de chaîne”, même si ses arguments sont des non-chaînes:

 "1" & "2" => "12" "1" & 2 => "12" 1 & "2" => "12" 1 & 2 => "12" "a" & 2 => "a2" 

Il y a la fonction de concaténation. Par exemple

  = CONCATENAT (E2, "-", F2) 

Mais l’opérateur & concatène toujours les chaînes. + va souvent fonctionner, mais s’il y a un nombre dans l’une des cellules, cela ne fonctionnera pas comme prévu.

La principale différence (très intéressante) pour moi est que:
"ssortingng" & Null -> "ssortingng"
tandis que
"ssortingng" + Null -> Null

Mais c’est probablement plus utile dans les applications de firebase database comme Access.