Copie de cellule en VBA Excel

Bonjour,

J'ai un tableau pour imprimer des étiquettes pour les coller sur mes pièces, j’extrais les données de autocad et je les mets en formes automatiquement sur Excel avec des formules. je me retrouve donc avec une liste de pièce et la quantité que j'ai besoin pour un lot.

Maintenant je dois imprimer le nombre d'étiquettes par composant, je voudrais copier sur une page plusieurs étiquettes a la suite en ligne par rapport a la quantité , cela peut varier de 1 jusqu'50. Chaque étiquette sur 3 ligne et 1 colonne dans excel.

Je ne connais pas assez VBA pour faire cette macro.

Merci pour votre aide, en faisant les copier coller a la main ' je perds beaucoup de temps.

Bien Cordialement,

Jean-Marc

image image

bonjour,

Une image n'est d'aucune utilité : Fournir un classeur avec sur une feuille une liste autocad et sur l'autre 3 feuille formatée pour tes étiquettes 3 étiquettes modèle.

A+

Bonjour jjmarc57 et

Merci de joindre le fichier avec les données SVP

Edit : oups, salut galopin01

@+

Bonjour,

Merci pour votre réponse rapide,

Je joint le fichier, en fait, il me faut le tableau dans la feuille "pour impression" en automatique.

J'ai besoin par la suite d'imprimer les étiquettes en plusieurs couleur pour différencier mes clients pendant la fabrication.

Merci pour votre aide.

@+

Bonjour,

Voici une solution très proche ce que vous attendez visuellement.

Cependant, le code utilise des plages nommées alors il faudra garder tous les noms (feuilles, tableaux, cellules) ou sinon, en cas de modification, les modifier aussi dans le code.

Cordialement,

35etiquettes.xlsm (67.76 Ko)

Ouah, c'est incroyable la vitesse de votre réponse, vous êtes l'as des as.

Je vais essayé de comprendre votre macro avec vos commentaires (merci).

Je ne voudrais pas abuser mais pouvez vous me dire comment choisir la couleur des numéros, j'ai besoin d'imprimer de différente couleur par camion ?

C'est pour la construction de chalet en bois , les pièces sont des planches, des madriers, des poutres, etc...

De quel moyen puis je encourager votre superbe site " Excel Pratique "?

Merci encore,

Jean-Marc

Rassurez-vous, j'ai commencé hier et j'ai terminé ce matin, la mise en forme m'a pris un temps fou .

Pour la couleur, elle est définie dans le code grâce à la fonction RGB.

Vous pouvez trouver sur internet des convertisseurs de couleur qui renvoient le RGB. Ensuite vous le saisissez dans le code.

Le mieux serait alors de modifier ainsi la macro FormatNumero

Sub FormatNumero(cellule As Range, red as integer, green as integer, blue as integer)

'MACRO DE MISE EN FORME DES CELLULES EN POSITION 3
With cellule
    .Interior.Color = RGB(red, green, blue) 'mauve : RGB(210, 197, 255)
    With .Font
        .Bold = True
        .Size = 22 '<<<<<<<<<<<<< A ADAPTER (taille police)
        .FontStyle = "Calibri" '<<<<<<<<<<<<< A ADAPTER (police)
    End With
    .Borders.Item(xlEdgeBottom).ColorIndex = 1
End With

End Sub

Comme ça, il y a une seule macro et vous l'appelez en fonction de la couleur à obtenir. Dans notre cas, ce sera

Call FormatNumero(cell, 210, 197, 255)

Il faut cependant que le modèle d'étiquetage reste le même (il est paramétré pour 3 lignes par étiquettes avec toujours les mêmes infos LxlxE).

C'était la fonction RGB ... par 3GB

Cordialement,

Mon étiquetage restera toujours le même, je veux en fait copier 6 pages des mêmes étiquettes avec une couleur différente , pour bien différencier les lots de fabrication.

Si vous me compléter cette macro je choisirais les couleurs RGB

a+

Bon j'ai eu du mal, à cause d'une petite erreur, ça plantait. Parce que ça commence à faire macro de compétition (au moins 5 bonnes secondes d'exécution chez moi).

Ce n'est pas encore parfait, il y a des améliorations à apporter notamment au niveau de la mise en page (sauts de page, zone d'impression).

Pour ta compréhension, en début de code, il y a un tableau Couleurs, lui-même contenant 6 tableaux, les 6 codes couleurs. Il faudra le moment venu que tu mettes les RGB pour chacune des couleurs à obtenir. La 1ère correspond au mauve et après, c'était surtout pour tester.

N'hésite pas à me faire savoir ce qui ne va pas.

Voici le fichier :

10etiquettes.xlsm (70.16 Ko)

Ce que tu as fait , c'est excellent je ne vais rien changer et Merci pour ton aide, mais je voudrais 6 pages de chaque couleur, c'est a dire répéter la macro pour les 6 pages, pour j'ai une réponse instantané avec la macro, mon portable et une bête de course.

C'est juste pour imprimer j'imagine ?

Si tu regardes dans le dossier où se trouve ton classeur, tu devrais y trouver 6 pdf, un avec chaque couleur.

Parce que sinon, ça va m'obliger à restructurer pas mal le fichier.

Ah, ok je n'avais pas vu , merci beaucoup

Est ce que ce serai plus simple si les 3 lignes par étiquettes ont la même couleur ?

Comment programmer le format de sortie en PDF pour ne pas avoir des étiquettes sur 2 pages?

Merci

A+

Ça enlèverait quelques lignes mais ce serait pas spécialement plus simple.

J'ai finalement modifié le fichier pour que l'exécution soit plus rapide et comme tu le souhaitais.

Par contre, avec ma version, je n'arrive pas à gérer la mise en page (j'ai un saut de page pile avant l'endroit où je souhaiterais). J'ai laissé quelques lignes en commentaires. Peut-être qu'en les testant, ça marchera chez toi...

Mais, attention, quand il y a beaucoup de colonnes, il faut qu'elles sortent sur plusieurs pages, sinon, les étiquettes seront en version miniature.

Voici le fichier.

Cdlt,

6etiquettes.xlsm (86.62 Ko)

Merci pour ta réponse, pour l'impression , il faut imprimer en "ajuster toutes les lignes a une page".

C'est parfait ainsi, cela va me faire gagner un temps précieux.

Je pense revenir vers toi quelque fois pour la gestion des mes clients et stocks.

Bonne continuation,

Jean-Marc

Bonjour,

J'ai fait une liste déroulante pour afficher les plans pour la fabrication, ils ont une nomenclature et doivent régler les machines suivant les plans.

J'ai mis que 3 pièces pour essai (+de 1000 par la suite), mais je n'arrive pas a faire un userform pour ne pas afficher le logiciel Excel, mes ouvriers doivent simplement écrire la réf ou la choisir dans la liste déroulante sans voir l'interface excel, est il possible de le faire ?

Merci d'avance pour votre réponse

Jean-Marc

4fabrication.xlsm (126.85 Ko)

.

Au fait, le programme sur les étiquettes fonctionne a merveille, j'ai du simplement faire une mise en page pour impression pour avoir le bon format et mettre le code pour .font.Bolt a la suite des autres sinon cela restais en normal.

'MACRO DE MISE EN FORME DES CELLULES EN POSITION 3
With cellule
.Interior.Color = RGB(red, green, blue) 'mauve : RGB(210, 197, 255)
.Font.Size = 22 '<<<<<<<<<<<<< A ADAPTER (taille police)
.Font.FontStyle = "Calibri" '<<<<<<<<<<<<< A ADAPTER (police)
.Font.Bold = True
.Borders.Item(xlEdgeBottom).ColorIndex = 1
End With

End Sub

Sub FormatClassique(cellule As Range)

'MACRO DE MISE EN FORME DES CELLULES NORMALES
With cellule
.Font.Size = 12 '<<<<<<<<<<<<< A ADAPTER (Taille police)
.Font.FontStyle = "Calibri" '<<<<<<<<<<<<< A ADAPTER (police)
.Font.Bold = True
End With

Va savoir pourquoi ???

Encore merci

JMH

Bonjour,

Je pense que c'est dû à la propriété .fontstyle, qui annule probablement certaines propriétés, telles que gras, italique et soulignement, quand elle est changée.

Pour n'afficher que l'userform, je dirais qu'il faut faire quelque chose comme ça :

'CODE A PLACER DANS LE MODULE THISWORKBOOK
Private Sub workbook_open()
Application.visible = False
MyUserform.show 'remplacer MyUserform par le nom de l'userform en question
End sub

Private Sub Workbook_BeforeClose(Cancel as Boolean)
Me.Save
Application.visible = true
End Sub

A l'ouverture du fichier, l'application excel est cachée. Avant la fermeture, le fichier est enregistré et l'application est à nouveau visible.

Ce sera probablement à améliorer en fonction du besoin réel.

Cdlt,

Merci pour ton aide.

La fabrication a changer le type d’étiquette, j'ai commencé a bricoler ta macro et je ne m'en sors pas.

Il y a une colonne(F) ajoutée et le format est dans la feuil1, il nous faut toujours les 6 couleurs avec une ligne et une colonne vide entre les étiquettes.

S'en abuser de ton aide, peux tu voir si c'est possible de refaire cette macro ?

Cordialement.

5etiquettesnew.xlsm (71.24 Ko)

Bonjour Jean-Marc,

Je te renvoie ma version du fichier mise à jour (je n'ai pas pu accéder au code qui était protégé sur ton fichier). Il faudra faire les petits ajustements de formats : "N°", rajouter ou supprimer des espaces, définir la police et la taille désirée.

J'espère que tu te retrouveras.

14etiquettesb.xlsm (109.62 Ko)

A bientôt,

Rechercher des sujets similaires à "copie vba"