XL 2016 VBA - Envoyer SMS

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,

J'ai vu quelques sujets à ce propos ici ou là. A ceux qui en ont l'expérience:
- Quel est le meilleur (en terme de prix) fournisseur Internet ?
- Quel est le code adapté à ce fournisseur ?

Merci par avance.
 
Merci par avance pour le travail que tu envisages d'entreprendre.
Je ne suis pas pressé. C'est pour un utilisateur commerçant pour lequel j'ai fait un système de gestion de réception, identification, numérotation code barre et distribution de colis de plusieurs transporteurs.
Le système actuel est basé sur l'envoi de mails via Outlook qui fonctionne mais qu'il veut remplacer par de l'envoi SMS. Le système par mail se bloque parfois me dit-il, nécessitant des reboot, dans sa config complexe de plusieurs PC utilisant Google Drive.
 
Dernière édition:
Bonsoir,
Comme promis une version de test qui fonctionne .
J'ai nettoyé toute adhérence avec le projet initial ( j'en ai chi..... ) 😩

Il faut créer un compte sur Allmysms et demander un essai gratuit pour développement ( ils sont commerciaux pour cela ) . Ils vont fournir une clé qu'il faudra indiquer dans la feuille param , ainsi que le compte .

On peut également ( pas dans le classeur fourni ) récupérer une réponse éventuelle du destinataire .
 

Pièces jointes

Bonjour le Fil,

Tu peux voir aussi ce fil :
Auquel fanch55 a beaucoup participé (une grand merci encore 🙂)
J'utilise SMS factor qui est très bon,
lionel 🙂
 
@fanch55,
Dans ce code, comment se comportent les majuscules STP ?
VB:
Public Function HtmlCars(ByVal Message As String) As String
    Message = Replace(Message, "ë", "ë")
    Message = Replace(Message, "ê", "ê")
    Message = Replace(Message, "é", "é")
    Message = Replace(Message, "è", "è")
    Message = Replace(Message, "ä", "ä")
    Message = Replace(Message, "â", "â")
    Message = Replace(Message, "à", "à")
    Message = Replace(Message, "û", "û")
    Message = Replace(Message, "ù", "ù")
    Message = Replace(Message, "ç", "ç")
    HtmlCars = Message
End Function
 
@fanch55,
Dans ce code, comment se comportent les majuscules STP ?
C'est vrai, cela n'a pas été prévu .
Mais ce sont des caractères "interdits" dans un SMS standard à moins de l'envoyer en Unicode ce qui limite la longueur du Sms à 70 caractères.
Il faudrait enrichir les constantes NonCar et RepCar dans la sub ci-dessous,
la sub HtmlCars ne servant pas à grand chose en ce cas.
( ou mieux, les mettre sur la feuille Param )
VB:
Private Sub Sms_Tbx_Change()
Dim Nbc As Integer
Const DblCar = "\[]{}~^|€"          'caractères comptant double
Const NonCar = "µâêûîôÂÊÛÎÔç¨ëï°"   'caractères interdits
Const RepCar = "uaeuioAEUIOc-eio"   'caractères de substitution
 
    If Sms_Tbx <> vbNullString Then
        Nbc = Len(Sms_Tbx)
        For I = 1 To Len(Sms_Tbx)
            If InStr(DblCar, Mid(Sms_Tbx, I, 1)) Then Nbc = Nbc + 1
        Next
        For I = 1 To Len(NonCar)
            Sms_Tbx = Replace(Sms_Tbx, Mid(NonCar, I, 1), Mid(RepCar, I, 1))
        Next
    End If
    Me.Sms_Lbl = Nbc & " / 160 caractères max" & vbLf & "( sinon compte pour 2 sms )"
    Me.Sms_Lbl.BackColor = IIf(Nbc < 161, 3506772, vbRed)

End Sub
Tu peux vérifier ce qui est autorisé ou interdit sur la console de AllMysms :
1651742110969.png
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
26
Affichages
2 K
  • Question Question
Microsoft 365 Personal.xlsb
Réponses
4
Affichages
399
Retour