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 :

Définir une constante


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Février 2014
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 326
    Par défaut Définir une constante
    Bonjour,

    J'ai écris une macro en mettant une constante de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Const C_chemin_source = "C:\TEST\"
    Mon souci est que j'aimerai pouvoir saisir le chemin sur sur feuille afin que la maintenance de la macro soit plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Const C_chemin_source = sheets("Constante").range("A2")
    Est ce possible ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    A ce moment ce n'est plus une constante, mais une variable qu'il faut utiliser.

    Philippe

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    cette exposé (aide interne de VBA) est pourtant très clair :
    constante
    Élément nommé conservant une valeur constante pendant toute l'exécution d'un programme. Il peut s'agir d'une chaîne, d'un littéral numérique, d'une autre constante ou d'une combinaison contenant des opérateurs logiques ou arithmétiques à l'exception de Is et de l'opérateur d'élévation à une puissance. Chaque application hôte peut définir son propre jeu de constantes. Des constantes supplémentaires peuvent être définies par l'utilisateur via l'instruction Const. Les constantes peuvent remplacer des valeurs réelles partout dans votre code.
    Et rien d'autre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("Constante").range("A2")
    ne saurait être une constante !

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Nomme la cellule A2 de la feuille Constantes, par exemple SourcePath. Pour autant que ce nom soit unique dans ton classeur, tu pourras alors utiliser cette valeur dans ton code en appelant simplement la valeur de cette cellule avec le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("SourcePath").Value
    .


    L'utilisation d'une cellule nommée permet à ton code VBA de continuer à fonctionner sans problème en cas de déplacement de la cellule ou de renommage de la feuille qui la contient.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re

    dans un modul standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public  C_chemin_source as string
    dans le workbook_open
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    C_chemin_source = "C:\TEST\"
    End Sub
    C_chemin_source sera utilisable dans tout le classeur et etre modifié quand tu veux ou tu veux dans la classeur

    https://silkyroad.developpez.com/VBA/LesVariables/#
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    @Patrick: Je pense que le souhait de Laurent est justement d'éviter le chemin en dur dans le code, de façon à pouvoir le modifier sans changer le code. Par rapport à son code initial, ta solution n'apporte rien, si ce n'est la possibilité de modifier le chemin en cours de programme, ce que semble justement vouloir éviter Laurent (d'où l'utilisation du terme "constante")...

    En fait, et ce n'est pas une attaque personnelle mais un simple constat technique, je n'aime pas ta solution pour trois raisons:
    • hard coding d'une valeur métier (le chemin) dans le code => toujours à bannir du code.
    • Utilisation d'une variable globale, toujours à bannir car elle peut être réinitialisée à la valeur par défaut de son type en cas d'arrêt du code, suite par exemple à un débogage;
    • Possibilité de modifier la valeur du paramètre dans le code, ce qui n'est certainement pas le but souhaité.



    Si on veut dématérialiser l'utilisation de la cellule nommée, on peut la cacher dans une fonction d'un module standard:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function getSourcePath() As String
      getSourcePath = Range("SourcePath").Value
    End Function
    Le code utilisera cette fonction comme n'importe quelle fonction VBA:


    On peut aussi, plus "fun", créer une propriété du classeur (le module ThisWorkBook s'il n'a pas été renommé):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Property Get SourcePath() As String
      SourcePath = Range("SourcePath").Value
    End Property
    Le code l'utilisera comme une propriété de ThisWorkBook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox ThisWorkbook.SourcePath


    On peut aussi, si l'on a plusieurs paramètres, les stocker dans un tableau structuré (voir mon tuto) et les appeler par leur nom via une fonction perso (1):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function getParameter(Name As String) As Variant
      Dim Formula As String
     
      Formula = "index(t_Parameters[Value],match(""" & Name & """,t_Parameters[Name],0))"
      getParameter = Evaluate(Formula)
    End Function
    Le code l'utilisera comme n'importe quelle fonction paramétrée de VBA:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox getparameter("SourcePath")


    On peut aussi, bien entendu, utiliser une propriété nommée du classeur (toujours dans le module ThisWorkbook):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Property Get Parameter(Name As String) As Variant
      Dim Formula As String
     
      Formula = "index(t_Parameters[Value],match(""" & Name & """,t_Parameters[Name],0))"
      Parameter = Evaluate(Formula)
    End Property
    Le code l'utilisera comme une propriété nommé de ThisWorkBook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox thisworkbook.Parameter("SourcePath")

    (1) La fonction proposée est minimaliste et renvoie une erreur en cas de nom erroné de paramètre. Dans un code bien testé, ceci ne devrait cependant jamais arriver.
    Fichiers attachés Fichiers attachés
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour pierre
    c'est une astuce que j'utilise souvent pour stocker une donnée ,sauf que je n'utilise pas de cellules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Property Get Parameter() As Variant
      Parameter = ThisWorkbook.Names("sourcepath")
    End Property
    '
    Sub test()
    MsgBox Mid(Parameter, 2)' il faut juste supprimer le "="c'est la raison du mid 
    End Sub
    Nom : Capture.JPG
Affichages : 1344
Taille : 29,7 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Alors, va jusqu'au bout de la démarche, tant qu'à faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Property Get Parameter() As Variant
      Parameter = mid(ThisWorkbook.Names("sourcepath"),2)
    End Property
    Cela dit, j'ai de gros doutes sur ce que tu dis
    Citation Envoyé par patricktoulon Voir le message
    c'est une astuce que j'utilise souvent[...]
    Car tu vas aussi récupérer les guillemets dans ta chaine de retour, si ta valeur est textuelle, et si tu ne mets pas les guillemets, ça passera après un message d'erreur, mais pas pour toutes les valeurs textuelles. La valeur c:\test, notamment, ne passera pas car Excel va la modifier à l'enregistrement... L'art de se compliquer la vie?


    Un tableau structuré sur une feuille masquée et hop, tu gères une liste indéfinie de paramètres de façon générique si tu appliques une de mes deux techniques utilisant le tableau structuré.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    si si
    tout mon maileur CDO fonctionne avec les names
    utilisateur
    toute mes adresse mail perso et pro
    chemin dossier devis
    chemin dossier facture
    chemin mails envoyés car je les sauvegarde en html en recupérant le innerhtml du div editable
    etc
    je pensais que c'etait un peu tomuch d'utiliser cette methode faut croire que non


    tu trouvera d'ailleurs diverses discussion ou je conseille d'utiliser les names pour memoriser une donnée soit en dur soit par vba
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Names.Add Name:="utilisateur", RefersTo:="patrick"
    il me semble meme l'avoir proposé pour une demande d'un membre concernant le listage des utilisateur ayant utilisé un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
     ThisWorkbook.Names.Add Name:=Environ("username") & Format(Now, "ddmmyyyyhhnn"), RefersTo:=Environ("username") & Format(Now, "  ddd dd mm yyyy - hh""h""nn")
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Si tu utilises le code que tu donnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Names.Add Name:="utilisateur", RefersTo:="patrick"
    Tu vas récupérer la chaine ="Patrick" et si tu prends mid(..., 2), tu récupèreras "Patrick". Tu as donc bien les guillemets en trop par rapport à ce que tu souhaites récupérer qui est Patrick.

    Tel que tu le donnes en tout cas, ton code n'est pas optimal puisque tu vas devoir également supprimer les guillemets de la chaine récupérée. C'est pour cela que je dis que, tel que tu le donnes ici, ça m'étonnerait que tu l'utilises souvent
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    oui c'est vrai dans mon code du mail cdo je supprime les guillemets apres c'est pas optimal j'en convient
    en meme temps je l'ai modifié comme ca en 2016 avant je travaillais avec le registre get/set(setting) je ne l'ai plus retouché depuis
    c'etait juste pour dire que l'on a pas besoins de cellule
    apres si la liste de donnée a memoriser est longue ,alors oui peut etre un tableau sera plus adequat et pour un acces plus facile le tableau faisant office d'interface
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    [...]apres si la liste de donnée a memoriser est longue ,alors oui peut etre un tableau sera plus adequat et pour un acces plus facile le tableau faisant office d'interface
    Ca me semble évident par rapport aux contorsions aberrantes nécessaires à l'exploitation des données de la zone des noms, que ce soit pour une liste de paramètres ou pour le listage des utilisateurs d'un classeur

    Sans compter que la liste des noms risque de polluer la saisie semi-automatique des formules dans un classeur. C'est à mon sens contre-productif d'utiliser les noms pour les cas que tu cites.

    Par exemple, pour lister les logs à l'ouverture du classeur, on utilise un tableau structuré des logs appelé par exemple t_Logs (éventuellement placé sur une feuille cachée voire très cachée) contenant deux colonnes et on y ajoute une ligne avec cette procédure d'un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub AddLog()
      Dim NewRow As Range
     
      Set NewRow = Range("t_Logs").ListObject.ListRows.Add().Range
      NewRow(1).Value = Environ("username")
      NewRow(2).Value = Now
    End Sub
    Il suffit d'appeler cette procédure à l'ouverture du classeur avec ce code dans le ThisWorkBook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
      AddLog
    End Sub
    Ce sera mille fois plus simple à exploiter que de devoir extraire les données concaténées dans une liste de noms du classeur... (à mon avis, en tout cas de toute évidence )
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    ben fait j'ai un regard sur 2 aspects sur ce point
    d'abords la simplicité mais aussi la facilité de la visibilité des données(du stock sous quelque forme que ce soit)
    je ne sais pas si il est plus facile de démasquer pour les moins avertis ;un sheets ou un name caché
    sachant que quand un sheets est masqué le l'item du menu("ply") ("afficher") est dégrisé tandis qu'un nom caché si tu le sais pas ......seul le bouton filtre de la boite de dialogue des name est entouré: un changement minime et difficile a voir du premier coup d'oeuil en tout cas sur 2007
    je dis ca vraiment pour les utilisateurs non avertis bien sur
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Un "name" caché... tu m'en diras tant... Et si l'utilisateur "défiltre"...?

    Une feuille verryhidden n'est affichable que par code vba.

    Allons allons Patrick ^^

    Soit les paramètres sont dans le classeur et il me semble logique de les pérenniser dans un tableau structurė, soit ils sont hors classeur, par exemple dans un fichier INI.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    j'ai dis une sottise pierre pas filtré mais bien "masquer"
    tu peux toujours essayer de défiltrer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Macro1()
    ThisWorkbook.Names("utilisateur").Visible = False
    End Sub
    '
    '
    Sub test()
    MsgBox ThisWorkbook.Names("utilisateur")'meme invisibles il sont accessibles en lecture 
    End Sub
    ca plus le code exploitant les names obfusqué walouh!!!!

    le fichier ini oui ok , reste un soucis de transportabilité
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Du code obfusqué à présent...

    J'ai vraiment du mal à comprendre ton refus des évidences... je clos ici mes interventions sur ce post. Le demandeur initial à de quoi faire et pourra choisir la solution qui lui convient le mieux


    C'est dit sans méchanceté aucune, Mais là j'ai vraiment ma dose d'idioties, de codes mal torchés et incomplets
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. [1.x] définir une constante
    Par Mitaka dans le forum Symfony
    Réponses: 2
    Dernier message: 06/06/2008, 10h55
  2. définir une constante
    Par guy68 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/04/2008, 13h10
  3. Réponses: 2
    Dernier message: 27/01/2008, 19h13
  4. définir une constante en Perl
    Par djidane39 dans le forum Langage
    Réponses: 1
    Dernier message: 14/11/2007, 14h22
  5. Réponses: 7
    Dernier message: 06/05/2006, 15h24

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