Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Aide code VBA Excel " copie feuille "

1 réponse
Avatar
Tibert
Bonjour,
Il ma été transmit un code qui dans un premier temps je pensais qu’il ne
fonctionner pas et après vérification je me suis aperçu que j’avais une
feuille masquer dans mon fichier ce qui empêcher le bon fonctionnement pour
la recopie des trois dernière feuille.
Ma question est la suivante :
Ce code fonctionne pour les copies des trois dernières feuilles de mon
classeur sur un total de quatre feuilles, qu’est ce qui faut changer dans ce
code ci-dessous pour faire les copies que des deux dernières feuille sur un
total de trois feuilles.
Salutation.
Sub Nouveau_Cadencier()
ActiveSheet.Unprotect
'
' Nouveau Cadencier Macro
' Macro enregistrée le 18/10/2006 par Sylvain
' Pour une copie de trois feuille

Fl = ThisWorkbook.Sheets.Count
If Fl >= 28 Then Fin = 5 Else Fin = 4
Sheets(Fl).Select
For x = Fl - 2 To Fl
Sheets(x).Copy After:=ActiveSheet
If x <> Fl - 2 Then
AncNom = Sheets(2).Name
Arempl = "'" & Sheets(Fl - 2).Name & "'"
If Fl = 4 Then Arempl = Sheets(Fl - 2).Name
Ajout = Right(ActiveSheet.Name, Fin)
NouNom = "'" & AncNom & Ajout & "'"
Application.DisplayAlerts = False
Cells.Replace What:=Arempl, Replacement:=NouNom, LookAt:=xlPart,
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False,
ReplaceFormat:=False
Application.DisplayAlerts = True
ActiveSheet.Protect
End If
Next
ActiveSheet.Protect
End Sub

1 réponse

Avatar
Daniel
Bonjour.
Mets :
For x = Fl - 1 To Fl
au lieu de :
For x = Fl - 2 To Fl
Cordialement.
Daniel
"Tibert" a écrit dans le message de news:

Bonjour,
Il ma été transmit un code qui dans un premier temps je pensais qu'il ne
fonctionner pas et après vérification je me suis aperçu que j'avais une
feuille masquer dans mon fichier ce qui empêcher le bon fonctionnement
pour
la recopie des trois dernière feuille.
Ma question est la suivante :
Ce code fonctionne pour les copies des trois dernières feuilles de mon
classeur sur un total de quatre feuilles, qu'est ce qui faut changer dans
ce
code ci-dessous pour faire les copies que des deux dernières feuille sur
un
total de trois feuilles.
Salutation.
Sub Nouveau_Cadencier()
ActiveSheet.Unprotect
'
' Nouveau Cadencier Macro
' Macro enregistrée le 18/10/2006 par Sylvain
' Pour une copie de trois feuille

Fl = ThisWorkbook.Sheets.Count
If Fl >= 28 Then Fin = 5 Else Fin = 4
Sheets(Fl).Select
For x = Fl - 2 To Fl
Sheets(x).Copy After:¬tiveSheet
If x <> Fl - 2 Then
AncNom = Sheets(2).Name
Arempl = "'" & Sheets(Fl - 2).Name & "'"
If Fl = 4 Then Arempl = Sheets(Fl - 2).Name
Ajout = Right(ActiveSheet.Name, Fin)
NouNom = "'" & AncNom & Ajout & "'"
Application.DisplayAlerts = False
Cells.Replace What:=Arempl, Replacement:=NouNom, LookAt:=xlPart,
SearchOrder:=xlByColumns, MatchCase:úlse, SearchFormat:úlse,
ReplaceFormat:úlse
Application.DisplayAlerts = True
ActiveSheet.Protect
End If
Next
ActiveSheet.Protect
End Sub