Microsoft 365 Actualiser cellule liée VBA & Impression multiple Excel

Faranor

XLDnaute Nouveau
Bonjour,

Première question : Actualiser une cellule

À l'aide d'une VBA (que j'ai reçu par des super membres de ce forum), j'ai réussi à faire masquer des lignes quand je dépose un x dans une case.

Cependant, je viens de faire une fonction pour ajouter un x automatiquement selon une liste dans un autre onglet (voir fichier joint).

Dans mon fichier, j'ai des clients (Alpha, Beta, etc.) a qui sont associés des produits. Lorsque je choisis un client, les x se placent au bon endroit, mais la VBA ne s'active pas.
Pour l'activer, je dois "double-clic" sur une des cellules de la VBA (exemple O2 ici), et faire "Entrée" pour activer la VBA.

Est-ce qu'il y aurait soit :
- Une façon de faire activer la VBA automatiquement après avoir changé de client?
- Ou ajouter un bouton "actualiser" sur la feuille (en L1 par exemple)?

A partir de là, je vais être capable de voir la fiche finale du client, puis de l'enregistrer en PDF.

Deuxième question : Enregistrement multiple en PDF

Mon fichier de données comporte environ 300 clients. J'aurai souhaité faire une impression style publipostage pour chaque client. Pour info, je voulais le faire via Word, mais le publipostage était compliqué à mettre en place avec un tableau sur Word. Mais si vous avez une solution facile liée avec mon fichier, je suis preneur.

Sinon, savez-vous si, à partir de mon fichier, je pourrais être en mesure d'avoir un fichier PDF pour chaque client de façon automatique? Sinon quelles modifications dois-je faire pour y arriver?

Si ce n'est pas possible, j'aimerai ajouter un bouton "Imprimer en PDF" (ou enregistre en PDF) la page 1 du fichier Excel (tout est déjà en page). Mon objectif est de choisir un client (toutes les informations se mettent à jour selon ma base de données), puis cliquer pour avoir la fiche en PDF.

Merci d'avance pour votre aide !!
 

Pièces jointes

  • Clients_FR VBA - TEST.xlsm
    293.9 KB · Affichages: 11

Wayki

XLDnaute Occasionnel
Salut,
Si ta macro s'active en double click, c'est qu'elle est (je sais pas.si on dit comme ça) dans un module de feuille "private sub before_doubleclick".
Suffit de copier coller ton code dans "private sub selectionchange", elle s'activera à chaque changement de données de ta feuille.
Il est possible d'imprimer en pdf via macro, j ai pas de PC là pour le faire mais si tu fais la manipulation 1 fois avec l'enregistreur de macro, t'aura le code adéquat.
Ensuite tu peux l'associer à un bouton sans problème (bouton insérer onglet développeur).
A +
 

Phil69970

XLDnaute Accro
Bonjour @Faranor , @Wayki, le forum

Je ne peux pas t'aider car tes formules ne sont pas compatibles avec ma version d'excel (2010 64 bits).

1629483619037.png



*Attention à qui est destiné ton fichier et de la version d'excel qu'ils ont.

@Phil69970
 

Faranor

XLDnaute Nouveau
Merci beaucoup @Wayki , la première étape c'est parfait, cela s'actualise à merveille !!

Pour l'impression, c'est une bonne idée, mais cela ne change pas le nom du fichier selon le client malheureusement.

Je vais essayer d'associer ta VBA à un bouton style Combo Box pour voir si je peux avoir une impression directement quand je clique sur le bouton.

Par contre, il me reste à faire en sorte que le fichier final soit renomé automatiquement avec le nom du client.

Si quelqu'un a des conseils pour cette étape, je suis prenneur, merci !!

Note pour @Phil69970 : Je ne suis pas capable de l'enregistrer dans un format autre que Xlsm (afin que les macros fonctionnent). Le forum n'autorise pas les fichers Excel Xltm.
 

Wayki

XLDnaute Occasionnel
Ci-joint une autre approche qui fait ce que tu souhaite.
Tu peux mettre le code macro3 en dessous de l'automatisation du module de la feuille fiche, pour qu'il le fasse automatiquement.
Remplacer les xxx dans la destination par l'ID de l'user.
A +
 

Pièces jointes

  • Clients_FR VBA - TEST.xlsm
    299.6 KB · Affichages: 6

Phil69970

XLDnaute Accro
Re

@Faranor
Je ne suis pas capable de l'enregistrer dans un format autre que Xlsm
Ce n'est pas le format xlsm qui pose problème c'est la version d'excel à savoir que rechercheX n'est accessible qu'avec la version d'Office 365.
Et j'ai :
ma version d'excel (2010 64 bits).

@Phil69970
 

Faranor

XLDnaute Nouveau
@Wayki Whoo merci !! C'est parfait avec le bouton. Je vais pouvoir changer manuellement de client et imprimer en pdf a chaque fois.

@Phil69970 Je comprends le problème. Mais vu que je recherche des informations dans un tableau, RechercheX est vraiment important pour le travail que je dois faire et RechercheV est plus compliqué à programmer.

Prochaine étape (pour l'instant je cherche des idées) :

L'objectif serait que quand je clique sur un bouton, je puisse imprimer tous les clients dans des fichiers distincts, comme pour du publipostage.

C'est a dire que Excel choissise automatiquement le client 1, l'imprime, puis le client 2, l'imprime, etc. Bien entendu avec la mise en page finale.

Je sais que c'est possible en publipostage avec Word, mais dans un publipostage WORD, je ne suis pas capable de lui dire que je veux un tableau et non juste une ligne.

Si vous avezx des idées pour faire cela, je suis preneur. Sinon je vais continuer a chercher et vous en faire part si je trouve !

Merci !
 

Wayki

XLDnaute Occasionnel
Je sais pas si ça prendra en compte, faut essayer, tu fais une boucle sur chaque client dans ta BDD que tu viens copier coller dans ta cellule w1, afin que les x se mettent ou il faut.
Tu met ça avant le code pour enregistrer sous pdf et la fin de boucle juste après enregistrement et ça devrait le faire 👌
 

Discussions similaires