VB et liens fichier externe :'( need HELP Plz

Résolu/Fermé
Katarinas Messages postés 26 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 8 février 2008 - 7 févr. 2008 à 09:45
 riskibilou - 19 avril 2008 à 16:21
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.
A voir également:

10 réponses

Katarinas Messages postés 26 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 8 février 2008 2
7 févr. 2008 à 13:38
UP...
0
Katarinas Messages postés 26 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 8 février 2008 2
7 févr. 2008 à 14:31
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
Katarinas Messages postés 26 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 8 février 2008 2
8 févr. 2008 à 10:34
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
Katarinas Messages postés 26 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 8 février 2008 2
8 févr. 2008 à 12:26
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
8 févr. 2008 à 14:26
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
Katarinas Messages postés 26 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 8 février 2008 2
8 févr. 2008 à 15:19
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
Utilisateur anonyme
8 févr. 2008 à 16:16
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
Katarinas Messages postés 26 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 8 février 2008 2
8 févr. 2008 à 16:26
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
Katarinas Messages postés 26 Date d'inscription jeudi 13 septembre 2007 Statut Membre Dernière intervention 8 février 2008 2
8 févr. 2008 à 16:47
 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
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