Copier/coller devenu impossible suite à macro impression

Brigitte

XLDnaute Barbatruc
Bonjour,

Il y a quelque temps, Pierrot93 me sauvait une fois de plus en me trouvant une macro qui me permettait d'imprimer ma dernière page d'un document pouvant en faire plusieurs, sans faire d'apercu impression et sans choisir le numéro... Elle trouvait toute seule la dernière page. Nickel.

C'était ici : https://www.excel-downloads.com/thr...re-page-dune-zone-dimpression-definie.130234/

Mais ce jour, je découvre un petit bug, à mon avis lié à cette macro, et j'ai beau visualiser le code, je vois pas où..

En fait, dès que je veux faire un copier coller dans cette feuille, le copier marche, mais le coller se désactive dans la barre, donc IMPOSSIBLE de faire un copier/coller. Or il se trouve que souvent j'ai besoin de reproduire certaines données.

Donc je copie, et aussitôt que je me positionne dans une autre cellule (en bas), le coller devient inactif dans la barre outils.

Bizarre, embêtant...

Pourriez vous jeter un oeil et me dire s'il y a qq chse à faire ?

Voici le code :

Code:
Sub ImpressionDerniere()
Dim zi As String, s As String
s = ActiveWindow.VisibleRange.Address
With ActiveSheet.PageSetup
    zi = .PrintArea
    '.PrintArea = ActiveWindow.VisibleRange.Address
    .PrintArea = Range(Cells(Split(Split(s, ":")(0), "$")(2), 1), _
        Cells(Split(Split(s, ":")(1), "$")(2), 11)).Address
    'prévisualisation de l'impression
    'ActiveSheet.PrintPreview
    'impression
    ActiveSheet.PrintOut
    .PrintArea = zi
End With
End Sub
 

Pièces jointes

  • Arrêtés - Historique problème.xls
    166.5 KB · Affichages: 200
  • Arrêtés - Historique problème.xls
    166.5 KB · Affichages: 205
  • Arrêtés - Historique problème.xls
    166.5 KB · Affichages: 208

Brigitte

XLDnaute Barbatruc
Re : Copier/coller devenu impossible suite à macro impression

Re, re, re...

Si le fichier joint tout à l'heure contient bien le menu flottant d'Eric, je crois avoir compris (après observation d'Eric par mail) que la macro affectée est celle de Pierrot, voici celle d'Eric... qu'il faudra donc que je teste également :

Code:
Sub ImpressionDernierePage()
Dim DerPage As Integer
Dim LigneDebut As Integer
' Sélectionner la plage à imprimer
Application.ScreenUpdating = False
Range("B65536").End(xlUp).Select
LigneDebut = Selection.Row - 12
Range("B" & LigneDebut, [B65536].End(xlUp).Offset(0, 9)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
DerPage = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$2"
End With
ActiveWindow.SelectedSheets.PrintOut From:=DerPage, To:=32766, Copies:=1, _
Collate:=True
[A1].Select
End Sub

Bonne soirée et merci.
 

RENAUDER

Nous a quitté
Repose en paix
Re : Copier/coller devenu impossible suite à macro impression

Brigitte,
J'ai été moins rapide que Brigitte
Bizarre, bizzare chez moi, ça n'imprime qu'une page
Revoici le code
Je pense qu'en fonction des situations on peut mettre -11 ou - 10 pour être sur de n'avoir qu'une page.
Code:
Sub ImpressionDernierePage()
    Dim DerPage As Integer
    Dim LigneDebut As Integer
    ' Sélectionner la plage à imprimer
    Application.ScreenUpdating = False
    Range("B65536").End(xlUp).Select
    ' On ne prend que les 12 dernières ce qui correspond (chez moi)
    ' à un format A4 en paysage
    LigneDebut = Selection.Row - 12
    Range("B" & LigneDebut, [B65536].End(xlUp).Offset(0, 9)).Select
    ActiveSheet.PageSetup.PrintArea = Selection.Address
    DerPage = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
    With ActiveSheet.PageSetup
        .PrintTitleRows = "$1:$2"
    End With
    ActiveWindow.SelectedSheets.PrintOut From:=DerPage, To:=32766, Copies:=1, _
                                         Collate:=True
    [A1].Select
End Sub
 
Dernière édition:

RENAUDER

Nous a quitté
Repose en paix
Re : Copier/coller devenu impossible suite à macro impression

Bonjour à tous,
Pour ceux qui seraient amenés à charger le fichier concernant la fonction Split, voici en plus simple et plus compréhensible, quelques exemples:
Code:
Sub PrincipeSplit()
    Chaine = "123$ABC$XYZ:987$ZYX$BCA"
    A = Split(Split(Chaine, ":")(0), "$")(0) ' renvoie 123
    B = Split(Split(Chaine, ":")(0), "$")(1) ' renvoie ABC
    C = Split(Split(Chaine, ":")(0), "$")(2) ' renvoie XYZ
    D = Split(Split(Chaine, ":")(1), "$")(0) ' renvoie 987
    E = Split(Split(Chaine, ":")(1), "$")(1) ' renvoie ZYX
    F = Split(Split(Chaine, ":")(1), "$")(2) ' renvoie BCA
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 201
Membres
102 816
dernier inscrit
bolivier