XL 2016 Macro excel 2010 vs 2016

  • Initiateur de la discussion Initiateur de la discussion hutch57
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

hutch57

XLDnaute Occasionnel
Bonjour la communauté,
J'ai un petit souci sur une macro et je sèche, j'ai remplacé mon Excel 2010 par le 2016 et j'ai une macro qui me permet de copier les cellule d'une feuille sur une autre et ensuite lancé l'impression sauf qu'avec Excel 2016 la macro copie ne copie pas les bonne cellule ?? si quelqu'un a une idée.
Par avance merci

Sub Imprime1()
With Sheets("user")
Feuil5.Unprotect: Feuil1.Unprotect "1234"
.Range("B1:B4").Value = Range("B6:B9").Value
.Range("B7:C9").Value = Range("B12:C14").Value
.Range("B6").Value = Range("B11").Value
.Range("C6").Value = Range("C11").Value
.Range("D8").Value = Range("D19").Value
Sheets("user").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Feuil5.Protect: Feuil1.Protect "1234"
End With
End Sub
 
Bonjour hutch57, le fil,

un essai :

VB:
Option Explicit

'c'est inutile de déprotéger/protéger une feuille lue ; seule la
'feuille où on écrit des données doit être déprotégée/protégée !

'comme on écrit sur "user", c'est cette feuille qui doit être
'déprotégée puis protégée.

Sub Imprime1()
  Application.ScreenUpdating = 0: Worksheets("user").Select
  With Feuil5 'feuille lue (remplacer peut-être par Feuil1)
    ActiveSheet.Unprotect 'on déprotège la feuille "user"
    .[B6:B9].Copy [B1]: .[B12:C14].Copy [B7]
    [B6] = .[B11]: [C6] = .[C11]: [D8] = .[D19]
    ActiveSheet.Protect 'on protège la feuille "user"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, _
      Collate:=True, IgnorePrintAreas:=False
  End With
End Sub

soan
 
Dernière édition:
@hutch57

ton fichier en retour. 🙂

code VBA :

VB:
Option Explicit

'c'est inutile de déprotéger/protéger une feuille lue ; seule la
'feuille où on écrit des données doit être déprotégée/protégée !

'Feuil1 = "Ligne" ; password : "1234" ; inutile de la déprotéger
'car on n'écrit pas dessus (et reprotection inutile)

'comme on écrit sur "user", c'est cette feuille qui doit être
'déprotégée puis protégée ; Feuil5 = "User" (pas de password).

Sub Imprime()
  Application.ScreenUpdating = 0: Worksheets("user").Select
  With Feuil1 'la feuille lue est la feuille "Ligne"
    ActiveSheet.Unprotect 'on déprotège la feuille "user"
    'DATE, OF (OF WIND UP), WUP, COMMANDE
    .[B6:B9].Copy: [B1].PasteSpecial -4163
    [B6] = .[B11] 'Article
    [C6] = .[C11] 'donnée inconnue (à droite de Article)
    [B7] = .[B12] 'Type
    '"Min", "Max", Largeur wup (Min & Max)
    .[B13:C14].Copy: [B8].PasteSpecial -4163
    [D8] = .[D19] 'nombre de Mètres
    Application.CutCopyMode = 0: [A12].Select
    ActiveSheet.Protect 'on protège la feuille "user"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, _
      Collate:=True, IgnorePrintAreas:=False
  End With
End Sub

soan
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
467
Retour