Ne pas imprimer une partie d'une selection de type "a1:i56"

BASSDINGUE

XLDnaute Occasionnel
Bonjour le forum,

J'ai farfouiller un peu sur les differents post que j'ai pus trouver en rapport avec ce que je cherche. J'ai trouver des chose qui m'interesse mais pour ce qui concerne mon probleme d'aujourd'hui.

je m'explique:
-En cliquant sur un bouton je voudrais tout simplement dans une zone d'impression "a1:i56" ne pas imprimer les cellules "b50:b53"
Comment dois je proceder?

actuellement mon code est le suivant:

Sheets("DEVIS").Activate
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0#)
.RightMargin = Application.InchesToPoints(0#)
.TopMargin = Application.InchesToPoints(0.5)
.BottomMargin = Application.InchesToPoints(0.5)
.Zoom = 100
.Orientation = xlPortrait
End With

Dim Msg As String
Msg = MsgBox("VOUS VOULEZ IMPRIMER LE DEVIS?" & vbCrLf & vbCrLf & "POUR LA CONVENTION CLIQUER NON" _
& vbCrLf, vbYesNo + vbQuestion, _
"ALERTE")
If Msg = vbYes Then
Sheets("DEVIS").Range("d3") = ""
Sheets("DEVIS").Range("d4") = "X"

ActiveSheet.PageSetup.PrintArea = "A1:I56"
ActiveWindow.SelectedSheets.PrintOut copies:=1


bonne journée a tous
 

job75

XLDnaute Barbatruc
Re : Ne pas imprimer une partie d'une selection de type "a1:i56"

Bonjour BASSDINGUE,

Une solution parmi d'autres :

- enregistrer le fichier avec ThisWorkbook.Save

- effacer la plage B50:B53 avec Range("B50:B53") = ""

- imprimer

- fermer le fichier avec ThisWorkbook.Close False (ou manuellement sans enregistrer).

Edit : juste avant la fermeture du fichier, vous pouvez si vous voulez mettre l'instruction :

Application.OnTime Now, "Macro1"

Le fichier se rouvrira automatiquement pour exécuter la macro Macro1 (qui peut ne contenir aucune instruction).

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Ne pas imprimer une partie d'une selection de type "a1:i56"

Re,

Bon, je me suis un peu amusé tout à l'heure.

Plus simplement, donner à la police de la plage une couleur invisible (blanche par exemple) :

Range("B50:B53").Font.ColorIndex = 2

et après l'impression, par exemple :

Range("B50:B53").Font.ColorIndex = xlAutomatic

A+
 

job75

XLDnaute Barbatruc
Re : Ne pas imprimer une partie d'une selection de type "a1:i56"

Re,

Bien sûr la 1ère méthode est un peu besogneuse pour une petite plage.

Mais pour une plage importante, avec des cellules de diverses couleurs, ce peut-être une solution intéressante (la programmation est simple).

A+
 

BASSDINGUE

XLDnaute Occasionnel
Re : Ne pas imprimer une partie d'une selection de type "a1:i56"

oui mais pour moi, la 2e methode est vraiment simple et adaptée car je n'ai que 4 lignes les unes sous les autres a faire momentanement disparaitre
mais je garde la 1e methode sous le coude quand meme
merci
 

Discussions similaires

Statistiques des forums

Discussions
312 579
Messages
2 089 900
Membres
104 300
dernier inscrit
katlynefortin