Sous Excel : Imprimer étiquette avec n° chang

Jack -  
 Jack -
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

4 réponses

  1. G.David
     
    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
    1. Jack
       
      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
      1. G.David Messages postés 790 Statut Membre 203 > Jack
         
        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
      2. Jack > G.David Messages postés 790 Statut Membre
         
        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
  2. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    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
  3. G.David Messages postés 790 Statut Membre 203
     
    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
  4. G.David Messages postés 790 Statut Membre 203
     
    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
    1. Jack
       
      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