Bonjour à tous,
j'essaye de faire fonctionner la macro suivante, mais j'ai des cellules fusionnées, du coup, j'ai un message d’erreur 1004 impossible de de modifier une cellule fusionnée, quelqu'un a t-il une solution?
Merci de votre aide..
Sub Auto_open()
Dim Sh As Worksheet
Dim Nom As String
Dim i As Integer
'On suppose que les feuilles sont nommées par du texte suivi d'une nombre à 4 chiffres
Application.ScreenUpdating = False 'Permet d'éviter la mise à jour affichage
Nom = ActiveSheet.Name 'Dans Nom on récupère le nom de la feuille active (à copier)
Nom = Left(Nom, Len(Nom) - 4) 'On supprime de nom les 4 derniers chiffres
Do 'On boucle sur toutes les feuilles
i = i + 1 'Compteur de feuille
Set Sh = Nothing 'On vide la variable objet Sh qui représente chaque feuille à chaque boucle
On Error Resume Next
Set Sh = Sheets(Nom & Format(i, "0000")) 'On instancie Sh à la feuille Sh, la feuille Nommée XXX0001
'Si la feuille existe, Sh est non vide et on passe dans la boucle pour chercher XXX0002
'Si la feuille n'existe pas, on aura erreur (Sh restera a nothing). On sort alors de la boucle
'La nouvelle feuille aura comme suffixe la compteur i
'Le On error resume next permet d'éviter l'erreur sur cette ligne
On Error GoTo 0
Loop Until Sh Is Nothing
ActiveSheet.Copy After:=Sheets(Sheets.Count) 'On copie la feuille en dernier
With ActiveSheet
.Name = Nom & Format(i, "0000") 'On la renomme
.Range("A1").Value = i 'On y écrit en A1, le nombre i
.Range("D10:D20", "G10:G20").ClearContents 'On efface ces plages
End With
End Sub