Microsoft 365 Envoi plage dans corps d'un mail

  • Initiateur de la discussion Initiateur de la discussion eric72
  • 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 !

eric72

XLDnaute Accro
Bonjour,
Je tente d'envoyer une plage de cellule qui s'affiche dans le corps du mail avec ce code:
Sub envoiPlageCellules_Excel()
ActiveSheet.Range("A1:k10").Select ' la plage de cellules à envoyer
'ActiveWorkbook.EnvelopeVisible = True

With ActiveSheet.MailEnvelope
.Introduction = "essai envoi"
.Item.To = "...........@sfr.fr"
.Item.Subject = Range("s2")
.Item.Send
End With
Range("A1").Select
End Sub

Le résultat est que : ca ferme le fichier excel et ca l'ouvre à nouveau, de plus
ca me bloque outlook qui me dit qu'un autre programme utilise outlook
Je ne comprend pas trop le pourquoi mais je suis sur que vous avez une idée de la raison

Merci beaucoup
Eric
 
Bonjour Patrick,
OK tout simple compris donc Cells(1) première cellule à laquelle on peut certainement appliquer un Offset... je vais de ce pas tester tout ça.
Mille fois merci à vous deux, mais on devrait se revoir rapidement car j'ai un problème de date qui lorsqu'elle passe d'un Userform à une cellule se transforme comme par magie (10/02/2020 devient 02/10/2020 !).
 
Je suis d'accord, c'est tellement écrit en dépit du bon sens (je ne suis pourtant pas un pro VBA mais là ça dépasse tout ce que je pouvais imaginer...) que ça me ferait modifier trop de choses dans les différentes Sub/Fonctions sans compter les contrôles dans les TextBox_Change. Ce sera la prochaine, étape, je pare au plus pressé pour que ça fonctionne et je reverrai tout par la suite.

Je vais essayer de tout forcer dans un format dd/mm/yyyy et voir ce que ça donne.
 
non non et non robert 😉
tu n'injecte pas une date d'un textebox a une cellule par son texte ou le formatage de son texte

tu peux y arriver par plusieurs chemin
cellule=cdate(textbox1.value)
cellule=datevalue(textbox1.value)'permet la traduction des mois en lettre (si bien orthographiés)

et si tu veux avant tu formate la cellule avant !! injection ; meme d'un autre format avec :
cellule.numberformat="dd-mm-yyyy"
ou le format que tu veux

pour info tu le saura for the next

quand la date s'inverse dans la cellule c'est que tu a injecté le texte de la date et non une date
voili voilou

démonstration
avec ce code
VB:
Private Sub CommandButton1_Click()
    For i = 1 To 3
        With Me.Controls("TextBox" & i)
            If .Value <> "" And IsDate(.Value) Then Cells(i, 1) = .Value
        End With
    Next
End Sub
Capture1.JPG


demonstration avec cdate
VB:
Private Sub CommandButton1_Click()
    For i = 1 To 3
        With Me.Controls("TextBox" & i)
            If .Value <> "" And IsDate(.Value) Then Cells(i, 1) = CDate(.Value)
        End With
    Next
End Sub
Capture2.JPG


et que je t'y reprenne plus hein 😀 😀 😀
😉

allez pour la route avec datevalue
VB:
Private Sub CommandButton1_Click()
    For i = 1 To 3
        With Me.Controls("TextBox" & i)
            If .Value <> "" And IsDate(.Value) Then Cells(i, 1) = DateValue(.Value)
        End With
    Next
End Sub
Capture3.JPG
 
Dernière édition:
Bonjour,
Je suis pour la paix des méninges hein, faut pas vous fâcher à cause de moi 😉
Effectivement, avec un CDate ça semble se passer beaucoup mieux, je vais donc modifier en ce sens.
Merci pour ces réponses et désolé d'avoir provoqué le "pourrissement" de ce post avec des questions qui n'ont rien à voir avec le sujet de base. La prochaine fois j'ouvre une nouvelle discussion.
Excellente journée à vous.
Olivier.
 
bonjour Olic et Patrick,
pour les méninges je suis relativement épargné!
il y a plusieurs école,moi je préfère le format international car cdate utilise le paramètres régionaux!

idéalement il faudrait utiliser DateSerial
VB:
année=2020
moi=02
jour=5
DateSerial(année,moi,jour)
 
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

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
817
Réponses
2
Affichages
809
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
447
Retour