besoin d'aide pour un menu,

J'ai trouvé : https://bitbucket.org/fmalpartida/new-liquidcrystal/src

Dans to premier code :

LiquidCrystal_I2C lcd(0x27,20,4);// adressage de votre carte.

Cette librairie possède un constructeur qui correspond à ce passage de paramètres mais les paramètres ne sont pas ceux que tu crois :

   LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t lcd_Addr, uint8_t backlighPin, 
                                     t_backlightPol pol = POSITIVE)
   // plus loin dans ton setup :
  lcd.init();             // inutile
  lcd.backlight();
  lcd.begin(16, 2);  // 16x2 ???

Tu mélanges tout.

Parlons du deuxième code :

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

Les paramètres correspondent à ce constructeur :

LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t lcd_Addr, uint8_t En, uint8_t Rw,
                                     uint8_t Rs, uint8_t d4, uint8_t d5,
                                     uint8_t d6, uint8_t d7, uint8_t backlighPin, 
                                     t_backlightPol pol = POSITIVE )

Ce constructeur permet de préciser quelles pins du convertisseur I2C sont reliées aux pins de l'afficheur.
Es-tu sûr de la correspondance ?

Sincèrement tu ferais mieux d'utilisée cette librairie : Arduino-LiquidCrystal-I2C-library.git

Dans le premier code, supprime l'appel à lcd.init() et les paramètres de lcd.begin()

//  lcd.init();
  lcd.backlight();
  lcd.begin();

La librairie new-liquidcrystal est un monstre qui permet d'adresser beaucoup d'afficheurs.
Inutile dans ton cas.