Bonjour,
Je poste ici après m'être perdu de longue heure sur le forum à la recherche d'informations claires et précises sur ce que je recherche
pour faciliter mon travail ainsi que celui de mes collègues j'ai crée un "super fichier" qui reprend tous les fichiers excels utilisés dans le service pour les agréger en un seul fichier.
Les tableaux étaient remplis à la main avec des formules de calculs qu'ils venaient modifier dans les cellules selon la situation, or via ce nouveau fichier toutes les opérations sont faites dans des Userforms.
![]()
cette image reprend l'userform d'accueil de mon document avec sur la partie droite les différentes actions possibles via le fichier
Dans un premier temps j'aimerais savoir s'il est possible d'implémenter les données d'un userform1 dans un userform2 en restant sur le userform1 (si matricule = 1234 sur userform1 alors matricule = 1234 sur l'userform rappel ISS ). Sur les différents userform j'ai crée un bouton pour rappeler les données de l'accueil mais je ne trouve pas ça pratique.
ci dessous sur l'image, le bouton rappel information va récupérer les données de l'userform accueil qui sont dans des cellules de la page réglage
Pour le reste du sujet, dans mon userform courrier type, je remplis des données que je souhaite voir apparaître dans un document word. le document word est un courrier type à envoyer aux employés ou aux partenaires.
j'ai réussi via l'enregistreur de macro à faire un macro "copier cellule AB1" à tel endroit du fichier, "copier cellule AC28" à tel endroit du fichier etc. Cependant l'enregistreur ne prend pas en compte l'ouverture du fichier word. (code ci dessous)
c'est pas beau n'est ce pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Range("AC28").Select Selection.Copy Range("AB30:AD30").Select Application.CutCopyMode = False Selection.Copy Range("AB31:AD31").Select Application.CutCopyMode = False Selection.Copy Range("AB36:AI36").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = _ "Situation de M. NOEL Thibault, Non titulaire admin/financier C, " Range("AB34:AH34").Select ActiveCell.FormulaR1C1 = "aucune" Range("AB1:AL21").Select Selection.Copy Range("AB1:AL21").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "textetest" Range("AI28").Select
J'ai testé le publipostage mais c'est compliqué avec ce qui est déjà présent dans le document et le courrier suit la création d'autre documents en parallèle.
en gros je souhaiterais que dans mon userform je remplisse les informations à faire apparaître dans mon fichier word (j'ai une page REGLAGE où je stock toutes mes variables pour le fichier) avec le nom de cellule qui suit le champ qui change
En vert la variable contenue dans la cellule en rouge de la page REGLAGE
j'ai bien trouvé quelque chose via
mais je ne peux rien modifier alors que le texte va nécessité une mise en forme (alinéa, ponctuation etc)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub ouvrirdoc() Set wordapp = CreateObject("word.Application") wordapp.Visible = True wordapp.Documents.Open "chemindemondocument.doc" End Sub
Partager