renommer automatiquement une feuille lors de l'insertion

  • Initiateur de la discussion Initiateur de la discussion yves03
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yves03

XLDnaute Occasionnel
Bonjour,
j'ai ce code qui fonctionne bien pour inserer une feuille d'un autre fichier dans mon fichier actif, a condition que la feuille rechercher s'appelle "Movex" ( c'est le nom que j'ai donné)
J'aurais aimé que quelque soit le nom de la feuille que je copie qu'elle soit automatiquement renommer en "Movex" quand elle est inserer dans le fichier actif.
Je vous joint le code se sera peut etre plus clair;
Merci d'avance

PHP:
Sub CopieMovex()
    Dim NomFeuille As String
    Dim sh As Worksheet
    NomFeuille = InputBox("Indiquez le nom de la feuille à copier", "Copie")
    If NomFeuille = vbNullString Then Exit Sub

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    FichDest = ActiveWorkbook.Name
    Workbooks(FichDest).Sheets("Movex").Delete
           FichDep = Application.GetOpenFilename
    If FichDep = False Then Exit Sub
    Workbooks.Open FichDep
    NomFich = ActiveWorkbook.Name
    'Vérifier que la feuille existe bien dans le classeur actif
    On Error Resume Next
    Set sh = Sheets(NomFeuille)
    On Error GoTo 0
    If sh Is Nothing Then
        'Elle existe pas, on avertit et on sort
        MsgBox "La feuille '" & NomFeuille & "' est introuvable", vbExclamation
    Else
        'Elle existe on la copie
        sh.Copy Before:=Workbooks(FichDest).Sheets(1)
    End If
    Workbooks(NomFich).Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Range("A2").Select
End Sub
 
Re : renommer automatiquement une feuille lors de l'insertion

Merci Hasco,
Une petite ligne fait toute la difference !!
Ca marche tres bien.

J'ai encore un probleme au cas ou le nom de la feuille n'existe pas, il me supprime ma feuille " Movex " Ici:

Workbooks(FichDest).Sheets("Movex").Delete

Mais elle n'est pas remplace par la nouvelle comme le nom n'etait pas correct.

Et ensuite mes macros bloque car il n' y plus de feuille "Movex"

Il faudrait dans tout les cas qu'il reste une feuille "Movex"
Merci d'avance
 
Re : renommer automatiquement une feuille lors de l'insertion

Re bonjour Yves,

Alors ce doit être quelque chose comme ceci:
Code:
    If sh Is Nothing Then 
        '[COLOR=#0000bb]Elle existe pas[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]on avertit et on sort 
        MsgBox [/COLOR][COLOR=#dd0000]"La feuille '" [/COLOR][COLOR=#007700]& [/COLOR][COLOR=#0000bb]NomFeuille [/COLOR][COLOR=#007700]& [/COLOR][COLOR=#dd0000]"' est introuvable"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]vbExclamation 
    [/COLOR][COLOR=#007700]Else 
        '[/COLOR][COLOR=#0000bb]Elle existe on Détruit l'ancienne et on copie la nouvelle [/COLOR]
[COLOR=#0000bb]        Workbooks[COLOR=#007700]([/COLOR][COLOR=#0000bb]FichDest[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]Sheets[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Movex"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]Delete 
[/COLOR]
        sh[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Copy Before[/COLOR][COLOR=#007700]:=[/COLOR][COLOR=#0000bb]Workbooks[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]FichDest[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]Sheets[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]1[/COLOR][COLOR=#007700]) [/COLOR]
[COLOR=#007700]        ActiveSheet.Name="Movex"
    [/COLOR][COLOR=#0000bb]End [/COLOR][COLOR=#007700]If [/COLOR]

Bien sûr il faut enlever la première ligne:
Workbooks(FichDest).Sheets("Movex").Delete
en haut de macro

A+++
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Excel VBA
Réponses
5
Affichages
464
Réponses
2
Affichages
332
Réponses
4
Affichages
671
Retour