Excel - conditionner impression tableau

Résolu
Michel -  
 Michel -
Bonjour,

Sous excel 2003 je voudrais masquer une ligne, seulement à l'impression, quand une cellule donnée dans cette même ligne a la valeur 0 par exemple... (sans macro)

Pouvez vous m'aider? Merci beaucoup pour v/ aide

9 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Non pas sans macro ou alors simple mise en forme conditionnelle pour coloriser la ligne avec la valeur zéro et manuellement pour masquer la ligne et imprimer
    0
  2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Bonjour Michel.

    L'ordinateur envoie à l'impression ce que tu as réalisé à l'écran.
    Tu dois donc obligatoirement d'abord masquer la ligne avec valeur zéro et ensuite lancer l'impression.
    0
  3. Michel
     
    merci...
    je m'en doutais que cela ne serait pas possible... Par contre je suis completement nul en macro, je n'en ai jamais touché à ça... comment m'y prendre svp?
    0
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Quel est la colonne sensée à afficher les valeurs zéro qui conditionnera le masquage de la ligne
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Michel
     
    Disons un tableau de A1 à M50 par exemple... Je voudrais que sur tout le tableau, les lignes dont les cellules de la colonne H, par exemple, aient la valeur "0", deviennent masquées, à l'impression mais aussi à l'écran finalement...

    Merci beaucoup...

    PS: Je présume, excusez l'ignorance, que si les dites cellules prennent une valeur autre que "0", à ce moment la ligne correspondante s'affiche, se "démasque"... C'est bien comme ça que cela fonctionnera?
    0
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Ca ne va pas être facile, enfin on va essayer.
    Clic droit sur l'onglet de ta feuille et clic sur visualiser le code
    La feuille qui s'ouvre est le visual basic d'excel, fais Insertion/Module et colle dans la feuille blanche ces deux codes, un pour masquer lis lignes dont les cellules en colonne H sont vide ou valeur 0, le deuxième pour afficher les lignes masquées

    Sub Masque_Lignes_Vides()
    For i = 1 To 50
    If Cells(i, 8) = 0 Then
    Rows(i & ":" & i).Select
    Selection.EntireRow.Hidden = True
    End If
    Next i
    End Sub

    Sub Affiche_Lignes_Vides()
    Application.ScreenUpdating = False
    Range("H1:H50").Select
    Selection.EntireRow.Hidden = False
    Application.ScreenUpdating = True
    End Sub

    Pour revenir sur ta feuille de calcul dans la barre d'outils a gauche tu trouveras l'icone Excel. Clic sur Affichage/Barre d'Outils et Formulaire sélectionne le bouton et dessine le sur ta feuille, normalement Excel te proposera de l'affecter à une macro sinon clic droit sur le bouton et Affecter à une macro sélectionne Masque_Lignes_Vides
    Recommence pour le deuxième bouton et affecte le à ce code
    Affiche_Lignes_Vides

    Tu peux également modifier le texte du bouton clic droit sur le bouton, mets le texte en surbrillance et saisi Maquer sur celui qui masque les lignes et Afficher sur l'autre
    0
  8. Michel
     
    Merci Mike, je commence à voir quelque chose de précis... J'ai quelques soucis pour "affecter bouton" mais bon, le pb n'est pas encore à ce stade...

    En suivant vos instructions cela fonctionne mais ce n'est pas encore le résultat qu'on attendait... Cela me masque pas mal de lignes dont les cellules ont une valeur autre que "0", positive ou negative, et ce n'etait pas le but justement... Et puis cela joue (zone grisée du tableau) sur 89 lignes alors que c'etait prévu que pour 50...

    Bon, sans vouloir abuser de v/ temps, là j'ai le vrai tableau en vue:

    Il va de A1 à Q90;

    Il me faudrais que seulement les lignes de 9 à 19, 21 à 44, 47 à 58, 60 à 72 et 83 à 88 deviennent masquées si les cellules correspondantes de la colonne P ont la valeur "0" (zéro, pas vides)...

    Desolé si cela devient trop complexe... Vous m'avez déjá aidé un peu car je n'y comprends presque rien en macros...

    Bonne journée.

    PS: pour la question de "boutons" on verra par la suite si cela ne vous dérange pas...
    0
  9. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Reprend mon post précédent pour ouvrir le visual basic, dans le module que tu as créé, efface l'ancien code et colles ces deux. il est possible de les écrire différemment mais pour que tu puisses les interpréter facilement j'ai choisi cette formule.
    Pour les affecter à un bouton reprend également mon post et si tu n'y arrive pas je te ferai un petit montage

    Sub Masque_Lignes_Vides()
    For i = 9 To 19
    If Cells(i, 16) = 0 Then
    Rows(i & ":" & i).Select
    Selection.EntireRow.Hidden = True
    End If
    Next i
    For ii = 21 To 44
    If Cells(ii, 16) = 0 Then
    Rows(ii & ":" & ii).Select
    Selection.EntireRow.Hidden = True
    End If
    Next ii
    For y = 47 To 58
    If Cells(y, 16) = 0 Then
    Rows(y & ":" & y).Select
    Selection.EntireRow.Hidden = True
    End If
    Next y
    For yy = 60 To 72
    If Cells(yy, 16) = 0 Then
    Rows(yy & ":" & yy).Select
    Selection.EntireRow.Hidden = True
    End If
    Next yy
    For x = 83 To 88
    If Cells(x, 16) = 0 Then
    Rows(x & ":" & x).Select
    Selection.EntireRow.Hidden = True
    End If
    Next x
    End Sub

    Sub Affiche_Lignes_Vides()
    Range("P9:P90").Select
    Selection.EntireRow.Hidden = False
    End Sub

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
  10. Michel
     
    Bjr.

    Je commence à comprendre, à interpreter ça...

    Toutefois dans le cas présent, en suivant vos instructions, toutes les lignes de 9 à 79 se masquent! Celles prévues et celles non prévus dans la macro, celles dont la vaelur est zéro et celles dont la valeur est differente de "0", positive ou négative...

    Bon là je pars quelques temps, je vais laisser ça pour une autre occasion...

    Merci beaucoup et bonnes vacances à tous, si c'est le cas...
    0