VBA : dupliquer/nommer feuille :
Fermé
fr.chaumon
-
4 juil. 2012 à 10:48
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 4 juil. 2012 à 17:19
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 4 juil. 2012 à 17:19
A voir également:
- VBA : dupliquer/nommer feuille :
- Mkdir vba ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba dépassement de capacité ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
1 réponse
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
Modifié par pilas31 le 4/07/2012 à 11:50
Modifié par pilas31 le 4/07/2012 à 11:50
Bonjour,
Le plus correct est de tester si la feuille existe et de faire progresser un indice.
Voici ce que je propose pour remplacer la fin du code.
La fonction teste si le nom existe.
La boucle While s'éxécute jusqu'a ce qu'un indice non utilisé soit trouvé
A+
Cordialement,
Le plus correct est de tester si la feuille existe et de faire progresser un indice.
Voici ce que je propose pour remplacer la fin du code.
..... ActiveSheet.Cells(1, 2).Value = nomlot Dim NomFeuil As String, Indice As Integer NomFeuil = "CIQ " & nomlot & " " & identite Indice = 0 While ExisteFeuille(NomFeuil) Indice = Indice + 1 NomFeuil = "CIQ " & nomlot & " " & identite & "-" & Indice Wend ActiveSheet.Name = NomFeuil Else Exit Sub End If End Sub Public Function ExisteFeuille(Nfeuil As String) As Boolean Dim Feuille As Worksheet ExisteFeuille = False For Each Feuille In ActiveWorkbook.Worksheets If Feuille.Name = Nfeuil Then ExisteFeuille = True Exit For End If Next End Function
La fonction teste si le nom existe.
La boucle While s'éxécute jusqu'a ce qu'un indice non utilisé soit trouvé
A+
Cordialement,
Modifié par eriiic le 4/07/2012 à 11:54
une autre fonction qui évite une boucle pour tester l'existence d'une feuille :
eric
4 juil. 2012 à 13:41
Un grand merci à vous, ça fonctionne nikel avec le code de pilas31.
Par contre eriiic, quand j'ai remplacé la fonction de pilas par la tienne pour tester j'ai eu le message d'erreur comme quoi la feuille existait déjà. (J'ai pourtant bien changé "ExisteFeuille" par "existsheet" dans le while :(.
fr.c
4 juil. 2012 à 14:34
Par contre eriiic, quand j'ai remplacé la fonction de pilas par la tienne pour tester j'ai eu le message d'erreur comme quoi la feuille existait déjà.
La fonction fonctionne (!) très bien, mais pas grave :-)
eric
Modifié par fr.chaumon le 4/07/2012 à 15:54
Vivi je te crois sur parole, je n'y connais rien en VBA :(
Pourrais tu me dire quel code je dois insérer dans ma macro pour faire appel correctement à ta fonction.
Histoire que je me cultive un peu.
Je te remercie.
fr.
4 juil. 2012 à 16:14
Si je comprend bien Eriiic, ta fonction dit que si la feuille existe il l'a renomme en ajoutant l'index.
ensuite le while renomme la feuille comme je le désire.
C'est ça ?
fr.