Masquer des cellules lors de l'impression

Anonyme
2015-09-15T09:27:12+00:00

Bonjour à vous!

Dans le forum il y a deja une question semblable mais je n'arrive pas à adapter les macro que j'ai trouvé à mon cas. En effet je voudrais masqué des lignes de sortes à ne pas les imprimé mais avec condition. Je m'explique:

Considerons l'image joint, je voudrais une macro qui masque les lignes qui ne sont pas les coupures de la devise qui se trouve dans la cellule D11.

Si dans D11 il y a CFAO alors la macro masque les lignes 21:27

Si dans D11 il y a DOLLAR alors la macro masque les lignes 16:21

Si dans D11 il y a EURO alors la macro masque les lignes 16:19 et la ligne 27

Si dans D11 il y a LIVRES STERLING alors la macro masque les lignes 16:22 et la ligne 27

apres l'impression toutes les lignes devrons reapparaitre.

NB: Nottons que la plage A1:M33 est variable

Merci

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

26 réponses

  1. DanielCo 107.1K Points de réputation
    2015-09-30T15:28:07+00:00

    Bonjour,

    Voila.

    Sub ArchiveAchats() <br><br>    Dim Sh As Worksheet, Ligne As Long, I As Integer <br><br>    'on affecte la feuille Reçu Achaat à la variable Sh <br><br>    Set Sh = Sheets("Reçu Achat") <br><br>    'on ajoute 1 à C1 de cette feuille <br><br>    Sh.[C1] = Sh.[C1] + 1 <br><br>    'si D5 n'est pas vide, on met la date en  F2 <br><br>    If Sh.[D5] <> "" Then Sh.[F2] = Date <br><br>    'tout ce qui est précédé d'un point appartient à la feuille Archive ACHAT <br><br>    With Sheets("Archive ACHAT") <br><br>        'calcul de la ligne de la dernière cellule non vide +2 <br><br>        Ligne = .Cells(.Rows.Count, 1).End(xlUp).Row + 2 <br><br>        'remplissage des cellules des colonnes A:K <br><br>        .Cells(Ligne, 1) = Sh.[C1] <br><br>        .Cells(Ligne, 2) = Sh.[F2] <br><br>        .Cells(Ligne, 3) = Sh.[D5] <br><br>        .Cells(Ligne, 4) = Sh.[D6] <br><br>        .Cells(Ligne, 5) = Sh.[D7] <br><br>        .Cells(Ligne, 6) = Sh.[D8] <br><br>        .Cells(Ligne, 7) = Sh.[D9] <br><br>        .Cells(Ligne, 8) = Sh.[D10] <br><br>        .Cells(Ligne, 9) = Sh.[D11] <br><br>        .Cells(Ligne, 10) = Sh.[B12] <br><br>        .Cells(Ligne, 11) = Sh.[E12] <br><br>        'remplissage des cellules en colonnes L:Y (quantité de billets) <br><br>        For I = 12 To 23 <br><br>            .Cells(Ligne, I) = Sh.Cells(I + 4, 3) <br><br>        Next I <br><br>        'remplissage des cellules en colonnes Z:AI (valeur des  billets) <br><br>        For I = 24 To 35 <br><br>            .Cells(Ligne, I) = Sh.Cells(I - 8, 4) <br><br>        Next I <br><br>    End With <br><br>End Sub

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2015-09-30T13:59:43+00:00

    Bonjour le forum

    Quelqu'un peut t'il me donner l'explication des lignes de la macro ci-dessus.

    Merci

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2015-09-29T13:42:23+00:00

    Du tout pas monsieur Daniel, je compte bien ouvrir une nouvelle discution pour ça, mais avant s'il vous plait donnez moi les explications des lignes de la macro suivante:

    Sub ArchiveAchats() <br><br>    Dim Sh As Worksheet, Ligne As Long, I As Integer <br><br>    Set Sh = Sheets("Reçu Achat") <br><br>    Sh.[C1] = Sh.[C1] + 1 <br><br>    If Sh.[D5] <> "" Then Sh.[F2] = Date <br><br>    With Sheets("Archive ACHAT") <br><br>        Ligne = .Cells(.Rows.Count, 1).End(xlUp).Row + 2 <br><br>        .Cells(Ligne, 1) = Sh.[C1] <br><br>        .Cells(Ligne, 2) = Sh.[F2] <br><br>        .Cells(Ligne, 3) = Sh.[D5] <br><br>        .Cells(Ligne, 4) = Sh.[D6] <br><br>        .Cells(Ligne, 5) = Sh.[D7] <br><br>        .Cells(Ligne, 6) = Sh.[D8] <br><br>        .Cells(Ligne, 7) = Sh.[D9] <br><br>        .Cells(Ligne, 8) = Sh.[D10] <br><br>        .Cells(Ligne, 9) = Sh.[D11] <br><br>        .Cells(Ligne, 10) = Sh.[B12] <br><br>        .Cells(Ligne, 11) = Sh.[E12] <br><br>        For I = 12 To 23 <br><br>            .Cells(Ligne, I) = Sh.Cells(I + 4, 3) <br><br>        Next I <br><br>        For I = 24 To 35 <br><br>            .Cells(Ligne, I) = Sh.Cells(I - 8, 4) <br><br>        Next I <br><br>    End With <br><br>End Sub

    Merci pour votre disponibilité.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. DanielCo 107.1K Points de réputation
    2015-09-28T16:17:09+00:00

    Pas de mal. Le pourquoi, c'est simple. Si un utilisateur fait une recherche sur les validations de données, il n'ira pas voir dans les messages intitulés "Masquer des cellules lors de l'impression". C'est pourquoi tu dois ouvrir une nouvelle discussion. J'espère que tu ne l'as pas mal pris.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. Anonyme
    2015-09-28T15:45:05+00:00

    Toutes mes excuses monsieur Daniel.

    Merci

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire