I think I'm using lerp properly and all the variables are going up properly but my object won't move

the tags are assigned properly and all the variables are going up properly yet lerp won’t work…

using UnityEngine;
using System.Collections;

public class WhileLoopExample : MonoBehaviour {

    private float journeyLength;
    private float speed;
    public float LerpTimer;
        public GameObject Objectb;
    public float distCovered;
    public float fracJourney;
    void Start()
    { 
        speed = 1f;
    Objectb = GameObject.FindGameObjectWithTag("ObjectB");

    }

	void Update()
    {
        if (Input.GetKeyDown("e"))
        {
 
            StartCoroutine("MoveTowardsCubeB");
        }
    }
private IEnumerator MoveTowardsCubeB()
    {
        journeyLength = Vector3.Distance(transform.position, Objectb.transform.position);
        Debug.Log(journeyLength);
        while (Vector3.Distance(transform.position, Objectb.transform.position) >= 2)
        {
             distCovered = (LerpTimer += Time.deltaTime) * speed;
             fracJourney = distCovered / journeyLength;
            Vector3.Lerp(transform.position, Objectb.transform.position, fracJourney);
            yield return null;
        }
        LerpTimer = 0;
    }
}

You need to assign the output produced by Vector3.Lerp to position of the transform which you want to move. Considering you want to move the object to which this script is connected to, the line:

Vector3.Lerp(transform.position, Objectb.transform.position, fracJourney);

should become:

transform.position = Vector3.Lerp(transform.position, Objectb.transform.position, fracJourney);