Souci de code VBA

Re

1. As-tu bien essayé la macro test que je t'ai donnée avant et es-tu sur de l'avoir exécutée ???

2. C'est juste une question mais au sujet code je viens de voir que si on doit imprimer la feuille 1, tu dois modifier cette ligne

If Ws.Name = "Feuil1" Then Exit Sub

par celle-ci

If Ws.Name <> "Feuil1" Then Exit Sub

A te relire

j'ai changé la ligne et imprimé , ça a imprimé 2 fois

le coté droit de la feuille , et la feuille complète

moi je veux cacher juste la plage " A6:D31 "

merci encore pour ton aide Dan

Bonjour,

Bonjour Dan

Ce qui correspond à :

Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Ws As Worksheet
    Application.ScreenUpdating = False
    Set Ws = ActiveSheet
    With Ws
        .Range("6:31").EntireRow.Hidden = True
        .PrintOut
        .Range("6:31").EntireRow.Hidden = False
    End With
    Set Ws = Nothing
End Sub

Re,

changé la ligne et imprimé , ça a imprimé 2 fois...

Normal j'avais vu cela au début. Il faudra modifier le code. Mais là le principal était de voir si le code fait ce qu'on lui demande et surtout de savoir si tu n'avais pas un souci avec l'exécution des macros.

moi je veux cacher juste la plage " A6:D31 "

.. ?? tu changes là et Jean Eric a adapté sa macro. Mais au début tu parlais de ne cacher que la ligne A et D non ? Merci de préciser les colonnes que tu ne veux pas voir

A te relire

Jean-Eric a écrit :

Bonjour,

Bonjour Dan

Ce qui correspond à :

Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Ws As Worksheet
    Application.ScreenUpdating = False
    Set Ws = ActiveSheet
    With Ws
        .Range("6:31").EntireRow.Hidden = True
        .PrintOut
        .Range("6:31").EntireRow.Hidden = False
    End With
    Set Ws = Nothing
End Sub

salut jean

ce code cache la rangé de 6 à 31 , moi je veux cacher la plage "A6 ; D31 "


Dan a écrit :

Re,

changé la ligne et imprimé , ça a imprimé 2 fois...

Normal j'avais vu cela au début. Il faudra modifier le code. Mais là le principal était de voir si le code fait ce qu'on lui demande et surtout de savoir si tu n'avais pas un souci avec l'exécution des macros.

moi je veux cacher juste la plage " A6:D31 "

.. ?? tu changes là et Jean Eric a adapté sa macro. Mais au début tu parlais de ne cacher que la ligne A et D non ? Merci de préciser les colonnes que tu ne veux pas voir

A te relire

bonjour Dan

je veux cacher la plage (A6;D31 ) , le dernier code de jean-eric cache les lignes 6 à 31

et ça imprime 2 fois , une feuille correspondante au macro et une autre complète

Re,

Merci de ta précision.

Essaie en utilisant ce code en lieu et place de l'autre

Dim ok As Boolean
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ok Then Exit Sub
    If UCase(ActiveSheet.Name) = "FEUIL1" Then
        ok = True
    Application.ScreenUpdating = False
With ActiveSheet
    .Range("a6,D31").EntireColumn.Hidden = True
    .PrintOut
End With
End If
ActiveSheet.Range("a6,D31").EntireColumn.Hidden = False
Application.ScreenUpdating = True
Cancel = True
ok = False
End Sub

Si ok, clique sur le V vert à coté du bouton EDITER lors de ta réponse pour cloturer le fil

Amicalement

le code cache la colonne " a " et " d " , voici ce qe que j'ai eu ..

l'image à imprimé

capture1 zpsc39f2731

le resultat

zps80d1b019

Re

Normal puisque C5 et D5 sont fusionnés et que tu veux cacher la colonne D....

Si tu utilises des codes VBA évite les fusions de cellule !

Défusionne tes 2 cellules pour que le total soit en C5 uniquement

Dan a écrit :

Re

Normal puisque C5 et D5 sont fusionnés et que tu veux cacher la colonne D....

Si tu utilises des codes VBA évite les fusions de cellule !

Défusionne tes 2 cellules pour que le total soit en C5 uniquement

j'ai défusionné mais le macro cache les colonnes entières "a et d "

est ce qu'il y'a pas un code qui peut cacher une plage ou quelques cellules ?

et merci encore Dan pour ton aide ...

re

j'ai défusionné mais le macro cache les colonnes entières "a et d "

est ce qu'il y'a pas un code qui peut cacher une plage ou quelques cellules ?

ben non évidemment. Soit tu caches une ligne soit une colonne ou les deux

Edit : il faut revoir la présentation. Pourquoi ne pas faire comme ceci :

vue
Dan a écrit :

re

j'ai défusionné mais le macro cache les colonnes entières "a et d "

est ce qu'il y'a pas un code qui peut cacher une plage ou quelques cellules ?

ben non évidemment. Soit tu caches une ligne soit une colonne ou les deux

Edit : il faut revoir la présentation. Pourquoi ne pas faire comme ceci :

ah oui je ne le savais pas , dans ce cas merci !

je vais suivre ton conseil et changer la présentation ..

merci beaucoup

Rechercher des sujets similaires à "souci code vba"