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

VBA Discussion :

Retour à la ligne conditionnel


Sujet :

VBA

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut Retour à la ligne conditionnel
    Bonjour à tous,

    J'ai plusieurs textbox dont je souhaite extraire la valeur vers une shape dans powerpoint. Mon problème c'est que lors de la concaténation de ces textbox, je ne veux pas de retour à la ligne pour les textbox qui sont non renseigné. Je cherche donc à définir une deuxième variable qui intègre le retour à la ligne si la textbox est renseigné.
    Je n'arrive pas à déclarer, utiliser cette deuxième variable (dans mon code: B)

    Le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 1 to 20
    If ("txtbox" & i) <>"" then 
    B & i = ("txtbox" & i) & VbCrLf
    else B & i = ""
    end if
    Est-ce quelqu'un a une idée ?

    Merci !

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ne serais ce pas plutôt cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 1 to 20
    If ("txtbox" & i) <>"" then 
    B = ("txtbox" & i) & VbCrLf
    end if
    B est bien de type string?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut
    Bonsoir,

    Merci pour votre réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 1 to 20
    If ("txtbox" & i) <>"" then 
    B = ("txtbox" & i) & VbCrLf
    end if
    En fait j'aimerais pouvoir utiliser les B1, B2, B3,...,B20 dans une concaténation.

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    J'aurais bien vu ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        For i = 1 To 20
            If Controls("TextBox" & i).Value <> "" Then
                B = B & Controls("TextBox" & i).Value & vbCrLf
            End If
        Next
    Cordialement.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Par défaut concaténation et retour à la ligne
    Bonjour,

    J'ai tapé le code suivant qui fonctionne bien, les box de mon userform viennent alimenter des shapes dans un slide powerpoint. Mon problème c'est que certaines de ces box sont vides. Lorsque la textbox est vide, j'aimerais ne pas avoir de retour à la ligne (vbCrLf).

    Merci d'avance pour vos idées.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Private Sub ouvrirppt_Click()
     
    S = langue.Value
     
    Dim FichierPpt, pwpt, presppt
    Set pwpt = CreateObject("PowerPoint.Application")
    pwpt.Visible = True
     
    Set presppt = pwpt.Presentations.Open(Filename:=ThisWorkbook.Path & "\" & "presentation.pptx")
    pwpt.Visible = True
     
    With presppt
     
    Dim I As Byte
     
            With .Slides(1).Shapes("Text Box 46").TextFrame.TextRange
                .text = nom & vbCrLf & Box2 & Box3 & vbCrLf & "Tel.: " & Box4 & "Email: " & Box7
                With .Characters(1, Len(nom)).Font
                .Size = 15
                .Bold = True
                End With
            End With
            .Slides(1).Shapes("Text Box 11").TextFrame.TextRange.text = Box17
            With .Slides(1).Shapes("Text Box 6").TextFrame.TextRange
                .text = Box12 & " " & Label5.Caption & vbCrLf & Box13 & vbCrLf & Box14 & vbCrLf & Box15 & vbCrLf & Box16 _
                        & vbCrLf & Box8 & vbCrLf & Box9 & vbCrLf & Box10 & vbCrLf & Box11 _
                        & vbCrLf & Box18 & vbCrLf & Box19 & vbCrLf & Box20 & vbCrLf & Box21
                With .Characters(1, Len(Box12) + Len(Label5.Caption) + 1).Font
                .Size = 10
                .Bold = True
                End With
                With .Characters(Len(Box12) + Len(Label5.Caption) + 1, Len(Box13) + 1).Font
                .Size = 9
                .Bold = False
                End With
                With .Paragraphs(2)
                .ParagraphFormat.Bullet.Type = ppBulletUnnumbered
                End With
                With .Paragraphs(3)
                .ParagraphFormat.Bullet.Type = ppBulletUnnumbered
                End With
                With .Paragraphs(4)
                .ParagraphFormat.Bullet.Type = ppBulletUnnumbered
                End With
            End With
    End With
     
    End Sub

Discussions similaires

  1. Caractère de retour à la ligne.
    Par Pari dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 18/03/2009, 09h59
  2. [FileWriter] retour à la ligne
    Par LoLoSS dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 23/06/2004, 10h52
  3. [JTextArea] Fichier et retour à la ligne
    Par eraim dans le forum Composants
    Réponses: 4
    Dernier message: 23/06/2004, 08h21
  4. [MFC] Retour à la ligne dans un CEdit
    Par Kant dans le forum MFC
    Réponses: 7
    Dernier message: 18/02/2004, 08h58
  5. Conserver les retours à la ligne
    Par arwen dans le forum ASP
    Réponses: 2
    Dernier message: 04/12/2003, 12h50

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