maryam,
First, I didn't say I didn't want to look at your file, I said there is no need to.
There are only two things that can possibly go wrong to create your problem.
1) The macro resides in a different workbook.
(You say now that it's in the same workbook, so that only leaves the other problem).
2) The buttons are not being created dynamically.
(Looking at what you've just said I see this is what the problem is).
You must create the controls dynamically, not programmatically, there is a difference - I'll try to explain.
First, you need to note that Toolbar buttons are part of the Excel User Interface (UI), so they are essentially different to other types of buttons such as 'Forms' buttons or 'Controls' buttons.
Now, "dynamically" means that whenever someone opens the file on whatever machine they're using, temporary custom buttons are created with a Workbook_Open event and macros in that workbook are assigned to them with the "OnAction" property, the full path to the macros is assigned by Excel (but only a 'short' version of that path will be seen by you) - those buttons then become part of that users UI.
If you don't do it that way, and choose to create permanent controls on your machine instead then, when the file is opened on the other machine the macros can't be found by Excel because the full path to the macros being shown on their machine is the path to the macros on your own machine.
Delete all toolbars you have created and go back to the example shown post #2 and follow XLDs instructions - just change the names of the macros shown in "OnAction" to the names of your own macros.