Bonjour,
Sous VBA une formule s'introduit sous forme de texte en anglais (VBA étant codé uniquement en anglais), d'où les " ". Je dois les fermer à chaque fois que j’introduis une variable, par exemple LR_I = dernière ligne de votre classeur donc 99 que je concatène/fusionne avec le reste du texte de la formule à l'aide de l'opérateur &.
FormulaArray me permet de rentrer la formule directement en matricielle.
FormulaR1C1 est assez complexe à maîtriser pour ma part, c'est une formule qui fait référence aux numéros de ligne et de colonne par rapport à la cellule dans laquelle on rentre la formule. Par exemple si nous souhaitons renvoyer A3 dans la cellule A1 alors la formule serait qu'on renvoi la 2ème ligne à partir de la cellule active 3 = 1+2 mais pas de décalage de colonne donc :
A1.FormulaR1C1 = "=R[2]C"
A1.Formula = "=A3"
Vous voyez à travers cet exemple qu'il est plus simple d'utiliser .Formula. Cependant dans certains cas, FormulaR1C1 peut s'avérer utile.
Copier/Coller les cellules ne permet pas de modifier son format, pour supprimer les 0 il est nécessaire de renseigner au moins une fois sur votre colonne de destination le format suivant "j/m/aa h:mm;;;@". C'est aussi possible de le faire par macro, mais comme c'est une variable qui ne va jamais changer, je ne vois pas trop l'intérêt sauf si vous travaillez sur un nouveau fichier à chaque fois. Ensuite le collage en valeur permet de ne pas écraser le format mis en place.
Cdlt,