J’aimerais créer une macro dans Word qui enregistre automatiquement un fichier avec un nom specifique (année,mois,jour Bon de sortie Numéro de série)
Le problème se pose pour pour le numéro de série saisie dans mon document word j’aimerais le récupérer dans une variable et qu’il utilise cette variable pour le nom d’enregistrement de mon ficher
Voila mon code pour l’instant :
Sub Bon_desinvestisement()
’
’ Bon_de_sortie Macro
’
’
ChangeFileOpenDirectory “C:UsersKyleBTS”
ActiveDocument.SaveAs FileName:= _
Format(Date, “yyyy”) & “,” & Format(Date, “mm”) & “,” & Format(Date, “dd”) & “_Bon de sortie”, FileFormat _
:=wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _
True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
End Sub
Je n’ai jamais fait de macro pour Word auparavant (seulement Excel) mais j’étais curieux alors j’ai regardé vite fait. Tu peux récupérer ton numéro de série avec un Range.
Function getSerialNumber() As String
Dim numParagraphs As Long
Dim currentParagraph As String
'nombre de paragraphes dans le document
numParagraphs = ThisDocument.Paragraphs.Count
'on explore chaque paragraphe à la recherche du numéro de série
For i = 1 To numParagraphs
currentParagraph = ThisDocument.Paragraphs(i).Range.Text
If InStr(currentParagraph, "Numéro de série") Then
'INSERER ICI LE CODE QUI EXTRAIT LE NUMERO DE SERIE DE "currentParagraph"
'exemple:
'getSerialNumber = Right(currentParagraph, 6)
End If
Next i
End Function
Il y a certainement mieux (sinon Word doit être vraiment pourri pour les macros) que de faire une boucle comme ça, mais ceci marche. Tu peux aussi rajouter un “exit” pour arrêter de boucler une fois que la macro a trouvé le numéro de série.
Edité le 10/02/2014 à 13:50
J’ai rentrez mon numero de serie dans une case de tableau je me demander donc si je pouvais rentrez mon numero de serie dans un champs et recuperer directement ce champs dans ma macro