Cellule nommées sur copie de worksheet

  • Initiateur de la discussion Initiateur de la discussion pezihale
  • 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 !

P

pezihale

Guest
Bonjour,

Voilà mon problème :

J'ai à copier des feuilles Excel(2003) d'un classeur à un autre, mais les cellules nommées perdent leur nom, j'ai bien tenté plusieurs méthodes mais aucune de marche.

La difficulté supplémentaire est que cette copie se fait à partir de code VBA d'un troisième classeur.

Si quelqu'un a une idée ou une piste ... voir la soluce 😀 !

Merci.
 
Re : Cellule nommées sur copie de worksheet

Si ça peut aider, voici le code de la fonction de copie, dans laquelle je voudrais que se fasse également la copie des noms des cellules nommées.

Je précise aussi que c'est pour faire suivre les nom des cellules lors de sa copie de la feuille Excel d'un classeur vers un autre.

Voilà le code de la fonction :

Code:
'copie les données de la pages du crac vers
Private Function f_Fichiers_Synt_Recup(ByVal wb_crac As Workbook, ByVal wb_synt As Workbook, ByRef p_Cpt As Byte) As String
 
    Dim l_trig As String    'trigramme en cours
    Dim X As Variant
    
    'activation du fichier de crac
    wb_crac.Activate
    
    'si fichier à mettre dans la synthèse
    If wb_crac.Sheets(c_File).Range(c_Synt).Value = "1" Then
        
        'mise à jour du compteur d'etp chargeable
        p_Cpt = p_Cpt + 1
        
        wb_synt.Activate                                           'fichier de synthèse activé
        wb_synt.Sheets(c_Synthese).Copy After:=wb_synt.Sheets(1)   'copie de l'onglet par défaut
        wb_synt.Names(c_Heures).Delete                             'suppression de la copie de nom de cellule
        wb_synt.Names(c_NbETP).Delete                              'suppression de la copie de nom de cellule
        Cells.Select                                               'sélection de toutes les cellules
        Selection.Delete Shift:=xlUp                               'suppression de toutes les cellules
    
        wb_crac.Activate                                           'fichier crac activé
        Sheets(c_File).Activate                                    'feuille CRAC du fichier activée
        Call s_unProtect                                           'déprotection de la feuille
        l_trig = Range(c_Trig).Value                               'récupération du trigramme
        
        Range(c_FlagShow).Value = 1                                'passage en mode affichage (pour bon format)
        Cells.Select                                               'selection de toutes les cellules
        Selection.Copy                                             'copie
        
        wb_synt.Activate                                           'fichier de synthèse activé
        wb_synt.Sheets(2).name = l_trig                            'renomme l'onglet creer avec le trigramme
        wb_synt.Sheets(l_trig).Activate                            'active l'onglet
        Range("A1").Select                                         'selection de la cellule en haut à gauche
        
        Selection.PasteSpecial Paste:=xlPasteColumnWidths, _
                               Operation:=xlNone, _
                               SkipBlanks:=False, _
                               Transpose:=False                    'colle spéciale "taille des colonnes"
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _
                               Operation:=xlNone, _
                               SkipBlanks:=False, _
                               Transpose:=False                    'colle spéciale "valeur et format"
        Selection.PasteSpecial Paste:=xlPasteFormats, _
                               Operation:=xlNone, _
                               SkipBlanks:=False, _
                               Transpose:=False                    'colle spéciale "format"
    
                
        f_Fichiers_Synt_Recup = l_trig
                                       
        Range("A1").Select

        
    End If
    
End Function

En espérant que ça soit plus clair.

Merci pour votre aide.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
534
Réponses
3
Affichages
884
Réponses
3
Affichages
879
Retour