Pour utiliser les services de 123-SMS.net, saisissez votre email et votre numéro de téléphone. Vous recevrez aussitôt votre mot de passe personnel.
Merci de saisir votre adresse email nous vous renverons votre mot de passe personnel.
Mis à jour le 22 juillet 2026
Votre fichier clients est déjà dans Excel : cette macro VBA ajoute une fonction =EnvoyerSMS() utilisable en cellule et un envoi en série colonne par colonne, sans aucun logiciel à installer. Excel 2013 ou plus récent sous Windows.
Attribute VB_Name = "Module123SMS"
' =====================================================================
' 123-SMS.net - Envoi de SMS depuis Excel (VBA)
' Copyright (C) 123-Sms.net - licence MIT
' Necessite Excel 2013+ sous Windows (fonction ENCODEURL et MSXML2).
'
' 1. Renseignez SMS_EMAIL et SMS_CLEAPI ci-dessous
' (cle API : espace client https://www.123-sms.net > rubrique API).
' 2. =EnvoyerSMS("33601020304";"Bonjour !") depuis une cellule,
' ou lancez la macro EnvoyerSMSListe (colonne A = numeros,
' colonne B = messages, codes retour ecrits en colonne C).
'
' IMPORTANT : formatez la colonne des numeros en TEXTE (sinon Excel
' supprime le 0 initial). Formats acceptes : 0601020304 ou 33601020304.
' =====================================================================
Const SMS_EMAIL As String = "votre-email@exemple.fr"
Const SMS_CLEAPI As String = "CLEAPI"
Const SMS_URL As String = "https://www.123-sms.net/http.php"
' Envoie un SMS et renvoie le code retour de l'API (80 = envoye).
Public Function EnvoyerSMS(numero As String, message As String, _
Optional senderID As String = "") As String
Dim http As Object, corps As String
On Error GoTo Erreur
Set http = CreateObject("MSXML2.XMLHTTP.6.0")
corps = "email=" & EncodeParam(SMS_EMAIL) & _
"&pass=" & EncodeParam(SMS_CLEAPI) & _
"&numero=" & EncodeParam(numero) & _
"&message=" & EncodeParam(message)
If senderID <> "" Then corps = corps & "&sender=" & EncodeParam(senderID)
' POST en HTTPS : la cle API ne transite jamais en clair
http.Open "POST", SMS_URL, False
http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
http.send corps
EnvoyerSMS = Trim$(http.responseText)
Exit Function
Erreur:
EnvoyerSMS = "ERREUR : " & Err.Description
End Function
' Encodage URL (accents, espaces, caracteres speciaux).
Private Function EncodeParam(texte As String) As String
EncodeParam = Application.WorksheetFunction.EncodeURL(texte)
End Function
' Envoi en serie : col. A = numeros, col. B = messages (des la ligne 2).
' Le code retour est ecrit en colonne C (80 = envoye).
Public Sub EnvoyerSMSListe()
Dim ligne As Long, code As String, envoyes As Long
ligne = 2
Do While Trim$(CStr(Cells(ligne, 1).Value)) <> ""
code = EnvoyerSMS(CStr(Cells(ligne, 1).Value), CStr(Cells(ligne, 2).Value))
Cells(ligne, 3).Value = code
If code = "80" Or code = "81" Then envoyes = envoyes + 1
ligne = ligne + 1
Loop
MsgBox envoyes & " SMS envoye(s). Codes retour en colonne C" & vbCrLf & _
"(80 = envoye, 82 = identifiants invalides, 83 = credit insuffisant)", _
vbInformation, "123-SMS.net"
End SubExcel 2013 et plus récent sous Windows (la macro utilise la fonction ENCODEURL et le composant MSXML2, absents d'Excel pour Mac). Sur Mac ou sans macro, utilisez le publipostage SMS par dépôt de fichier.
Excel transforme 0601020304 en 601020304 quand la colonne est numérique. Formatez la colonne des numéros en Texte (clic droit › Format de cellule) avant la saisie, ou saisissez les numéros au format international 33601020304.
Oui : construisez le message en colonne B avec une formule, par exemple ="Bonjour "&D2&", votre commande est prête.", puis lancez EnvoyerSMSListe. Chaque ligne reçoit son SMS personnalisé.
La clé est stockée dans le module VBA : ne diffusez pas le classeur en dehors de votre organisation. En cas de doute, régénérez la clé en un clic dans l'espace client (rubrique API) — l'ancienne est aussitôt révoquée.
Oui, le publipostage SMS depuis Excel par simple dépôt de fichier : vous déposez votre fichier de contacts dans l'espace client, sans une ligne de code.