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

taroteur

Nouveau membre
Bonsoir

Comment faire pour copier avec une macro vba une feuille nommée "Valeur" en "Position 1" puis relancer la macro qui va copier à nouveau la feuille "Valeur" et la nommer "Position 2" puis etc ........


Merci pour vos suggestions
 

zeb

Modérateur
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.

Code:
Sub copier_avec_une_macro_vba_une_feuille_nommee_Valeur_en_Position_1()
   Const PREFIX = "Position "
   Dim i As Integer
   i = 1
   For Each s In Sheets
      If Left(s.Name, Len(PREFIX)) = PREFIX Then
          i = Max(i, CInt(Mid(s.Name, Len(PREFIX) + 1)) + 1)
      End If
   Next
   Sheets("Valeur").Copy After:=Sheets(Sheets.Count)
   Sheets(Sheets.Count).Name = PREFIX & i
End Sub

enjoy !
 

taroteur

Nouveau membre
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
 

zeb

Modérateur
Ah bah, cherche bien la fonction Max dans Excel. En fait tu la trouveras dans la bibliothèque WorksheetFunction.

Ecris donc WorksheetFunction.Max au lieu de Max.

Enjoy!
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 122
Messages
6 717 687
Membres
1 586 355
Dernier membre
Chris7miles77
Partager cette page
Haut