Sous Excel : Imprimer étiquette avec n° chang

Fermé
Jack - 14 avril 2005 à 18:00
 Jack - 27 avril 2005 à 11:57
Bonjour à tous
J'aimerais, sous excel, imprimer des étiquettes. Comment faire pour que lors de l'impression, le numéro change (passe de 1 à 2 puis 3 puis 4 ...) dans une cellule définie
Merci par avance
Jack
A voir également:

4 réponses

Salut
il te faudra faire une macro
si tu veut regarder le code generé sers toi de l'enregistreur de macro
outil
macros
nouvelle macro

tu coches ce classeur (pour que cette macro soit lié au classeur en cours)
aprés cela tout ce que tu va faire va erte enregistré par le programme . Donc etre bien sur de ce que tu fait (l'enregistreur ayant déjà tendance à mettre une tartine de code inutile)
tu point ta cellule Numéro tu entres 1

puis dans la barre d'outil standard tu lance l'impression direct (c'est le code le plus lèger)
après tu arretes l'enregistrement (soit par la petite barre d'outil qui c'est ouverte sinon
outil
macro
arreter l'enregistrement

maintenant tu modifies la macro
outil
macro
macro
normalement la macro1 a moins que tu lui ai donnée un autre nom
une fois selectionner tu appui sur le bouton modifier (a droite de la fenetre listant les macros

le code généré va apparaitre
tu dois avoir une ligne avec range("XN") et une autre avec printout
ce sont les seules qui vont nous interresser

au début de ta macro
sub macro1()
'
'macro par machin
'le

' <-- l'apostrophe sert à coller des commentaires ce qui est
'derriere n'est pas pris en compte
dim t as Byte 'pour t =255 maxi
for t=1 to 10 ' pour 10 étiquettes
range("f5").value=t ' ceci donnera le numero de l'etiquette
activewindows.selectedsheets.printout copie:=1, collate=true
next

pour récupérer la valeur de t dans une cellule
t=range("Xn").value
si deux variables une de fin et une de début suffit de doubler les récupération ("XN")
Cordialement
G.David






2
Merci David pour le temps que tu as pris a me répondre aussi precis et excuse moi pour le retard de ma réponse car je suis pas mal bousculé. Je vais donc maintenant essayer d'appliquer ton opération qui me parrait assée complexe
0
G.David Messages postés 768 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 1 juin 2020 203 > Jack
19 avril 2005 à 15:57
Salut
il n'y a rien de complexe c'est juste que ne connaissant pas le niveau d'excel ou tu es j'ai détaillé le tout :
la manoeuvre avec l'enregistreur
les manips pour acceder au code
et le code
tu verra qu'excel est assez "simple" ce sont les regles de SA logique qu'il faut comprendre (si en plus tu connait l'anglais tu auras untres gros avantage sur un type comme .. ben moi par exemple)
si malgrès tout tu ne t'en sortais pas tu connait l'adresse CCM?
Cordialement
G.David
0
Jack > G.David Messages postés 768 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 1 juin 2020
20 avril 2005 à 10:35
David, j'ai bien fais ce que tu m'a dis est la manip m'a généré ces lignes de code suivantes :

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 20/04/2005 par Jack
'

'
Range("C6").Select
ActiveCell.FormulaR1C1 = "1"
Range("C6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub



Peux tu me dire maintenant se que je dois faire. A savoir que je veux choisir le nombre d'étiquette à imprimer en utilisant le chemin classique de l'impression ( fichier > imprimer > nombre de copie ...) Je veux juste que dans la cellule choisi, le nombre change de 1 a 2 puis 3 ... a chaque etiquette imprimé!

Merci par avance
0
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
20 avril 2005 à 11:27
Salut,

En supposant que ton numéro détiquette est en C6 (à modifier si ce n'est pas le cas), pour chaque impression ce nombre augmente de 1 :
Sub toto()

Dim t As Integer, nb As Integer

nb = InputBox("Veuillez entrer le nombre d'étiquettes à imprimer", "Nombre d'impressions")

For t = 1 To nb
Range("C6").Value = t
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Next t

End Sub




A+
0
G.David Messages postés 768 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 1 juin 2020 203
20 avril 2005 à 11:55
Salut
donc le numero de l'etiquette en C6
a chaque edition tu remets le compteur à zéro

on va placer le nombr d'etiquette en L3
sub imprime()

dim t as integer
for t=1 to range("L6").value
range("C6").value=t
' ou aussi cells(6,3)=t
activewindows.selectedsheets.printout copie:=1, collate=true 
next t
end sub


tu ne veut pas remettre ton compteur à zéro
on va garder une case memoire la L2

sub imprime()

dim t as integer
for t=range("L2").value to range("L2").value+range("L6").value
range("C6").value=t
' ou aussi cells(6,3)=t
activewindows.selectedsheets.printout copie:=1, collate=true 
next t
range("L2").value=t
end sub


Voilà j'espère avoir répondu à ton attente
la manip avec l'enregistreur de macro sert à voir le code généré ce n'est pas la panacée mais ça trace le chemin c'est pourquoi je te l'ai indiqué
Cordialement
G.David


le respect n'est pas un dû
il se merite
0
G.David Messages postés 768 Date d'inscription vendredi 21 novembre 2003 Statut Membre Dernière intervention 1 juin 2020 203
20 avril 2005 à 11:58
Ha oui j'oubliais si tu employe la deuxieme mèthode à savoir une in,crémentatiion continue de tes numéro d'étiquettes (traçabilité) il sera prudent de changer le
dim t as integer
par un
dim t as double
CORDIALEMENT
G.David
0
Je viens de faire la manip que tu m'as indiqué et ca me parrait fonctionner
Je te remercie pour ton aide, c'est bien sympa de ta part !!!
Bonne continuation
Jack
0