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 Word Discussion :

Récupération d'informations dans Excel


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Récupération d'informations dans Excel
    Bonjour à tous,

    J'espère que vous allez bien !

    Je me permet de poster ici ma petite question :

    J'aimerais récupérer des informations dans Word depuis un tableau Excel.
    J'ai un bout de code qui me permet : d'ouvrir le document excel, récupérer des informations dans la combobox de mon userform mais maintenant plusieurs problèmes se posent à moi :
    - Je ne parviens pas à inscrire les informations en tant que signets. (Set bmrange.... Bmrange Text = Xslh (Cells (i , 1)) ... )
    - J'aimerais indiquer à Excel que si la première information de la colonne est sélectionnée il faut qu'il me sélectionne automatiquement toutes les informations des autres colonnes sur la même ligne.

    Jusqu'à présent j'ai tenté différentes façons, bidouiller et... je n'arrive à rien.

    Je suis parti sur deux sub différentes (une pour ouvrir et sélectionner le fichier et une autre pour "écrire" les informations) je pense que ce n'est pas la bonne façon.
    Je vous copie colle mon code

    Si quelqu'un pouvait m'éclairer ce serait sympa

    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    Private Sub cmdAddLetter_Click()
     
    Dim xlApp As Object
    Dim xlWb As Object
    Dim xlSh As Object
    Dim dlg As FileDialog
    Dim stFile As String
    Dim i As Integer
    Dim bmks As Bookmarks
    Dim nom As Object
     
     
    Set xlApp = CreateObject("excel.application")
    With ActiveDocument.worksheets
     
    Set xlSh = xlWb.sheets(1)
    End With
    Debug.Print xlSh.usedrange.Rows.Count
     
    For i = 1 To xlSh.usedrange.Rows.Count
    Debug.Print i
     
     
    Set bmRange = ActiveDocument.Bookmarks("signet").Range
    bmRange.Text = nom.Value
    Next i
     
    Set xlSh = Nothing
    Set xlWb = Nothing
    Set xlApp = Nothing
    xlApp.Quit
     
    End Sub
     
    Private Sub CommandButton2_Click()
     
    End Sub
     
    Private Sub UserForm_Initialize()
    On Error Resume Next
    Dim xlApp As Object
    Dim xlWb As Object
    Dim xlSh As Object
    Dim dlg As FileDialog
    Dim stFile As String
    Dim i As Integer
    Dim bmks As Bookmarks
    Dim bmRange As Range
    Dim nom As Object
     
     
    Set dlg = Word.Application.FileDialog(msoFileDialogFilePicker)
    With dlg
        .InitialFileName = "*.xls"
        .Show
    End With
    stFile = dlg.SelectedItems(1)
    Debug.Print stFile
    Set xlApp = CreateObject("excel.application")
    Set xlWb = xlApp.workbooks.Open(stFile)
    Set xlSh = xlWb.sheets(1)
    Debug.Print xlSh.usedrange.Rows.Count
     
    For i = 1 To xlSh.usedrange.Rows.Count
    Debug.Print i
     
        Me.ComboBox1.AddItem (xlSh.Cells(i, 1))
       If Me.ComboBox1.Value = (xlSh.Cells(i, 1)) Then
    nom = xlSh.Cells(i, 2).Value
     
    End If
     
     
     
     
        Debug.Print xlSh.Cells(i, 2)
    Next i
     
     
     
     
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Je vais te donner un peu de lecture.
    Tu y trouveras quelques pistes.
    http://heureuxoli.developpez.com/off...cument-tiroir/
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/04/2008, 13h06
  2. [XSLT]Récupération d'information dans un fichier XML
    Par LoDev dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/01/2008, 09h36
  3. Récupération d'informations dans un état
    Par Psychose dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/06/2006, 16h37
  4. [C# express 2005] Récupération d'information dans une BDD
    Par poussinphp dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/05/2006, 22h25
  5. [VB]Récupération de données dans Excel
    Par jeanangel dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/01/2006, 23h30

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