VBA Excel : cases à cocher et cellules

Fermé
Flo78_81 - 7 sept. 2009 à 11:32
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 - 8 sept. 2009 à 22:23
Bonjour,

j'ai un bout de code que voici

Dim WordApp As Object
Dim i As Integer, j As Integer, aBookmark

Set WordApp = CreateObject("Word.Application")

'On ajoute le chemin du répertoire au nom de fichier
chemin = ThisWorkbook.Path & "\" & "FE_*.doc"

'On extrait la première entrée
fichier = Dir(chemin)

j = 2

'Boucle tant que fichier n'est pas nul
Do While fichier <> ""
'On copie la valeur dans la colonne A
ActiveSheet.Range("A" & j).Value = fichier

' Extrait l'entrée suivante
fichier = Dir

j = j + 1
Loop

WordApp.Documents.Open Filename:="monchemin\monfichier.doc"
WordApp.Visible = False

'On va récupérer tous les signets du documents WORD et les mettre dans la colonne "O"
If WordApp.ActiveDocument.Bookmarks.Count >= 1 Then
For Each aBookmark In WordApp.ActiveDocument.Bookmarks
ActiveSheet.Range("O1").Offset(i, 0) = aBookmark.Name
i = i + 1
Next aBookmark
End If


Dans ce bout de code je récupère tous les signets d'un fichier et je les mets dans la colonne "O". Ce code marche super bien. En fait je veux le faire évoluer d'une autre manière. A partir du fichier que je récupère dans une cellule, si je clique dessus (ou si je fais une quelconque action), je voudrais ouvrir une sorte de formulaire avec la liste des signets récupérés mais sous forme de case à cocher. L'utilisateur aura alors la possibilité de tout cocher (grâce à une case à cocher qui sélectionnera toutes les autres) ou de sélectionner uniquement ceux qu'il veut. Ensuite, après validation, je veux que les signets sélectionnés soient copiés dans une colonne précise celle à côté du nom de fichier en insérant des cellules bien sûr, car j'ai un autre tableau en dessous

Pour résumer, j'ai un tableau de 2 colonnes avec 8 lignes au départ. Dans ma première ligne j'ai les titres de mes colonnes. Lorsque je récupère le nom de mon fichier je le mets donc dans la cellule A2 et quand je clique dessus par exemple, j'affiche mon pseudo formulaire avec mes cases à cocher. Je sélectionne ce que je veux et je valide. Les signets sélectionnés iront se mettre à partir de la cellule B2 jusque la cellule Bn (n étant le nombre de signets sélectionnés) en insérant d'autres lignes.
Ensuite je récupère un autre fichier que je mets dans la cellule An+1 (car décalés à cause des n signets) et je réitère le processus.

voilà j'espère avoir été clair
A voir également:

3 réponses

Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
7 sept. 2009 à 23:50
Bonjour,
Etes-vous sur qu'il s'agit d'une application sur Excel car votre bout de code penche du côté de Word ?
0
Bonjour,

oui il s'agit bien d'une application Excel dans laquelle je récupère la liste de mes fichiers WORD (contenu dans le même dossier que mon fichier Excel)
0
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 1 454
8 sept. 2009 à 22:23
Bonjour,
Merci pour l'explication.
Un exemple du classeur et du document word permettrait de mieux comprendre! Eventuellement les 2 dans le même dossier ZIP)
Sur https://www.cjoint.com/
0