Renommer automatiquement une partie d un onglet

THIERRY35

XLDnaute Occasionnel
Bonjour,

je dispose d'un fichier appelé "VENTE ILE DE FRANCE" d'une centaine d'onglet.
Chaque onglet est nommé selon la même méthode : nom du produit suivi du nom d'une ville.
Ex : CNQUERAN VERSAILLES , BNQUERAN VERSAILLES ... puis CNQUERAN NOISY, BNQUERAN NOISY


Aprés avoir enregistré le fichier sous un nouveau nom "VENTE BRETAGNE"; je souhairais renommer
tous les onglets de CNQUERAN PARIS; BNQUERAN PARIS en CNQUERAN BREST, BNQUERA BRESTet les onglets
CNQUERAN NOISY en CNQUERAN RENNES ....il y a 4 villes à chaque fois.


Merci de votre aide
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Renommer automatiquement une partie d un onglet

Bonjour Thierry, bonjour le forum,

Peut-êter comme ça, ce code fonctionne si le nom des onglet ne contient qu'un espace... :
Code:
Sub Macro1()
Dim o As Worksheet 'déclare la variable o (Onglet
Dim t As String 'déclare la variable t (Texte)

For Each o In Sheets 'boucle sue tous les onglets du classeur
    On Error Resume Next 'gestion des erreur (si une erreur est générée, va à l'étiquette "suite")
    t = Split(o.Name, " ", -1)(1) 'définit le texte t qui correspont au texte après le premier espace (si le nom de l'onglet ne contient pas d'espace cela génère une erreur)
    If Err <> 0 Then Err.Clear: GoTo suite 'su une rrreur est générée, supprime l'erreur et va à l'étiquette "suite"
    Select Case t 'agit en fonction de t
        Case "PARIS" 'cas "PARIS"
            o.Name = Replace(o.Name, "PARIS", "BREST") 'remplace "PARIS" par "BREST"
        Case "NOISY" 'cas "NOISY"
            o.Name = Replace(o.Name, "NOISY", "RENNES") 'remplae "Noisy" par "RENNES"
    End Select 'fin de l'action en fonction de...
suite: 'étiquette
Next o 'prochain onglet de la boucle
End Sub
Tu adapteras pour les autres villes...
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 203
Membres
103 157
dernier inscrit
youma