Place bacon in a large deep skillet. Cook over medium-high heat until evenly brown, 10 to 15 minutes. Drain bacon on a paper towel-lined plate; crumble.
Mix broccoli, cauliflower, celery, peas, and cranberries in a large bowl.
Whisk mayonnaise, Parmesan cheese, sugar, onion, vinegar, and salt together in a bowl. Pour dressing over the salad; add nuts and bacon and toss well.