Programmation d'une macro pour un nul

Jean83fun Messages postés 30 Statut Membre -  
m@rina Messages postés 26238 Statut Contributeur -
Bonjour,

Je suis totalement novice en programmation et serais ravi d'obtenir une aide pour la création d'une macro à appeler par un bouton dans la barre des boutons.
Cette macro doit permettre de créer un dossier portant comme nom le texte sélectionné.Si, par exemple, sur un document word, je surligne le mot "sphinx", cliquer sur la macro devra créer un dossier "sphinx", l'enregistrer sous Mes Documents/Animaux/Papillons et y enregistrer, dans ce dossier nouvellement créé, le fichier fiche.doc .

Je possède un modèle préconçu de fiches, que j'ouvre comme nouveau document. Je renseigne le nom du papillon, je surligne, je clique et hop, le dossier est créé, au nom du papillon, et ce dossier contient le document fiche.doc

J'ai bien conscience de demander qu'on fasse le boulot à ma place. En fait, ce n'est que la partie la plus ardue de mon petit projet perso, mais le reste, je me débrouille.
A moins que, pour un débutant total, mais total, comme moi, il existe un tuto pour arriver au résultat, ce dont je doute. Là, c'est tout un langage à apprendre, le VBA je suppose, et je ne pense pas en avoir le temps.

Quelqu'un peut-il m'aider ?

Merci :-)



A voir également:

1 réponse

m@rina Messages postés 26238 Statut Contributeur 11 480
 
Bonsoir,

Si je suis ta logique, tu vas te retrouver avec x documents nommés "fiche.doc" et situés dans divers dossiers. Ce n'est pas une bonne idée de nommer tous tes fichiers du même nom, ça ne peut qu'engendre des problèmes. DOnc, déjà, je te conseille de nommer le fichier par exemple "fiche" suivi du nom du papillon.

Voici donc une macro qui crée le dossier, et enregistre le fichier avec le mot fiche + le nom du papillon :

Sub papillon()
Dim n_dossier As String, n_papillon As String
n_papillon = Selection
If Selection.Type <> wdSelectionNormal Then
MsgBox "La sélection n'est pas correcte, veuillez recommencer"
Exit Sub
End If
If Right(n_papillon, 1) = " " Then
n_papillon = Left(n_papillon, Len(n_papillon) - 1)
End If
n_dossier = "C:\Mes Documents\Animaux\Papillons\" & n_papillon
If Len(Dir(n_dossier, vbDirectory)) = 0 Then MkDir (n_dossier)
ActiveDocument.SaveAs n_dossier & "\" & "fiche_" & n_papillon & ".doc"

End Sub


Vérifie que le chemin C:\Mes Documents\Animaux\Papillons\ est correct.

m@rina



0