XL 2016 Macro recherche bdd

  • Initiateur de la discussion Initiateur de la discussion HelloDy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

HelloDy

XLDnaute Junior
Bonjour mes futurs sauveurs ^^

J'aurais besoin pour mon travail de créer une macro allant chercher des infos (référence, désignation, prix) dans une base de données et les recopier dans un autre onglet où des étiquettes sont formalisées.
Seulement niveau macro je ne sais utiliser que l'enregistreur de macro, et là ça marche pas ça je suis perdue 🙁

J'ai joint mon fichier, enfin quelque chose qui y ressemble car dans le vrai il y a plein d'infos confidentielles 😳

J'aimerais qu'en lançant une macro, Excel remplisse les étiquettes en fonction de ce qui est demandé dans le 1er onglet (en prenant en compte le nombre d'étiquettes à créer pour chaque ref), à partir des infos trouvées dans l'onglet "BDD".
Et si une ref demandée dans le 1er onglet n'existe pas dans la BDD, qu'il la colorie la cellule incriminée en rouge par exemple.

Je sais je demande la lune !! Mais si quelqu'un peut m'aider ce serait génial.

Merci d'avance et à bientôt.

Élo
 

Pièces jointes

Re @Staple1600,

Si tu préfères on peut mixer le dico et l'array , non ?

Le fichier V3 utilise déjà un dictionary et un tableau en entrée. Pour la sortie, j'affiche au fur et à mesure sans passer par un tableau. Comme de toute façon, il faut faire du formatage sur les lignes, je ne pense pas que l'absence de tableau (pour la sortie) soit très pénalisant pour la macro.

Si la dame avait eu un Mac, j'aurais évité le dictionary et tout fait par arrray.
 
Bonjour tout le monde,

Je remonte cette discussion pour une question subsidiaire :

J'aimerais, une fois que mes étiquettes sont créées, insérer un saut de page toutes les 18 lignes (entre la 18ème et la 19ème pour être précise, et ainsi de suite entre 36 et 37, etc) jusqu'à la fin du document pour qu'à l'impression ça se passe un peu mieux 🙂

Merci d'avance à qui saura me dépanner !
 
Hello Staple,

Je fais l'impasse pour le moment parce que pour des raisons qui me sont étrangères je dois faire ça sur Excel.
Mais quand j'aurai un peu de temps oui j'essaierai, ça m'intéresse de voir si j'y arrive et ce que ça donne 🙂
(by the way j'ai réussi à résoudre toute seule le problème du centrage des images 😎)
 
Ah non j'y ai pas du tout pensé, c'est tellement bidon comme solution ^^
En fait j'ai fait un enregistrement de macro dans laquelle je sélectionne tous les objets de la feuille et je les déplace 4 fois vers la droite, 5 fois vers le bas. Et hop zone sécurisée, mission accomplie, formation du lézard ! 😀
 
Re,

@HelloDy
Qu'importe le bidon, tant qu'on a l'ivbaresse 😉
Toujours penser à publier ses solutions (d'où qu'elles viennent)
Pourquoi?
Parce que cela pourra peut-être servir à un futur lecteur du fil où sera postée la dite solution 😉

EDITION: Bonsoir mapomme 😉
 
Dernière édition:
Bonsoir @HelloDy 🙂, @Staple1600 😉,
J'aimerais, une fois que mes étiquettes sont créées, insérer un saut de page toutes les 18 lignes (entre la 18ème et la 19ème pour être précise, et ainsi de suite entre 36 et 37, etc) jusqu'à la fin du document pour qu'à l'impression ça se passe un peu mieux

Une piste dans le fichier joint. J'ai repris mon fichier V3 pour l'exemple (sans avoir intégré les diverses fusions, insertions et centrages d'image).

Une constante a été définie en tête de module. Cette constante nommée NbrRangEtiqParPage contient le nombre de rangées d'étiquettes à imprimer par page (pour l'exemple, on a pris 5)

Dans la boucle de construction des étiquettes, on a rajouté une ligne de code pour insérer les sauts de page :
VB:
If (lig Mod 3 * NbrRangEtiqParPage) = 1 Then ActiveSheet.HPageBreaks.Add Before:=.Rows(lig)
On multiplie par 3 car une rangée d'étiquettes a une hauteur de 3 lignes. Donc un saut de page toutes les 15 lignes pour l'exemple considéré.
 

Pièces jointes

Dernière édition:
Coucou mapomme,

Merci beaucoup, ça à l'air de fonctionner super bien ! T'es un chef, je t'aime d'un amour pur et sincère ^^
Je testerai sur mon vrai document mardi.

@Staple1600 oui je comprends bien la raison, si j'avais trouvé une solution intéressante au problème j'aurais probablement pensé à la poser ici, mais bon là franchement c'est du bricolage ce que j'ai fait...
En tout cas si tout fonctionne comme ça en a l'air, je posterai le code intégral dès mardi (ou peut être mercredi parce que le mardi j'ai beaucoup de boulot 🙁)
Et oui promis j'essaierai d'arriver au même résultat en utilisant le publipostage de Word !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour