VBA copie de feuille

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

Bonjour,

Je ne peux deviner les contours de ton application ...

Par contre, je peux te dire que pour tes macros ... les cellules fusionnées ... ... c'est l'ennemi juré .... à bannir totalement ...!!!

Merci pour ta réponse, oui je sais bien que les cellules fusionnées sont à bannir !!!

Le pire c'est que cela fonctionne quand même mais la fenêtre de l'erreur arrive à chaque fois.

Re,

Tu peux tester en début de code :

Application.DisplayAlerts = False

et en fin de code :

Application.DisplayAlerts = True
Rechercher des sujets similaires à "vba copie feuille"