Excel VBA définition zone d'impression

Résolu
q=seb -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai des tableaux de hauteur variable qui finissent tous par de lignes remplies de 0

j'ai essayé le code suivant mais je ne sais pas comment sortir de la boucle au bon moment. le Resume next arrête bien la macro au bon endroit mais me donne un message d'erreur.

Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
For i = 1 To 100
j = i - 1
Range("F" & i).Select
If Range("F" & i).Value = 0 Then
ActiveSheet.PageSetup.PrintArea = "$A$1:$P" & j
Resume Next

'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True'
End If
Next i
End Sub

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour

    essaies ce code
    Private Sub CommandButton1_Click()
         On Error GoTo erreur
         With ActiveSheet
              fin = .Columns("F").Find(0, .Range("F1"), xlValues).Row - 1
              .PageSetup.PrintArea = "$A$1:$P" & fin
              .PrintOut
         End With
         Exit Sub
    
    erreur:
         MsgBox "zone d'impression vide ou mal définie", vbCritical
    End Sub
    
    0
  2. q=seb
     
    merci beaucoup
    0
    1. q=seb
       
      après un essai, ça marche pas comme ça (renvoie le message "erreur"), j'essaie de trouver d'où ça vient...
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      peut-être l'histoire de terminer par une série de 0 à mon avis inutile....
      0