IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Plage nommée Fonction ReferTo qui transforme A1:B1 en L1C1:L1C2 en Fr


Sujet :

Macros et VBA Excel

  1. #1
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 585
    Points : 34 244
    Points
    34 244
    Par défaut Plage nommée Fonction ReferTo qui transforme A1:B1 en L1C1:L1C2 en Fr
    Bonjour à tous,

    je suis confronté à un problème assez casse-pied. Je développe sur mon ordi avec un Office anglophone, et le code suivant fonctionne parfaitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    '4 on modifie toutes les plages nommées avec le nom de feuille en 'ZZZ' & refersTo
            For Each nm In destwbk.Names
                If InStr(1, nm.RefersTo, "ZZZ") > 0 Then
                    Dim tmp As String
                    tmp = Mid(nm.RefersTo, 6, Len(nm.RefersTo) - 6)
                    nm.RefersTo = tmp
                ElseIf InStr(1, nm.RefersTo, "#REF!") > 0 Then
                    'Debug.Print nm.Name
                    nm.Delete
                ElseIf InStr(1, nm.RefersTo, xlwbk.Name) > 0 Then
                    nm.Delete
                End If
            Next nm
    MOn problème apparait lorsque je fais tourner ce code sur un poste avec Office en français.

    Il me transforme les Références ("=CALCULS!A1:C3") en une version R1C1 hybride (="CALCULS!L1C1:L3C3") ce qui malheureusement me génère des #NOM partout où des formules y font référence...

    Sauriez-vous quelle astuce je pourrais utiliser pour squizzer ce bug ?

    Merci d'avance.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 585
    Points : 34 244
    Points
    34 244
    Par défaut
    Héhé,

    j'ai contourné le problème en passant volontairement par le RefersToR1C1 et en changeant le L en R
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tmp = Mid(nm.RefersTo, 6, Len(nm.RefersTo) - 6)
    nm.RefersTo = tmp
    nm.RefersToR1C1 = Split(nm.RefersTo, "!")(0) & "!" & Replace(CStr(Split(nm.RefersTo, "!")(1)), "L", "R")
    c'est misérable d'en arriver là, mais je n'ai pas trouvé plus subtile.

    Je passe en résolu, mais si quelqu'un a une explication, je suis preneur.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Bonjour jpcheck

    Et si tu supprimais carrément le nom pour le recréer de nouveau ?
    Cordialement

    Docmarti.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 585
    Points : 34 244
    Points
    34 244
    Par défaut
    C'était la solution la plus simple en effet ^^.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] fonction traitement de plage nommées qui ne s execute pas
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/12/2013, 16h33
  2. Réponses: 4
    Dernier message: 04/05/2007, 23h49
  3. fonction qui transforme un entier en octet
    Par personne64 dans le forum C
    Réponses: 43
    Dernier message: 10/05/2006, 16h36
  4. [Librairies] fonction qui transforme le rtf en texte
    Par The Wretched dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/12/2005, 14h02
  5. Fonction qui transforme chaine de caractère par une autre?
    Par geoffreykill dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 09/12/2004, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo