Renommer un onlget via VBA
Résolu
Behippie
Messages postés
14
Statut
Membre
-
Behippie Messages postés 14 Statut Membre -
Behippie Messages postés 14 Statut Membre -
Bonjour à tous,
Voici mon problème:
J'ai créer une macro qui copie mon onglet "Modèle" et qui le renomme d'après les valeurs des cellules E2 et E3 se trouvant dans l'onglet "Données" (ex.: cellule E3 = "Sacha" cellule E2 = "TOUILLE").
En claire ça donne ceci :
Sheets("Modèle").Copy After:=Sheets(Sheets.Count)
' Crée une copie du modèle
Sheets("Modèle (2)").Name = Sheets("Données").Range("E3").Text + " " + Sheets("Données").Range
("E2").Text
' Renomme l'onglet "Sacha TOUILLE"
Malheureusement, si je relance la macro, il y a un blocage car l'onglet "Sacha TOUILLE" existe déjà....
Que faut-il rajouter (boucle ou autre) pour que la macro vérifie si un onglet "Sacha TOUILLE" existe déjà (dans ce cas, elle crée un onglet "Sacha TOUILLE2") et si ce n'est pas le cas et le crée normalement...
Comme lorque l'on crée un nouvelle onglet, l'onglet "Feuil1" apparaît, si on le copie il devient, "Feuil1 (2)"
J'éspère avoir été suffisament claire!!?!!? :-(
Par avance, merci pour votre aide
Voici mon problème:
J'ai créer une macro qui copie mon onglet "Modèle" et qui le renomme d'après les valeurs des cellules E2 et E3 se trouvant dans l'onglet "Données" (ex.: cellule E3 = "Sacha" cellule E2 = "TOUILLE").
En claire ça donne ceci :
Sheets("Modèle").Copy After:=Sheets(Sheets.Count)
' Crée une copie du modèle
Sheets("Modèle (2)").Name = Sheets("Données").Range("E3").Text + " " + Sheets("Données").Range
("E2").Text
' Renomme l'onglet "Sacha TOUILLE"
Malheureusement, si je relance la macro, il y a un blocage car l'onglet "Sacha TOUILLE" existe déjà....
Que faut-il rajouter (boucle ou autre) pour que la macro vérifie si un onglet "Sacha TOUILLE" existe déjà (dans ce cas, elle crée un onglet "Sacha TOUILLE2") et si ce n'est pas le cas et le crée normalement...
Comme lorque l'on crée un nouvelle onglet, l'onglet "Feuil1" apparaît, si on le copie il devient, "Feuil1 (2)"
J'éspère avoir été suffisament claire!!?!!? :-(
Par avance, merci pour votre aide
A voir également:
- Renommer un onlget via VBA
- Renommer des fichiers en masse - Guide
- Renommer iphone - Guide
- Comment renommer quelqu'un sur instagram - Guide
- Comment renommer un lien hypertexte - Forum Word
- Instagram : le nom d'utilisateur est il inéchangeable ? - Forum Instagram
2 réponses
Bonjour,
Tu peux créer une fonction qui test l'existance de ton onglet.
Une fois que cette fonction est créée, tu peux ajouter dans ton code :
J'ai mis Sacha Touille pour plus de clarté, mais tu peux remplacer par ta syntaxe dépendant des cellules.
Remarque : j'utilise & plutôt que + pour concaténer 2 chaînes je le trouve moins ambigu.
Tu peux créer une fonction qui test l'existance de ton onglet.
Function Onglet_existe(Nom As String)
Dim feuille as WorkSheet
Dim Existe as Boolean
Existe = False
For Each feuille In ActiveWorkbook.Sheets
If feuille.Name = Nom Then
Existe = True
End If
Next feuille
Onglet_existe = Existe
End Function
Une fois que cette fonction est créée, tu peux ajouter dans ton code :
i=1
If Onglet_existe("Sacha Touille") Then
While Onglet_existe("Sacha Touille" & i)
i=i+1
Wend
Sheets("Modèle (2)").Name = "Sacha Touille" & i
Else
Sheets("Modèle (2)").Name = "Sacha Touille"
End If
J'ai mis Sacha Touille pour plus de clarté, mais tu peux remplacer par ta syntaxe dépendant des cellules.
Remarque : j'utilise & plutôt que + pour concaténer 2 chaînes je le trouve moins ambigu.