Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fusion dans Excel à partir d'une liste Excel

3 réponses
Avatar
meb2604
Bonjour,

J'ai un tableau dans Excel que je veux personnaliser =E0 plus de 300
personnes. J'ai donc une liste dans Excel du personnel avec laquelle,
d'habitude je ferais une fusion dans Word. Mais l=E0 mon fichier de base
est un fichier Excel. Est-il possible d'ex=E9cuter une fusion de cette
fa=E7on.

Merci de me r=E9pondre rapidement, je suis au bureau et mon boss veux
tout cela pour avant-hier...

3 réponses

Avatar
LSteph
Bonjour,

Tout à fait!

mets une valeur d'index dans une cellule , que tu peux boucler en VBA

puis pour chaque champ en enregistrement de ta base tu peux mettre une
fonction qui appelle cet index pour renvoyer le champ correspondant à
l'enregistrement.

Exemple simpliste dans feuille "Base"
Nom Prénom
Dupont Zoé
Durand Zaza
...
..(tes 300 enregistrements)

dans la feuille Feuil1 :

en B2 "Nom" En C2 =index(Base!A:A;$a$1)
en B4 "Prénom" En C4 =index(Base!B:B;$a$1)


' code
Sub ImprimTout()
dim i as long
with worksheets("Feuil1")
For i= 2 to worksheets("Base").[A65536].end(xlup).row
.[a1]=i
.printout
next
end with
end sub

'lSteph

a écrit :
Bonjour,

J'ai un tableau dans Excel que je veux personnaliser à plus de 300
personnes. J'ai donc une liste dans Excel du personnel avec laquelle,
d'habitude je ferais une fusion dans Word. Mais là mon fichier de base
est un fichier Excel. Est-il possible d'exécuter une fusion de cette
façon.

Merci de me répondre rapidement, je suis au bureau et mon boss veux
tout cela pour avant-hier...


Avatar
meb2604
On 23 avr, 15:00, LSteph wrote:
Bonjour,

Tout à fait!

mets une valeur d'index dans une cellule , que tu peux boucler en VBA

puis pour chaque champ en enregistrement de ta base tu peux mettre une
fonction qui appelle cet index pour renvoyer le champ correspondant à
l'enregistrement.

Exemple  simpliste dans feuille "Base"
Nom Prénom
Dupont Zoé
Durand Zaza
...
..(tes 300 enregistrements)

dans la feuille Feuil1 :

en B2 "Nom" En C2 =index(Base!A:A;$a$1)
en B4 "Prénom" En C4 =index(Base!B:B;$a$1)

' code
Sub ImprimTout()
dim i as long
with worksheets("Feuil1")
For i= 2 to worksheets("Base").[A65536].end(xlup).row
.[a1]=i
.printout
next
end with
end sub

'lSteph

a écrit :



> Bonjour,

> J'ai un tableau dans Excel que je veux personnaliser à plus de 300
> personnes. J'ai donc une liste dans Excel du personnel avec laquelle,
> d'habitude je ferais une fusion dans Word. Mais là mon fichier de bas e
> est un fichier Excel. Est-il possible d'exécuter une fusion de cette
> façon.

> Merci de me répondre rapidement, je suis au bureau et mon boss veux
> tout cela pour avant-hier...- Masquer le texte des messages précéde nts -

- Afficher le texte des messages précédents -





Je suis plus que débutante en VBA, pouvez-vous "me faire un dessin"
SVP.
Merci infiniment
Avatar
LSteph
http://cjoint.com/?eznSh1iQbP

fais alt+f11 pour aller dans VBE
pour voir le code de la feuille
j'ai mis cela dans feuil1 et utilisé
.printpreview
tu remplace par
.printout
pour avoir une impression au lieu d'un apercu

Bien sûr ce n'est qu'un exemple, tu peux adapter à tes données
regarde dans la feuille, la formule index est simple

--
lSteph

a écrit :
On 23 avr, 15:00, LSteph wrote:
Bonjour,

Tout à fait!

mets une valeur d'index dans une cellule , que tu peux boucler en VBA

puis pour chaque champ en enregistrement de ta base tu peux mettre une
fonction qui appelle cet index pour renvoyer le champ correspondant à
l'enregistrement.

Exemple simpliste dans feuille "Base"
Nom Prénom
Dupont Zoé
Durand Zaza
...
..(tes 300 enregistrements)

dans la feuille Feuil1 :

en B2 "Nom" En C2 =index(Base!A:A;$a$1)
en B4 "Prénom" En C4 =index(Base!B:B;$a$1)

' code
Sub ImprimTout()
dim i as long
with worksheets("Feuil1")
For i= 2 to worksheets("Base").[A65536].end(xlup).row
.[a1]=i
.printout
next
end with
end sub

'lSteph

a écrit :



Bonjour,
J'ai un tableau dans Excel que je veux personnaliser à plus de 300
personnes. J'ai donc une liste dans Excel du personnel avec laquelle,
d'habitude je ferais une fusion dans Word. Mais là mon fichier de base
est un fichier Excel. Est-il possible d'exécuter une fusion de cette
façon.
Merci de me répondre rapidement, je suis au bureau et mon boss veux
tout cela pour avant-hier...- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -





Je suis plus que débutante en VBA, pouvez-vous "me faire un dessin"
SVP.
Merci infiniment