VB et liens fichier externe :'( need HELP Plz
Résolu
Katarinas
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
riskibilou -
riskibilou -
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.
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:
- VB et liens fichier externe :'( need HELP Plz
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
10 réponses
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:
J'ai toujours besoin d'aide pour le debut de ma requete SVP
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
Alors j'ai ameliorer un petit peu tout:
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?
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?
Bon j'ai trouver pour le mode recherche et selection:(il me manquait le 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:
.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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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
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
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
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
Voila le code exact :
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.
'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.
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++