IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Manque de place dans une ligne vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Points : 45
    Points
    45
    Par défaut Manque de place dans une ligne vba
    Bonjour à tous,

    Le problème qui m'occupe est peut-être facile à résoudre, je ne sais pas.
    Je voulais envoyer un mail en passant par vba avec excel.
    Pour cela, dans la ligne Body du corps du message, j'ai besoin d'écrire beaucoup de chose...

    Or j'ai découvert qu'il y avait une limite de place dans une ligne vba. Peut-on alors passer à la ligne (dans le sens codage du terme, je ne demande pas l'équivalent de VbCrLf sous vba) ?

    Cordialement,
    Novice_vba

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Textbox1 ="Quand Margot dégrafait son corsage, Pour donner la gougoutte à son chat " _
    "Tous les gars, tous les gars du village, Etaient là, la la la la la la " _
    "Etaient là, la la la la la"
     
    msgbox(Textbox1)
    Donne

    Quand Margot dégrafait son corsage, Pour donner la gougoutte à son chat Tous les gars, tous les gars du village, Etaient là, la la la la la la Etaient là, la la la la la

  3. #3
    Membre du Club
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Points : 45
    Points
    45
    Par défaut
    Bonjour EngueEngue,

    Je connaissais l'utilisation de l'underscore en théorie, et malgré l'humour de ton message , ton code ne marche pas sur mon ordi.
    Mes précédentes tentatives pour utiliser " _ " n'ont pas abouti.
    Peut-être est-ce du à ma version d'Excel (2010 ou 2007) ?

    Autre question : L'utilisation de VbCrLf me renvoie parfois juste à la ligne et parfois me fait sauter une ligne (je pensais qu'il fallait doubler son utilisation, comme ceci : & VbCrLf & VbCrLf &).
    Pourquoi ?

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub toto()
    TextBox1 = "Quand Margot dégrafait son corsage, Pour donner la gougoutte à son chat" & _
    "Tous les gars, tous les gars du village, Etaient là, la la la la la la" & _
    "Etaient là, la la la la la"
     
    MsgBox (TextBox1)
    End Sub
    Autant pour moi...

    Ton double retour chariot me laisse perplexe ... Aucune explication à te fournir..

    Cependant si tu mets un retour chariot en début de ligne cela va te sauter une ligne..

  5. #5
    Invité
    Invité(e)
    Par défaut Bonjour test ça
    " & _ permet de lire toute la ligne sans utiliser la barre de défilement mais revient à écrire sur une seule ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    Textbox1 = "Quand Margot dégrafait son corsage, Pour donner la gougoutte à son chat "
    Textbox1 = Textbox1 & "Tous les gars, tous les gars du village, Etaient là, la la la la la la "
    Textbox1 = Textbox1 & "Etaient là, la la la la la"
     
    MsgBox (Textbox1)
    End Sub

  6. #6
    Membre du Club
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    Merci pour vos réponses rdurupt et Enguegue concernant l'underscore. Cela marche à présent

    Autant pour moi Enguegue, le VbCrLf ne me saute pas deux lignes... Il saute la ligne avec un très grand espace... Ne puis-je pas modifier cet espacement ?

    Edit : Cela peut effectivement paraître un peu dérisoire, mais c'est vraiment moche ! Et ça compte quand même quand on envoie un mail (touche aussi bien l'esthétique que la logique du message d'ailleurs) :s

  7. #7
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Cela dépend d'où tu vas afficher ton string...

  8. #8
    Membre du Club
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Points : 45
    Points
    45
    Par défaut
    C'est-à-dire ?

    habituellement, quand j'envoie un mail, ça ne produit pas des renvoies de ligne de cette taille (avec la même adresse mail)

  9. #9
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    tu envois comment le mail avec un objet outlook par CDO avec un bash en les poussant directement depuis ton smtp ?

  10. #10
    Membre du Club
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    Je l'envoie en modifiant le code suivant trouvé sur internet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim ol As Object, monItem As Object
    Set ol = CreateObject("outlook.application")
    Set monItem = ol.CreateItem(olMailItem)
     
    monItem.To = "mail"
    monItem.Subject = "Demandes d'information concernant le " & Cells(2, 56)
     
    monItem.Body = "blabla"
     
    ' Set mondoc = monItem.Attachments
    ' mondoc.Add ActiveDocument.FullName
    monItem.Send
    Set ol = Nothing
    J'avoue que je ne sais pas du tout ce que je fais vraiment

  11. #11
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    L'espacement est le même que si tu écrivais un message sur outlook..

  12. #12
    Membre du Club
    Inscrit en
    Juin 2013
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 81
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    Je me sens un peu nul sur ce fil... Oui, vous avez raison, l'espacement est le même, pardon.

    C'est la taille du texte qui n'est pas la même (et cela se voit vraiment quand on saute une ligne). L'astuce doit être la même que dans une msgbox je pense.

    merci et pardon pour la perte de temps

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/03/2012, 23h58
  2. Erreur dans une ligne de code VBA
    Par chpierro62 dans le forum Général VBA
    Réponses: 1
    Dernier message: 13/01/2012, 22h41
  3. [Autocad] Insertion d'une ligne dans une listbox (VBA)
    Par stick25 dans le forum Général VBA
    Réponses: 8
    Dernier message: 18/03/2010, 10h56
  4. Bug dans une ligne de code VBA
    Par orlacit dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/11/2007, 15h25
  5. manque de place dans un combobox
    Par liviertlse dans le forum Composants VCL
    Réponses: 4
    Dernier message: 24/10/2003, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo