XL 2013 VBA copier range X fois

monakiel

XLDnaute Nouveau
Bonjour,

Je me sers d'un Excel pour créer des étiquettes.
J'affiche en gros une référence, son prix et un incrément correspondant au numéro de l'étiquette.

Seulement je voudrais que mes étiquettes se crées automatiquement (dans l'onglet Étiquette) en fonction d'un nombre entré dans une cellule + que l'incrément change...
Dans mon fichier j'ai "3" dans la cellule B2 ==> le modèle devrait être copié 3 fois et chacun à : référence + prix + l'incrément ("00001", "00002", "00003" respectivement).

Quelqu'un pourrait-il m'aider sur ce problème, pour corriger la copie de la formule afin que les cellules correspondent + changer celle qui fait l'incrément ?

Merci
 

Fichiers joints

monakiel

XLDnaute Nouveau
Bonsoir Monakiel,
Explications dans le fichier
Le bouton imprime de l'user va en aperçu avant impression il faut indiquer le Nbre d'étiquettes
Bruno
Bonjour Bruno,
Je vois le fonctionnement que vous proposez. Seulement pour que cela marche la mise en page doit déjà être existante sur toutes les lignes, ce qui est un peu contraignant.
Dans la même idée, comment puis-je faire pour avoir deux étiquettes par ligne ?
Merci
 

youky(BJ)

XLDnaute Barbatruc
Bonjour,
pour la mise en page c'est la macro qui s'occupe de la zone d'impression
donc pas de soucis, pas de papier usé pour rien.
Pour 2 étiquettes par ligne Faites nous un modèle ou dites si passer en paysage au lieu de portrait est possible.
Bruno
 

monakiel

XLDnaute Nouveau
Bonjour,
pour la mise en page c'est la macro qui s'occupe de la zone d'impression
donc pas de soucis, pas de papier usé pour rien.
Pour 2 étiquettes par ligne Faites nous un modèle ou dites si passer en paysage au lieu de portrait est possible.
Bruno
Bonjour,
Ce que je voulais dire c'est que la mise en forme : le rectangle autour d'une étiquette, n'est pas justement pas copié (voir fichier joint).
Et pour le second point, ce n'est pas l'orientation c'est vraiment d'avoir deux colonnes d'étiquettes sur la même feuille.
Merci
 

Fichiers joints

monakiel

XLDnaute Nouveau
Voici voir si cela conviens double colonnes d'étiquettes
Bruno
Bruno, merci pour ces informations !
Il y a un dernier point que j'aimerais éclairer : si je veux insérer dans chaque étiquette un contrôle activex, comment devrais-je m'y prendre ?
Admettons que le numéro incrémental n'est plus simplement du texte dans une cellule mais du texte dans un contrôle activex "texte" (pour l'exemple). Comment pourrais-je m'y prendre ? (je voudrais générer un qrcode dans chaque étiquette reprenant les informations concaténées à terme)
Merci
 

youky(BJ)

XLDnaute Barbatruc
Re,
Ce contrôle ActiveX est un Texbox ? ou contrôle Image ou autres????
Ce contrôle existe t'il déjà qlq part ou faut t'il le créer???
Si oui comment le retrouver??
Qu'est ce qui change dans ce contrôle à chaque étiquette???
Y a t'il un Gen Code code barre???
Réponse au prochain épisode (après la pub…... hihi!!)
Bruno
 

monakiel

XLDnaute Nouveau
A voir si cela conviens
je peux pas faire mieux sans plus d'explications….
Bruno
Bonjour Bruno,
Pour l'exemple oui c'est un textbox.
Dans le contrôle je change le numéro de l'étiquette.
Comme précédemment, j'afficherais 0001 dans la première, 0002 dans la seconde, et ainsi de suite...

Y-a-t-il une police open qui permet de faire du datamatrix (code 2D) ?
Ensuite je vais me base sur votre exemple : la cellule formatée existera (ou alors l'objet activex) et comme valeur par étiquette je donnerais :
<balise>"article"<balise>"prix"<balise>incrément ==> qui devra s'afficher en 2D
Cela vous aide-t-il a voir l'objectif ?
Merci
 

monakiel

XLDnaute Nouveau
Bonjour,
Je découvre le Datamatrix alors je peux pas faire grand chose sinon voir ces liens…
https://www.excel-downloads.com/threads/code-qr-vba.186915/#post1157487
https://barcode.tec-it.com/fr/QRCode?data=3001
Si Image dispo dans le fichier et numérotée c'est possible
Bruno
Merci pour les liens, je vais me renseigner aussi dessus.
Petite question sur le dernier excel, pourquoi le textbox contient-il toujours la valeur 0001 et ne s'incrémente plus ?
 

youky(BJ)

XLDnaute Barbatruc
J'avais mis le N° de réf sans incrémenter
Bon voici! remplace la ligne par celle-çi
.OLEObjects(k).Object.Text = Format(.[J3] + k - 1, "00000")
Bruno
 

Haut Bas