Exécution macro onglet masqué

Bonsoir à tous,

Je commence a mettre les mains dans le camboui avec le VBA

Je suis parvenu a faire une synthèse de deux tableau en un seul et tout fonctionne correctement.

Je voudrais cependant masquer 3 onglets dont les macros font appel, et bien sûr cela ne fonctionne pas.

Auriez-vous une idée pour le code a rajouter afin de contourner cette problématique?

En vous en remerciant par avance.

Cordialement.

Christophe

Bonsoir,

il faut mettre l'attribut .visible de ta feuille à false

par exemple

sheets("feuil1").Visible = False

Bonjour et merci pour ton intervention.

Par contre lorsque je l'insère au dessus de

Sheets("INJECTION_1539").Select

comme ceci

Sheets("INJECTION_1539").Visible = False

Il me plante la macro.

Sinon voici mon code global dont je n'arrive pas a optimiser plus. Je suis preneur de conseil

Sub Copie()

Application.ScreenUpdating = False
Sheets("INJECTION_1539").Visible = False
' Préparation_tableau_1539

    Sheets("INJECTION_1539").Select
    Range("A1:H200").ClearContents
    Selection.Borders.Value = 0
    Range("A:H").HorizontalAlignment = xlCenter

' Injection_1539

    Sheets("CALCULATEUR IFO").Select
    Insee_nom = Range("A3:B" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1539").Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Borders.Value = 1

    Sheets("CALCULATEUR IFO").Select
    Carte = Range("F3:H" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1539").Select
    Range("C1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Borders.Value = 1

    Sheets("CALCULATEUR IFO").Select
    Date_effet = Range("K3:K" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1539").Select
    Range("F1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
     Selection.Borders.Value = 1

    Sheets("CALCULATEUR IFO").Select
    Taux_WP = Range("O3:O" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1539").Select
    Range("G1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Borders.Value = 1

    Sheets("CALCULATEUR IFO").Select
    Donnee_A = Range("P3:P" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1539").Select
    Range("H1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Borders.Value = 1
    Cells.EntireColumn.AutoFit
    Range("A1").Select
    Cells.Font.Name = "Calibri"

' Préparation_tableau_1540

    Sheets("INJECTION_1540").Select
    Range("A1:H200").ClearContents
    Selection.Borders.Value = 0
    Range("A:H").HorizontalAlignment = xlCenter

' Injection_1540

    Sheets("CALCULATEUR IFO").Select
    Insee_nom = Range("A3:B" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1540").Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Borders.Value = 1

    Sheets("CALCULATEUR IFO").Select
    Carte_1540 = Range("Q3:S" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1540").Select
    Range("C1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Borders.Value = 1

    Sheets("CALCULATEUR IFO").Select
    Date_effet_1540 = Range("V3:V" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1540").Select
    Range("F1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
     Selection.Borders.Value = 1

    Sheets("CALCULATEUR IFO").Select
    Taux_WP_1540 = Range("Z3:Z" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1540").Select
    Range("G1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Borders.Value = 1

    Sheets("CALCULATEUR IFO").Select
    Donnee_A_1540 = Range("AA3:AA" & [A65536].End(xlUp).Row).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("INJECTION_1540").Select
    Range("H1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Borders.Value = 1
    Cells.EntireColumn.AutoFit
    Range("A1").Select
    Cells.Font.Name = "Calibri"
    Columns("F:F").Select
    Selection.NumberFormat = "000"

Injection_globale

End Sub

Merci de ton aide.

Bonjour,

tu ne peux sélectionner une feuille cachée.

adapte ton code ainsi

Application.ScreenUpdating = False

with Sheets("INJECTION_1539")
  .Visible = False
' Préparation_tableau_1539

  '
    .Range("A1:H200").ClearContents
    .cells.Borders.Value = 0
    .Range("A:H").HorizontalAlignment = xlCenter

end with

Bonjour,

Merci bien pour ce code je suis parvenu à le mettre en œuvre.

Par contre avec celui-ci dessous, je n'arrive pas à enlever les .select

With Sheets("INJECTION_1539")
    .Visible = False
    Sheets("INJECTION_1539").Range("A1:H" & [A65536].End(xlUp).Row).Select
    Selection.Copy
End With

Une idée svp ?

Cordialement.

Bonsoir,

With Sheets("INJECTION_1539")
    .Visible = False
    .Range("A1:H" & [A65536].End(xlUp).Row).Copy
End With
Rechercher des sujets similaires à "execution macro onglet masque"