VB et liens fichier externe :'( need HELP Plz

Résolu
Bonjour,

Encore moi, encore le meme programme, encore des problemes LoL.

Je tente d'expliquer au mieu se qui me tracasse:

Dans un fichier excel:
A1 = nom d'un client qui change en fonction d'un choix dans une box deroulante.
A2= condition paiement client
A3= Conditionnement du produit
A4= ...

Chaque client a un dossier sur le serveur
Dans chaque dossier, un document word, qui recapitule les données A1, A2, A3 ...
Le dossier se decompose en plusieurs paragraphes:
- paragraphe1 = donnees a mettre en A2
- paragraphe 2= données a mettre en A3
- ...

Je voudrait savoir comment créer un lien entre excel et le fichier ou se trouve les client.
cad:
choix dans la box = tous les dossier present dans le dossier CLIENTS
//serv/CLIENTS/clientA
que je puisse choisir le nom du fichier via ma box
Ceci est il possible?

De plus une fois le client choisis dans ma box je voudrait que en cellule A2 s'ecrive le premier paragraphe du document correspondant au dossier client choisi et etc avec les differents paragraphe.

J'espere avoir été le plus claire possible.

Merci d'avance pour votre aide.
--

Dans le doute ... Doutes encore!!!
Configuration: Windows XP
Internet Explorer 7.0

10 réponses

  1. Bon je vien deja d'en trouver une partie:

    Je sais dorenavant comment ouvrir le fichier word copier le paragraphe et le coller dans Excel.
    Ca donne quelque chose comme ca:

    Sub DonnéesWordVersExcel()
    
         Dim DocWord As Word.Document
         Dim AppWord As Word.Application
         Set AppWord = New Word.Application
         AppWord.ShowMe
         AppWord.Visible = True
    
         'Ouvre le document Word (Fichier.doc) et effectue une copie des données
         Set DocWord = AppWord.Documents.Open("I:\Clients\...\...\FICHE CLIENT.doc", ReadOnly:=True)
         With AppWord
              .Selection.MoveDown Unit:=wdLine, Count:=20
               , Extend:=wdExtend
              .Selection.Copy
         End With
         
         ' Copie des données dans Excel
         ThisWorkbook.Worksheets("Feuil1").Paste
    
         ' Fermeture de Word
         AppWord.Application.Quit
         Application.CutCopyMode = False
    
    End Sub


    J'ai toujours besoin d'aide pour le debut de ma requete SVP
    0
    1. Alors j'ai ameliorer un petit peu tout:

           Dim DocWord As Word.Document
           Dim AppWord As Word.Application
           Set AppWord = New Word.Application
           AppWord.ShowMe
           AppWord.Visible = True
           Dim Name As String
      
           NumeroLigneClient = ComboBox1.ListIndex
           Name = Sheets("Liste des clients").Cells(NumeroLigneClient + 2, 6)
      
      
           'Ouvre le document Word Cherche le paragraphe "Crotte de Bic" et le copie.
           If Dir(Name, vbNormal) <> "" Then
           Set DocWord = AppWord.Documents.Open(Name, ReadOnly:=True)
                  With AppWord
                   .Selection.Find.Text = "Crotte de Bic"
                   .Selection.MoveDown Unit:=wdLine, Count:=3, Extend:=wdExtend
                   .Selection.Copy
                  End With
                  ' Copie des données dans Excel
                  Cells.Find(What:="Quoi:", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
                     :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
                     False, SearchFormat:=False).Activate
                  ActiveCell.Offset(0, 3).Select.SpeialPaste
          
                  
           Else
           MsgBox ("Pas de fiche Client")
           End If
                  ' Fermeture de Word
                  AppWord.Application.Quit
                  Application.CutCopyMode = False


      Mon probleme est dans la recherche de la partie a copier sous word. La fonction recherche ne veu pas fonctionner comme sous excel...
      De plus, la selection et le copiage bug dans 100% des cas.

      Quelqu'un peu m'aider SVP?
      0
      1. Bon j'ai trouver pour le mode recherche et selection:(il me manquait le execute)

        .Selection.Find.Text = "X"
                     .Selection.Find.Execute


        Mon souci est dans le collage vu qu'il y a plusieurs lignes, le collage ne veux pas s'effectuer et mes lignes sont en erreurs:

        ActiveCell.Offset(0, 3).Value = Selection.Paste


        0
        1. Bonjour,

          La ligne :
          ActiveCell.Offset(0, 3).Value = Selection.Paste

          devrait plutôt ressembler à quelque chose comme :

          ActiveCell.Offset(0, 3).Select
          ActiveSheet.Paste
          ActiveCell.Offset(0,-3).Select
          Application.CutCopyMode = False

          Lupin
          0
          1. Tout d'abors merci d'avoir repondu,

            Ensuite mon pb c'est que le texte provien de Word. Du coup meme avec ton code il est collé comme s'il y avait un fichier word par dessus la cellule.
            Je souhaiterai qu'il se colle dans la cellule.

            Ps: meme le ".Pastespecial" ne marche pas

            0
            1. re :

              il faut ramener Excel en avant plan !

              With AppWord
              .Selection.Find.Text = "Blanc"
              .Selection.MoveDown Unit:=wdLine, Count:=3, Extend:=wdExtend
              .Selection.Copy
              End With

              ' Ici le programme pointe toujours sur le doc wd, alors utilise l'instruction suivante :
              Workbooks("MonFichier.xls").Activate

              Lupin
              0
              1. Voila le code exact :

                     'Ouvre le document Word Cherche le paragraphe "A" et le copie.
                     If Dir(Name, vbNormal) <> "" Then
                     Set DocWord = AppWord.Documents.Open(Name, ReadOnly:=True)
                            With AppWord
                             .Selection.Find.Text = "A"
                             .Selection.Find.Execute
                             .Selection.MoveLeft Unit:=wdCharacter, Count:=1
                             .Selection.MoveDown Unit:=wdLine, Count:=2
                             .Selection.MoveDown Unit:=wdLine, Count:=3, Extend:=wdExtend
                             .Selection.Copy
                            End With
                            ' Copie des données dans Excel
                            Cells.Find(What:="Lettre:", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
                               :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
                               False, SearchFormat:=False).Activate
                              
                               ActiveCell.Offset(0, 3).Select
                               Selection.PasteSpecial Transpose:=True


                Dans le fait, le fichier word s'ouvre bien.
                Il selectionne les bonnes lignes.
                Puis il les copies.
                Ensuite il reviens sous excel
                trouve le mot et se deplace.
                Mais il ne colle pas a l'interieur de la cellule.

                0
                1.  Cells.Find(What:="Lettre:" After:=ActiveCell, LookIn:=xlFormulas, LookAt _
                                 :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
                                 False, SearchFormat:=False).Activate
                                
                                 ActiveCell.Offset(0, 3).Select
                                 ActiveSheet.PasteSpecial Format:="Texte"


                  TROUVER !!!!!! c'etait le format texte qui manquait :s :wink:

                  Merci à toi Lupin d'avoir essayer

                  A++
                  0
                  1. Bonjour,

                    J'ai le même besoin d'importer dans des cellules excel un paragraphe word.
                    Or je n'arrive pas à faire fonctionner le programme qui est présenté au cours de ce fil.

                    débutant total en vba, serait il possible d'avoir le code complet de cette procédure .

                    Merci
                    0