I already ask this question and I have the answer of it now.
Well, using a shield type "OLIMEX Shield lcd 16x2" is related to use the library named "LCD16x2.h", which required using I2C protocol, and this library don't let you change the property of the lcd. In this library you have to initialise your lcd this way :
LCD16x2 lcd;
The solution is to use normal lcd 16x2 that allows you to use the pins configuration. The code for your 4 lcd is this way :
#include <LiquidCrystal.h>
// You only have to change your second number, make 11 or 10 or 9...
LiquidCrystal lcd1(12, 11, 5, 4, 3, 2);
LiquidCrystal lcd2(12, 10, 5, 4, 3, 2);
LiquidCrystal lcd3(12, 9, 5, 4, 3, 2);
LiquidCrystal lcd4(12, 8, 5, 4, 3, 2);
void setup()
{
// Your code
lcd1.begin(16, 2);
lcd2.begin(16, 2);
lcd3.begin(16, 2);
lcd4.begin(16, 2);
lcd1.print("text1");
lcd2.print("text2");
lcd3.print("text3");
lcd4.print("text4");
}
void loop()
{
lcd1.setCursor(0, 1);
lcd2.setCursor(0, 1);
lcd3.setCursor(0, 1);
lcd4.setCursor(0, 1);
lcd1.print("anythingYouWant");
lcd2.print("anythingYouWant");
lcd3.print("anythingYouWant");
lcd4.print("anythingYouWant");
}
Thank you all !!