Problème formule SI avec macro sur bouton

Bonjour,

bonne année, meilleurs vœux pour 2017!!!

Avec une macro liée à un bouton, j'ai concaténer plusieurs cellules pour créer une formule avec =SI sur plusieurs cellules, puis j'utilise le copier/coller spécial pour n'avoir que du texte et je souhaite maintenant que cela se calcul automatiquement, en manuel, il faut double cliquer dessus puis valider avec ENTREE.

J'ai essayé d'utiliser sendkeys F2 et ENTER mais cela semble mettre en mémoire les touches et les activer qu'à la fin de la macro!

Voilà une partie du code, j'aimerais que la manip ce fasse à la suite de chaque copie, alors qu'actuellement cela ne calcul qu'une seule cellule puis ajoute à la fin 3 "entrée", si je passe par MVB en faisant F8 pour le pas à pas, il ouvre l'explorateur d'objet.

Private Sub CommandButton141_Click()
y = Cells(1, 1).Height
ligne = 1
While y < CommandButton141.Top
ligne = ligne + 1
y = y + Cells(ligne, 1).Height
Wend

Range("AB" & ligne).Select
    Selection.Copy
    Range("R" & ligne).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
SendKeys "{F2}", True
SendKeys "{ENTER}", True

        Range("AC" & ligne).Select
    Selection.Copy
    Range("S" & ligne).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
SendKeys "{F2}", True
SendKeys "{ENTER}", True

        Range("AD" & ligne).Select
    Selection.Copy
    Range("T" & ligne).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
SendKeys "{F2}", True
SendKeys "{ENTER}", True
End Sub
 

Voilà ce que cela donne sur ma feuille!

Merci de l'aide que vous pourrez m'apporter!

essai

Bonjour,

il faut oublier dans tes codes les selects , activates .... et pire encore les sendKeys..

et agir directement sur l'objet plage... ou cellule..

un truc du genre :

Range("S" & ligne).formulaLocal = Range("AC" & ligne).text 

Ok, je vais tester! C'est vrai que ne connaissant pas le VBA, je fais au plus simple mais pas forcément au plus efficace!

Merci Pierre! Ça marche parfaitement, j'avais vu Formula.local mais je ne savais pas l'utiliser!

Rechercher des sujets similaires à "probleme formule macro bouton"