Macro pour impression conditionnée

Bonjour,
J'ai créé un graphique pour des concours de pétanque, Je voudrai pouvoir lancer automatiquement un aperçu d'impression de plusieurs cellules excel, quand les conditions sont remplies.
ex : si la cellule A5>0 alors aperçu d'impression de la cellule B5, idem pour la cellule A6, etc
Merci pour votre aide
Patrice

1 réponse

  1. Contributeur
    bonjour, "lancer automatiquement": via un bouton, dès que les données changent, ?
    A5 et A6 contiennent-elles des formules?
    suggestion:
    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.count = 1 Then
        If Target.Column = 1 And Target.Row >= 5 And IsNumeric(Target) And Target > 0 Then
            Target.Offset(0, 1).PrintPreview
        End If
    End If
    End Sub
    0
    1. Merci,
      en fait je souhaiterai ne pas avoir à cliquer, dés que la cellule est remplie je voudrais que l'aperçu d'impression se lance seul.
      J'ai à imprimer 134 cellules qui vont se remplir au fur et mesure de l'avancée du concours, et il faut qu'elles ne s'impriment qu'une seule fois et ce au format A5.
      Il me faut donc réaliser une boucle qui passe en revue les 134 cellules et n'imprime que celles qui sont remplies et n'ont pas déjà été imprimées.
      je rame un peu, c'est ma première macro avec Excel...
      0
    2. Contributeur
      @patt812tu voudrais donc deux choses: une qui réagit dès qu'un changement est fait, et une autre que tu exécuterais une seule fois, avec une boucle?
      0
    3. Merci encore,
      je viens de faire un petit organigramme de ce qu'il me faut mais je ne suis pas assez calé en syntaxe pour la traduire :
      var1 =0
      var2 =0
      fin=0 (variable de fin de macro)
      1 si f10=1 alors var1=var1+1
      2 si var1=1 goto ligne 3 sinon ligne 6
      3 imprimer cellule(k10)
      4 fin=fin+1
      5 si fin=2 alors goto ligne 12
      6 si f11=1 alors var2=var2+1
      7 si var2=1 goto ligne 8 sinon ligne 11
      8 imprimer cellule(k11)
      9 fin=fin+1
      10 si fin=2 alors goto ligne 12
      11 goto ligne1
      12 fin de la macro
      0
    4. Contributeur
      @patt812tu n'as pas répondu à ma question en #3.
      as-tu testé le code proposé en #1?
      ton organigramme est imbuvable, décris plutôt en français ce que tu veux obtenir.
      0