Bonjour,
Je suis un amateur à peine éclairé en VBA.
Je dois récupérer les données d'une comptabilité et les traiter pour plus de lisibilité.
La comptabilité évoluant sans cesse, il me faut repartir à chaque fois sur base de nouvelles données.
Je l'ai fait manuellement, en mettant les formules qu'il faut dans les cellules et a fonctionne très bien, mais la personne qui va l'utiliser au quotidien n'a pas les connaissances nécessaires pour faire les manipulations.
Je me suis dit que j'allais pouvoir faire appel en VBA pour lui éviter des difficultés.
En VBA, j'ai voulu insérer dans les cellules les formules que j'avais utilisé. Ça a très bien fonctionné pour =P2&Q2&T2&AD2.
J'ai utilisé ActiveSheet.Cells(2, 3).Formula = "=P2&Q2&T2&AD2" et pas de souci, par contre, une simple formule telle ActiveSheet.Cells(2, 5).Formula = [=DROITE("00"&MOIS(W2);2)] place dans la cellule #VALEUR.
Je me suis dit que le souci était la langue et j'ai traduit l'instruction en anglais : ActiveSheet.Cells(2, 5).Formula = =RIGHT("00"&MONTH(W2);2)], ça n'a rien changé, sans compter qu'il est un peu allergique aux différents délimitateurs, guillemets, apostrophes, crochets, etc... et, cerise sur le gâteau, dès qu'une formule dépasse les 255 caractères, je me fais recaler.
Donc, je pense que j'ai dépassé les limites de ma compétence que j'aimerais bien un peu étendre.
J'ai joins mon code pour être complet.
Merci d'avance pour votre aide.
Henri
Partager