Copier/coller onglet et le renommé avec MAC

Bonjour,

J'ai créer un code VBA pour copier le dernier onglet du classeur, supprimer quelques valeur dans des cellules, le coller en dernier et modifier le nom de l'onglet suivant la valeur d'une cellule de ce même onglet.

Jusque la tout vas très bien avec WINDOWS, seulement, avec MAC et Lenovo j'ai un message d'erreur :

" alerte le nom affichage existe déjà, cliquer sur oui pour utiliser cette version ou non, ou cliquer sur non pour renommé la version de affichage que vous déplacer ou copier".

Ce message apparais lors de l'exécution du code sur la ligne "Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)".

Quelqu'un a une idées pour faire fonctionner ce code sur les 3 supports?

Merci d'avance pour votre temps.

Option Explicit

Sub nouveau_cr()

'desactive protection
    Dim f As Worksheet
    Set f = ActiveSheet
    f.Protect Password:="", UserInterfaceOnly:=True

    Application.ScreenUpdating = False

    Sheets(Sheets.Count).Copy After:=Sheets(Sheets.Count)

    Range("T12:W39").Select
    ActiveWindow.SmallScroll Down:=-27
    Selection.ClearContents

    Range("T43:W130").Select
    ActiveWindow.SmallScroll Down:=-27
    Selection.ClearContents

    Range("T6:U6").ClearContents

        Range("D4").Select
        Selection.Copy
        Range("D2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False

'active calcul automatique
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

'renome l'onglet
        With ActiveSheet.Range("H4")
        ActiveSheet.Name = .Value
        End With

        Range("t12").Select
End Sub

Bonjour,

1. dans votre code f = activesheet.
Est-ce que c'est cette feuille f que vous copiez ou est-ce que f correspond toujours à la dernière feuille de votre fichier

2. Autre point : Cette instruction n'a pas d'intérêt si vous n'avez pas choisi le mode Manuel avant

Application.Calculation = xlCalculationAutomatic

Cordialement

Bonjour Dan,

c'est la dernière feuille du classeur que je copie.

oui en effet le calcul auto ne sert à rien!

Merci

Vous mettez un commentaire "'desactive protection" dans le dessus du code

Puis vous protégez avec un mot de passer à blanc. Normal ?

essayez le code comme ceci :

Sub nouveau_cr()
Dim nbf As Byte

ActiveSheet.Protect Password:="", UserInterfaceOnly:=True

Application.ScreenUpdating = False

nbf = Sheets.Count
Sheets(nbf).Copy After:=Sheets(Sheets.Count)

With ActiveSheet
    .Range("T12:W39").ClearContents
    .Range("T43:W130").ClearContents
    .Range("T6:U6").ClearContents
    .Range("D4").Copy
    .Range("D2").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False

    If .Range("H4") <> vbNullString Then
        .Name = .Range("H4").Value 'renommer onglet
    End If
    .Range("t12").Select
End With
Application.ScreenUpdating = True

End Sub

Super ça marche nickel merci Dan.

Rechercher des sujets similaires à "copier coller onglet renomme mac"