Bonjour tout le monde,
Je sais qu'il est possible de passer par les formule VBA Worksheetfunction ...
Mais je réalise des importation qui ne se font que quand la macro est terminée. Donc si j'utilise ce genre de procédé, je ne récupère pas les bonnes infos dans les cellules.
J'ai donc eu l'idée d'utiliser le procédé des expressions pour inscrire la formule en fix mais par VBA.
Je pense que je ne suis pas très clair, donc je vais donner un exemple.
Exemple :
Sous Excel, dans une cellule j'écris : =Calculs!$F$10
Sous VBA, dans le code j'écris : Range("A2") = "=Calculs!$F$10"
Sous excel : =Calculs!$H$3 & " x " & Calculs!$H$2
Sous VBA : Range("A3") = "=Calculs!$H$3 & " & Chr(34) & " x " & Chr(34) & " & Calculs!$H$2"
et la, ca correspond. Si un utilisateur efface la cellule, le code le réécrira et donc récupérera l'information de l'importation une fois la macro terminée.
Problème:
Sous Excel : =SI($B$12="";"";RECHERCHEV(B12;Contreparties!A2:B234;2;FAUX))
Sous VBA : Range("A4") = "=SI($B$12="";"";RECHERCHEV(B12;Contreparties!A2:B234;2;FAUX))"
=> erreur d'exécution '1004', Erreur définie par l'application ou par l'objet
Pourtant, j'utilise le même principe.
Si quelqu'un a une idée, je suis preneur.
Merci
Partager