XL 2019 Problème de Noms

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

ThierryP

XLDnaute Occasionnel
Bonsoir le forum,

Un truc étrange vient de me tomber dessus et je n'arrive pas à comprendre, donc me voici en train d'appeler au secours !
Dans un fichier sur lequel je travaille depuis quelques jours, j'ai un certain nombre de plages / cellules nommées sur différents onglets, que j'utilise dans diverses macros. Jusqu'à il y 1 heure environ, tout se passait bien.... Maintenant, chaque fois que je fais un appel type Range("Truc"), j'ai un beau message d'erreur "Variable objet ou etc....".
Pourtant, si je fais un debug.print des noms de mon fichier, ils sont tous là, avec leur adresse et tout et tout......

Si quelqu'un a un bout de début de commencement d'idée, qu'il en soit remercié !!!
 
Bonjour.
Nous on le trouverait, très probablement, ce qui ne va pas, si vous nous en donniez la possibilité …
Bonjour Bernard,

je sais... mais je ne l'ai pas fait pour deux raisons, un le temps d'anonymiser le fichier et deux quand je viens sur le forum, c'est plus pour apprendre à pêcher que pour avoir un poisson 😉😉 et je me suis dit qu'il pouvait y avoir une raison "générique" et pas spécialement liée à mon fichier...

Encore plus étrange...... Hier soir, j'avais cette liste de noms dans mon fichier :
Admin1 - =Parametres!$L$3 -
Admin2 - =Parametres!$L$4 -
Adresse - =Parametres!$L$2 -
Agents - =OFFSET(Parametres!$A$2,,,COUNTA(Parametres!$A$2:$A$999998)) -
Domaine - =Parametres!$N$2 -
Initialisation - =Parametres!$TP$1 -
Jour - =Parametres!$Z$2:$Z$7 -
Securite - =Parametres!$TP$2 -
Statut - =OFFSET(Parametres!$G$2,,,COUNTA(Parametres!$A$2:$A$999998)) -
User - =Log!$TP$1952 -

Ce matin, j'ouvre le fichier et voici ce que j'ai comme noms :
Suivi Pointage 2024.xlsm
Admin1 - =Parametres!$L$3 - 00:00:00
Admin2 - =Parametres!$L$4 - 00:00:00
Adresse - =Parametres!$L$2 - 00:00:00
Domaine - =Parametres!$N$2 - 00:00:00

Je ferme le fichier sans sauvegarder, je l'ouvre à nouveau et là je n'ai plus aucun nom
Du coup, mon fichier en P.J. (ou du moins ce qu'il en reste !!)

Si quelqu'un a une idée, parce que là le peu de neurones qui me reste est train de surchauffer !!!

Merci d'avance !
 

Pièces jointes

Je comprends l'emoji..... mais pas le phénomène ! Dans le WorkBook_Open, il y a ceci :

VB:
Private Sub Workbook_Open()
Call ControleUtilisateur
Application.ScreenUpdating = False
Application.EnableEvents = False
Bouge_Enter = Application.MoveAfterReturn
Application.MoveAfterReturn = False
ThisWorkbook.Unprotect
'''''' If Month(Date) =12 Then Feuil1.CB_New_Year.Visible = true Else Feuil1.CB_New_Year.Visible = false
Feuil1.Activate
Feuil2.Visible = xlSheetVeryHidden
Feuil3.Visible = xlSheetVeryHidden
If Feuil1.Range("Initialisation") = "VRAI" Then
    Call Initialisation
    With Feuil3
        .Visible = xlSheetVisible
        .Select
        .Unprotect Feuil1.Range("Securite")
        With .Range("B3")
            .Select
            .Value = Premier_Janvier_Ouvrable(Year(Date))
            Call Calendrier(Year(Date))
        End With
        Feuil1.Activate
        .Visible = xlSheetVeryHidden
    End With
    If Feuil1.Range("A" & Feuil1.Cells.Rows.Count).End(xlUp).Row = 1 Then
        MsgBox "Vous devez maintenant créer la liste des agents."
        Feuil1.Range("A2").Select
        GoTo suite
    End If
End If
suite:
'ThisWorkbook.Protect structure:=True
Application.EnableEvents = True
End Sub

A aucun moment je ne ferme Excel...
Dans la macro ControleUtilisateur, il y a ceci :

Code:
Sub ControleUtilisateur()
Dim NomUser As String
NomUser = String(100, Chr$(0))
GetUserName NomUser, 100
Utilisateur = UCase(Left$(NomUser, InStr(NomUser, Chr$(0)) - 1))
Application.EnableEvents = False
Range("User") = Utilisateur
Application.EnableEvents = True
End Sub

La macro "Initialisation" est un peu longue, je ne la mets pas dans ce message, mais en tous cas Excel ne devrait pas se fermer !
 
Bonjour à tous,
je n'ai plus aucun nom
Ils sont masqués, probablement par une de vos nombreuses macros.

Pour les afficher exécutez ce code :
VB:
Sub a()
Dim nom As Name
For Each nom In ThisWorkbook.Names
nom.Visible = True
Next
End Sub
Je n'ai pas eu le problème de Dranreb mais la macro Workbook_Open plante sur le nom "Initialisation" qui est défini sur un autre classeur.

A+
 
Bonjour à tous,

Ils sont masqués, probablement par une de vos nombreuses macros.

Pour les afficher exécutez ce code :
VB:
Sub a()
Dim nom As Name
For Each nom In ThisWorkbook.Names
nom.Visible = True
Next
End Sub
Je n'ai pas eu le problème de Dranreb mais la macro Workbook_Open plante sur le nom "Initialisation" qui est défini sur un autre classeur.

A+
Bonjour Job75,
Oui tous ces noms sont masqués, c'est normal... Ce qui l'est moins c'est de les voir en faisant un debug.print, mais que mes macros plantent en faisant appel à ces noms !
 
Dans la feuille "Parametres", macro Worksheet_BeforeDoubleClick :

- Range doit obligatoirement définir une plage dans cette feuille

- or pour Range("Initialisation") le nom est défini dans un autre classeur => bug

- or pour Range("User") le nom est défini dans la feuille "Log" => bug.

Il faut donc préciser le classeur et la feuille, éventuellement utiliser Evaluate.
 
Finalement, j'ai reconstruit mes tables de noms, tout re-fonctionne mais je ne m'explique toujours pas ce qui a pu se produire.... Il n'est pas non plus exclu que le problème ait été quelque part entre la chaise et l'écran....

Merci à tous ceux qui se sont penchés sur mon souci (et encore une fois désolé Bernard !)
 
Dans la feuille "Parametres", macro Worksheet_BeforeDoubleClick :

- Range doit obligatoirement définir une plage dans cette feuille

- or pour Range("Initialisation") le nom est défini dans un autre classeur => bug

- or pour Range("User") le nom est défini dans la feuille "Log" => bug.

Il faut donc préciser le classeur et la feuille, éventuellement utiliser Evaluate.
Merci pour le retour Job75 !
Oui, je m'étais aperçu du souci mais j'avais déjà publié mon classeur.
toujours tourner 7 fois sa souris sur le tapis avant de cliquer !!
 
- 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

Réponses
13
Affichages
760
Réponses
10
Affichages
4 K
Retour