problème envoie d'un char

Mais je ne comprends pas pourquoi ce serait un problème d'alimentation. J'ai déjà réussi à envoyer un message.
Quand je fais ça :

void envoie_sms(int A)
{
  char txtMsg[20];
  if(A==1)
  char txtMsg[]="la valeur égale 1.";
  if(A==2)
{
  char txtMsg[]="la valeur égale 2.";
   Serial.print(txtMsg);
}
  if(A==3)
  char txtMsg[]="la valeur égale 3.";

  char remoteNumber[20]= "06XXXXXXXX";  
  Serial.print("Message      ");
  Serial.print(txtMsg);
  Serial.print("   envoye au ");
  Serial.print(remoteNumber);

  sms.beginSMS(remoteNumber);
  sms.print(txtMsg);
  sms.endSMS(); 
  Serial.print("     Envoye!\n");  
}

Le programme fonction, il ne reste pas sur le setup. Mais il n'envoie pas le message correspondant. C'est la que ça coince.
Pourtant, j'ai vérifié en mettant un Serial.print dans le if(A==2) il m'affiche bien la valeur égale 2. à l'écran mais je ne reçois pas ça par message.