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 :

SPLIT avec variable vers word [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Basicnav
    Profil pro
    Inscrit en
    Février 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2008
    Messages : 245
    Par défaut SPLIT avec variable vers word
    Bonjour à tous,

    j'ai un point sur lequel je sèche...

    Volià, j'ai une variable n (type string) provenant d'une listbox. Cette chaine est composée comme ceci :

    enseigne ville

    pour une chaine de magasin. J'envoi aujourd'hui cette info vers un document word.
    Mais la mise en page ne me convient pas sous word et je voudrais utiliser split avec cette chaine pour l'envoyer vers deux signets du .doc (l'un pour enseigne, l'autre pour ville)
    Je n'arrive pas à trouver le code pour ce faire
    Avez vous déjà eu ce m^me genre de problème et comment le résoudre, est-ce que split est la bonne solution ?

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Par défaut
    s'il n'y a pas d'espace dans le nom de l'enseigne, tu peux faire une recherche pour trouver ou est le premier espace et puis prendre tout ce qui est a gacuhe dans une cellule et tout ce qui est a droite dans un autre cellule, et tu auras ton split

  3. #3
    Membre éclairé Avatar de Basicnav
    Profil pro
    Inscrit en
    Février 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2008
    Messages : 245
    Par défaut
    Oui, il n'y a pas d'espace dans le nom enseigne, mais aurais-tu un code ? parceque je cherche sur le net un peu partout, mais rien...

    Voilà, j'en suis ici.
    J'ai mis des msgbox pour contrôler le fonctionnement

    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
     
    Private Sub CommandButton2_Click()
        On Error Resume Next
            Dim WordApp As Object
            Dim WordDoc As Object
            Dim n As Integer
            Dim Tableau() As String
            Dim i As Integer
     
                Tableau = Split(ListBox1.Value, " ")
                For i = 0 To UBound(Tableau)
                Debug.Print Tableau(i)
                Next i
                MsgBox (Tableau(0))
                MsgBox (Tableau(1))
     
     
                Set WordApp = CreateObject("Word.Application")                                           'ouvre session word
                Set WordDoc = WordApp.Documents.Open("G:\Etiquette.doc")                                 'ouvre document Word
                    WordApp.Visible = False                                                              'word masqué pendant l'operation
                    WordDoc.Bookmarks("Texte1").Range.Text = Tableau(0)        'Remplace Signet Texte1 dans wd par tableau(0) listbox
                    WordDox.Bookcmarks("Texte2").Range.Text = Tableau(1)
     
                    WordApp.Visible = True                                                               'Affiche le doc word
     
     
     
    End Sub
    J'ai les problèmes suivants :

    Les msgbox fonctionnent bien si la ville n'est pas un nom composé (ex : Lyon = ok; ex : Lyon Part Dieu = ça marche pas)

    Le remplacement des signets ne fonctionne que sur l'enseigne; la ville n'apparait jamais (qu'elle soit un nom composé ou pas)

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Comme le nom de l'enseigne ne contient pas d'espaces, adopte la solution d'Emmanuelle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Dim NomEnseigne As String
        Dim Ville As String
     
        NomEnseigne = Left(listbox1.Value, InStr(1, listbox1.Value, " ") - 1)
        Ville = Replace(listbox1.Value, NomEnseigne & " ", "")
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre éclairé Avatar de Basicnav
    Profil pro
    Inscrit en
    Février 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2008
    Messages : 245
    Par défaut
    Dans ce cas, j'ai bien mes msgbox qui affichent les bons résultats attendus, mais les signets sous word ne m'affichent que le NomEnseigne

    Je ne comprends pas pourquoi, alos j'ai tenté de mettre le NomEnseigne sur mon signet Texte1, mais encore un echec.

    Le problème viens bien de excel qui n'envoi pas cette valeur...

    Qui saurait m'aider ???
    Merci

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Avec la solution que j'ai proposée, tu n'as plus besoin de tableau, puisque tu as tes variables.

    Peux-tu donner maintenant le code que tu utilises?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. [AC-2003] export d'état avec image vers word
    Par garkhan dans le forum Access
    Réponses: 0
    Dernier message: 04/09/2009, 11h32
  2. Pb variable avec espace vers une popup
    Par rdams dans le forum Langage
    Réponses: 5
    Dernier message: 30/08/2006, 15h20
  3. Variables Access vers Word
    Par Sebastien_INR59 dans le forum Access
    Réponses: 2
    Dernier message: 29/08/2006, 12h04
  4. Envoi d'info d'Access vers Word avec des signets
    Par Laetis dans le forum Access
    Réponses: 1
    Dernier message: 03/05/2006, 19h04
  5. Redirection vers un page avec variable en parametre
    Par gwendy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 18h49

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