PlayerPrefs saving script is not working

I want in my game to have an editor and the following script should save the transform of the placed objects. The instances are spawning properly but not with the right transform (position: 0, 0, 0 rotation 0, 0, 0 scale: 0, 0, 0)

Here my script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SaveObject : MonoBehaviour
{
static float Name;

public GameObject Wall;

private void Start()
{
    Name = PlayerPrefs.GetFloat("ObjectName", Name);
    LoadTransform();
}
public void SaveTransform()
{
    Name = 0;
    foreach (var obj in GameObject.FindGameObjectsWithTag("Building"))
    {
        Name++;
        //position
        PlayerPrefs.SetFloat(Name + "PositionX", transform.position.x);
        PlayerPrefs.SetFloat(Name + "PositionY", transform.position.y);
        PlayerPrefs.SetFloat(Name + "PositionZ", transform.position.z);
        //rotation
        PlayerPrefs.SetFloat(Name + "RotationX", transform.rotation.x);
        PlayerPrefs.SetFloat(Name + "RotationY", transform.rotation.y);
        PlayerPrefs.SetFloat(Name + "RotationZ", transform.rotation.z);
        //scale
        PlayerPrefs.SetFloat(Name + "ScaleX", transform.localScale.x);
        PlayerPrefs.SetFloat(Name + "ScaleY", transform.localScale.y);
        PlayerPrefs.SetFloat(Name + "ScaleZ", transform.localScale.z);
        //save Name
        PlayerPrefs.SetFloat("ObjectName", Name);
    }
}
public void LoadTransform()
{
    while (Name > 0)
    {
        GameObject WallInstance = Instantiate(Wall, new Vector3(PlayerPrefs.GetFloat(Name + "PositionX"), PlayerPrefs.GetFloat(Name + "PositionY"), PlayerPrefs.GetFloat(Name + "PositionZ")),
            new Quaternion(PlayerPrefs.GetFloat(Name + "RotationX"), PlayerPrefs.GetFloat(Name + "RotationY"), PlayerPrefs.GetFloat(Name + "RotationZ"), 0)) as GameObject;
        WallInstance.transform.localScale = new Vector3(PlayerPrefs.GetFloat(Name + "ScaleX"), PlayerPrefs.GetFloat(Name + "ScaleY"), PlayerPrefs.GetFloat(Name + "ScaleZ"));
        Name--;
    }
}

}
thanks for your help

From the code you have provided, you seem to lack PlayerPrefs.Save().

From the reference,

By default Unity writes preferences to disk during OnApplicationQuit().

which means that unless you quit the application, you wont be able to see the change during the same run.

Ive found the error it took the transform of the object with this script and not the transform of the saved object