Impression étiquette numérotée

Bonsoir a tous,

Je viens chercher de l'aide pour l'écriture d'un code vba. A l'enregistrement d'un nouvel article je souhaite que la cellule A1 de la feuille2 soit = Textbox1, la cellule A4 = TextBox4 et en B7 il faudrait qu'il soit inscrit 1/ TextBox5.

Je soit souhaite imprimer automatiquement cette étiquette (Feuil2) autant de fois que le nombre inscrit en TextBox5 en changeant sur chaque étiquette la cellule B7 qui devra inscrire ex: 1/10, 2/10, 2/10, 4/10 ......

J'ai appris plein de chose sur VBA au travers de ce forum et j'en apprends encore. J'ai pu développer un gros programme en VBA avec votre aide mais la je suis bloqué sur le tout début de mon code sur une partie qui me sert régulièrement dans mes programmes et je ne sais pas pourquoi ça ne veux pas marcher cette fois ci !!!

Private Sub CommandButton1_Click()

Dim l As Long
l = Sheets("Feuil1").Range("A65536").End(x1up).Row + 1

Sheets("feuil1").Activate

Range("A" & l).Value = TextBox1
Range("B" & l).Value = TextBox2
Range("C" & l).Value = TextBox3
Range("D" & l).Value = TextBox4
Range("E" & l).Value = TextBox5

End Sub

Merci par avance de votre aide.

Bonsoir Steph,

Pour imprimer l'étiquette autant de fois que le nombre inscrit en Txtbox5, utilises cette macro:

For x = 1 to TextBox5.Value

ActiveSheet.Printout

Range("B7").value = x/10

Next x

Cordialement,

Khalid.

Hello khalid,

Merci pour ton aide.

J'ai affiné et adapté ton bout de code a mon programme et cela fonctionne très bien. Je t'en remercie.

Pourrez-tu me dire pourquoi j'ai une erreur "Variable non définie" sur (x1Up) ligne 3 ?

Private Sub CommandButton1_Click()

Dim l As Long
l = Sheets("Feuil1").Range("A65536").End(x1up).Row + 1 'Erreur variable non définie

Range("A" & l).Value = TextBox1
Range("B" & l).Value = TextBox2
Range("C" & l).Value = TextBox3
Range("D" & l).Value = TextBox4
Range("E" & l).Value = TextBox5

Sheets("feuil2").Activate

For x = 1 To TextBox5.Value
ActiveSheet.PrintPreview
Range("B7").Value = x & " " & "/" & " " & TextBox5.Value
Next x

Unload Me

End Sub

Cdt

Bonsoir,

Je pense que c'est mieux de changer la valeur de ta variable "L" à ca :

 l = Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).Row 

Cela permet de retourner la première ligne non utilisée.

Cdlt,

Khalid.

Autres remarques :

-la variable "L" contient les numéros des lignes, donc vaut mieux la déclarer en tant que Integer.

-Mettre le bloc d'inscription des données de la feuille 1 dans un bloc With.

Private Sub CommandButton1_Click()

Dim l As Integer

Sheets("Feuil1").Activate

With ActiveSheet

l = Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).Row
Range("A" & l).Value = TextBox1
Range("B" & l).Value = TextBox2
Range("C" & l).Value = TextBox3
Range("D" & l).Value = TextBox4
Range("E" & l).Value = TextBox5

End with
Sheets("Feuil2").Activate

For x = 1 To TextBox5.Value
ActiveSheet.PrintPreview
Range("B7").Value = x & " " & "/" & " " & TextBox5.Value
Next x

Unload Me

End Sub

Cdlt,

Khalid

Je ne connaissais pas cette syntaxe la. Cela fonctionne avec un petit hic, cela me laisse une ligne vide de temps en temps !

Bizarre ! Je travaille avec cette syntaxe souvent et je n'ai jamais eu de problème.

Essaie ca :

Sheets("Feuil1").Activate
With ActiveSheet
l = Range("A3").End(xlDown).Row + 1

Range("A" & l).Value = TextBox1
Range("B" & l).Value = TextBox2
Range("C" & l).Value = TextBox3
Range("D" & l).Value = TextBox4
Range("E" & l).Value = TextBox5
End With

Après d'autre test, ta première proposition fonctionne. Donc je vais la garder et je vais aussi garder l'autre sous le coude au cas ou.

Je te remercie et je te souhaite une bonne soirée.

A+

Avec plaisir, bonne soirée à toi aussi.

Bonjour,

Je tiens a vous remercier encore une fois pour votre aide qui m'a était précieuse. J'ai faire ce que je souhaitais encore une fois.

Je vous souhaite a tous et a toutes une agréable journée.

Résolu

Rechercher des sujets similaires à "impression etiquette numerotee"