Se connecter avec
S'enregistrer | Connectez-vous

copier plusieurs fois une feuille excel avec un nom différent

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte
Expert Programmation

Suggestions :
Rechercher dans toutes les feuilles du classeur celles dont le nom commence par "Position ". Récupérer le nombre qui suit le mot "Position " et en prendre de Max. On aura pris soin d'initialiser ce nombre à 1. Si aucune feuille ne s'appelle "Position N", on commencera à 1.

Copier la feuille "Valeur", et lui donner le nom "Position " + nombre trouvé

Facile !


ATTENTION, NE PAS LIRE CE QUI SUIT SI TU N'AS PAS ESSAYE CE QUI PRECEDE.

  1. Sub copier_avec_une_macro_vba_une_feuille_nommee_Valeur_en_Position_1()
  2. Const PREFIX = "Position "
  3. Dim i As Integer
  4. i = 1
  5. For Each s In Sheets
  6. If Left(s.Name, Len(PREFIX)) = PREFIX Then
  7. i = Max(i, CInt(Mid(s.Name, Len(PREFIX) + 1)) + 1)
  8. End If
  9. Next
  10. Sheets("Valeur").Copy After:=Sheets(Sheets.Count)
  11. Sheets(Sheets.Count).Name = PREFIX & i
  12. End Sub


enjoy !

Bonjour Zeb,

Merci de ta réponse. (en fait la seule que j'ai eue)
Malheureusement ça ne fonctionne pas :

Pourtant j'ai pris soin de rechercher si une des feuilles de mon fichier s'appelait Position. Aucune ! J'ai copié ma feuille "Valeur" et l'ai nommée "Position 1" comme tu me l'indiquais.

J'ai ensuite recopié ton code mais lors de l' execution j'ai le message : "Erreur de compilation Sub non définie" (blocage sur Max).

Je n'ai peut-être pas tout saisi ce que tu voulais me dire.

Néanmoins je te remercie encore de ta contribution
Lassé par la pub ? Créez un compte