bonjour
premierement j'y connait rien a la programation
j'ai une macro dans excel qui m'imprime des formulaires
elle fonctionne bien mais je voudrai lui ajouter une commande pour q'elle
test une colonne dans la feuille "Data" est au lieu d'imprimer le formulaire
actif une seule fois comme elle le fait deja ,
elle imprimerais ce meme formulaire autant de fois que la valeure le la cellule testee
exemple si a la cellule contien la valeure 3, elle imprimerai la feuille active "Form" 3 fois.
j'ai deja essayer avec IF mais je sais pas pourquoi ca ne change rien ca imprime toujours 1 seul fois
merci d'avance pour votre aide
voici la macro
------------------------------------------------------------------------
Public Const APPNAME As String = "Shoe Riser"
Option Explicit
Sub PrintForms()
Dim StartIndex As Integer
Dim EndIndex As Integer
Dim Msg As String
Dim i As Integer
Sheets("Form" ).Activate
StartIndex = Range("StartIndex" )
EndIndex = Range("EndIndex" )
If StartIndex > EndIndex Then
Msg = "ERROR" & vbCrLf & "The starting row must be less than the ending row!"
MsgBox Msg, vbCritical, APPNAME
End If
For i = StartIndex To EndIndex
Range("RowIndex" ) = i
ActiveSheet.PrintOut
Next i
End Sub
Sub EditData()
Worksheets("Data" ).Activate
Range("A1" ).Select
End Sub
premierement j'y connait rien a la programation
j'ai une macro dans excel qui m'imprime des formulaires
elle fonctionne bien mais je voudrai lui ajouter une commande pour q'elle
test une colonne dans la feuille "Data" est au lieu d'imprimer le formulaire
actif une seule fois comme elle le fait deja ,
elle imprimerais ce meme formulaire autant de fois que la valeure le la cellule testee
exemple si a la cellule contien la valeure 3, elle imprimerai la feuille active "Form" 3 fois.
j'ai deja essayer avec IF mais je sais pas pourquoi ca ne change rien ca imprime toujours 1 seul fois
merci d'avance pour votre aide
voici la macro
------------------------------------------------------------------------
Public Const APPNAME As String = "Shoe Riser"
Option Explicit
Sub PrintForms()
Dim StartIndex As Integer
Dim EndIndex As Integer
Dim Msg As String
Dim i As Integer
Sheets("Form" ).Activate
StartIndex = Range("StartIndex" )
EndIndex = Range("EndIndex" )
If StartIndex > EndIndex Then
Msg = "ERROR" & vbCrLf & "The starting row must be less than the ending row!"
MsgBox Msg, vbCritical, APPNAME
End If
For i = StartIndex To EndIndex
Range("RowIndex" ) = i
ActiveSheet.PrintOut
Next i
End Sub
Sub EditData()
Worksheets("Data" ).Activate
Range("A1" ).Select
End Sub
Pièces jointes
Dernière édition: