8O c'est a dire ?
Version imprimable
8O c'est a dire ?
je me suis servi de ton code pour faire un autre bouton.. dans le meme genre
code du bouton
code de la fonctionCode:
1
2
3
4
5
6
7
8
9
10 butTop = Range("k" & lastline + 7).Top butLeft = Range("k" & lastline + 7).Left butHeight = Range("k" & lastline + 7).Height butWidth = Range("k" & lastline + 7).Width Set Bouton = ActiveSheet.Buttons.Add(Left:=butLeft, Top:=butTop, Width:=butWidth, Height _ :=butHeight * 2) With Bouton .OnAction = "SaveFiles" .Name = "ouvrir page world " End With
meme probleme puisque c'est une fonction avec des parametre..Code:
1
2
3
4
5
6
7
8 Public Function SaveFiles(MonXls As String) FileCopy "C:\Documents and Settings\avaysse\Mes documents\" _ & MonXls & ".xls", "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" _ & MonXls & ".xls" End Function
Ne peux-tu pas lancer une Sub qui lance une fonction avec tes paramètres ?
Juste une idée comme ça mais je remarque que tu n'utilises même pas le paramètre (MonDoc)...
A+
Edit
Je parle du code se trouvant deux posts en arrière
Edit 2
Bidou t'a donné
Workbooks.Open "C:\Documents and Settings\jmarc\Mes documents\" & Application.Caller & ".xls"
Application.Caller donne, si j'ai bien compris, le nom du bouton et du fichier : NomFich = Application.Caller (moins le .xls)
Quand tu click sur ton bouton, tu lances une sub qui s'appelle du nom du fichier, toujours si j'ai bien compris
Tu récupères le nom du bouton qui celui du fichier, et avec ce nom tu lances la fonction vue plus haut.
Je dis des bêtises ?
A+
NB - Je n'ai pas VBA 2003 et ne peux donc pas le tester :evil:
j'ai pas tout compris a se que tu me propose...
dans mon code ou dans ma fonction ?Citation:
NomFich = Application.Caller
merci
suppose que ton bouton qui correspond à toto.xls doit ouvrir toto.doc.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Public Sub OpenWorddocs() Dim DocPath As String Dim appWrd As Word.Application Dim DocWord As Word.Document Set appWrd = New Word.Application DocPath = "C:\Documents and Settings\avaysse\Mes documents\" & Application.Caller & ".doc" If Dir(DocPath) <> "" Then Set DocWord = appWrd.Documents.Open(DocPath, ReadOnly:=True) Else Set docWrd = appWrd.Documents.Add docWrd.SaveAs DocPath End If appWrd.Visible = True End Sub
et ton code remplacerai ma fonction??????? :?: :?:Code:
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 Public Function findWorddocs(MonDoc As String) Dim DocFiles() As String DocFiles = FindFiles("C:\Documents and Settings\avaysse\Mes documents\", "doc") Dim preuve As Boolean preuve = False MsgBox Application.Caller For i = 0 To UBound(DocFiles) - 1 If DocFiles(i) = FicDoc Then preuve = True Next If preuve = True Then ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''Ouvrir un document Word existant à partir d'Excel ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'necesite d'activer la reference Microsoft Word xx.x Object Library Dim appWrd As Word.Application Dim DocWord As Word.Document Dim DocPath Set appWrd = CreateObject("Word.Application") appWrd.Visible = True DocPath = "C:\Documents and Settings\avaysse\Mes documents\" & FicDoc & ".doc" Set DocWord = appWrd.Documents.Open(DocPath, ReadOnly:=True) Else ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''Créer un nouveau document Word à partir d'Excel ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'necesite d'activer la reference Microsoft Word xx.x Object Library Set appWrd = CreateObject("Word.Application") appWrd.Visible = True Set docWrd = appWrd.Documents.Add DocPath = "C:\Documents and Settings\avaysse\Mes documents\" & FicDoc & ".doc" docWrd.SaveAs (DocPath) End If End Function
j'espère :P
voila le code tout bidouillé que te m'a donné plus haut...il aime pasCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 butTop = Range("i" & lastline + 7).Top butLeft = Range("i" & lastline + 7).Left butHeight = Range("i" & lastline + 7).Height butWidth = Range("i" & lastline + 7).Width Set Bouton = ActiveSheet.Buttons.Add(Left:=butLeft, Top:=butTop, Width:=butWidth, Height _ :=butHeight * 2) With Bouton .OnAction = "OpenWorddocs" .Name = Application.Caller End With
c'est surement normal..mais quoi metre a la place..Code:.Name = Application.Caller
EDIT : dans le doute j'ai remplacé parmais sa me fait la meme erreurCode:.Name = XlsFiles(i)
.Name = le nom de ton fichier
avec ou sans l'extention ?
sans
:ave: :ave: :ave: :ave: :ave:
sa marche du tonnere.. parcontre le fichier doc.. s'apelle bouton 1350...le com qui est marqué sur le bouton enfait..
une derniere question.. comment modifier se code..pour qu'il fonctionnne avec exactement le meme bouton..Code:
1
2
3
4
5
6
7
8
9 Public function SaveFiles(MonXls) FileCopy "C:\Documents and Settings\avaysse\Mes documents\" _ & MonXls & ".xls", "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" _ & MonXls & ".xls" Workbooks.Open Filename:="C:\Documents and Settings\avaysse\Mes documents\" _ & MonXls & ".xls" End fonction
pour changer le nom du bouton
pour ton code, tu le mets dans ta fonction de bouton sous formeCode:
1
2
3
4
5 With Bouton .OnAction = "ProcActionBouton" .Name = Left(Test, Len(Test) - 4) .Caption = .Name End With
Code:
1
2
3
4
5 FileCopy "C:\Documents and Settings\avaysse\Mes documents\" _ & Application.Caller & ".xls", "C:\Documents and Settings\avaysse\Mes documents\sauvegarde\" _ & Application.Caller& ".xls" Workbooks.Open Filename:="C:\Documents and Settings\avaysse\Mes documents\" _ & Application.Caller & ".xls"
il me fait une erreur comme quoi il ne trouve pas les fichiers pour la seconde fonction..
et le caption ne marche pas
EDIT : parcontre si je fait
il me met bien le nom du fichier mais avec l'extention..Code:.caption = XlsFiles(i)
mais
me renvoi un bouton vide..Code:.caption = Repertoire
remontre moi ton code parce que je ne sais plus ou tu en es
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 butTop = Range("i" & lastline + 7).Top butLeft = Range("i" & lastline + 7).Left butHeight = Range("i" & lastline + 7).Height butWidth = Range("i" & lastline + 7).Width Set Bouton = ActiveSheet.Buttons.Add(Left:=butLeft, Top:=butTop, Width:=butWidth, Height _ :=butHeight * 2) With Bouton .OnAction = "OpenWorddocs" .Name = Repertoire .Caption = XlsFiles(i) End With
:scarymov:Code:.Caption = .Name
sa ne marche pas... sa me renvoi un boutton sur lequel il est ecrit
Citation:
boutton 1733
montre moi toute la fonction alors (celle qui ajoute les boutons)