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 :

Simplification du code


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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
    En fait, Robert, si des gens se détournent d'Excel et d'Office dans leur sphère professionnelle (ou disent qu'ils se détournent de ces outils), et si Excel et Access sont si mal aimés des DSI, peut-être Est-ce parce que les utilisateurs qui viennent chercher des solutions sur les forums ne s'entendent pas suffisamment dire qu'ils sont dans l'erreur. Parce que Excel comme Access sont des outils fabuleux ou abominables selon leur utilisation. Bien utilisés (avec les données dans un seul tableau structuré plutôt que dans 12 feuilles), ces outils sont simplement fabuleux.

    Mais conforter l'utilisateur dans sa mauvaise utilisation de l'outil puis venir cracher sur cet outil me laisse pantois.

    En ce qui concerne la demande initiale: Quelle est la question posée? Simplifier mon code svp (c'est le titre de la discussion). Eh bien pour moi, simplifier le code, c'est d'abord simplifier la conception du classeur et la mettre en conformité avec les bonnes pratiques. Après, le code devient simple et léger (dans 99,999% des cas). Et dans pas mal de cas, il devient même inutile.
    "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...
    ---------------

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je suis,et c'est pas la première fois, encore d'accord avec toi.

    Si je lutte dans ma société pour ne plus voir fleurir des fichiers Excel c'est pour une capitalisation de information.

    Ce que je fais alimente le travail de celui qui est derrière moi et ainsi de suite.

    Mais je vais rendre la parole au demandeur et le suivre attentivement sens piétiner son poste.

  3. #3
    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
    libre au developpeur de respecter l'orthographe des mois dans l'array
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Dim LeSheet As Worksheet, i&, mois
        mois = Array("", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aôut", "Septembre", "Octobre", "Novembre", "Décembre")
        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual
        Application.EnableEvents = False
        With Sheets("Dashboard")
            With .Range("AD6:AO6")
                .NumberFormat = "0"    'formatage ligne 6
                .Offset(1).NumberFormat = "0"  'formatage ligne 7
                .Offset(2).NumberFormat = "0%"  'formatage ligne 8
                .Offset(3).NumberFormat = "0"  'formatage ligne 9
                .Offset(4).NumberFormat = "0"  'formatage ligne 10
                .Offset(5).NumberFormat = "0%"""  'formatage ligne 11
     
                For i = 1 To .Cells.Count
                    Set LeSheet = Sheets(mois(i))
                    .Cells(i) = LeSheet.Range("F226").Value    'ligne 6
                    .Cells(i).Offset(1, 0) = LeSheet.Range("G226").Value    'ligne 7
                    .Cells(i).Offset(2, 0) = LeSheet.Range("H226").Value    'ligne 8
                    .Cells(i).Offset(3, 0) = LeSheet.Range("I226").Value    'ligne 9
                    .Cells(i).Offset(4, 0) = LeSheet.Range("J226").Value    'ligne 10
                    .Cells(i).Offset(5, 0) = LeSheet.Range("K226").Value    'ligne 11
                Next
            End With
        End With
        Application.ScreenUpdating = True
        Application.Calculation = xlCalculationAutomatic
        Application.EnableEvents = True
    voila meme si on va en amerique de toute facon c'est comme ca que s'appellent ses feuilles
    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

  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
    Citation Envoyé par patricktoulon Voir le message
    [...]

    voila meme si on va en amerique de toute facon c'est comme ca que s'appellent ses feuilles


    Monsieur le vendeur, je voudrais un cuisine bleue.
    Monsieur l'acheteur, je ne fais que des cuisines brunes, chez vous et partout ailleurs...

    "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
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il y a déjà suffisamment de risque d'erreurs pour ne pas en rajouter en utilisant une version littérale des mois (ce qui, d'ailleurs, n'apporte pas grand chose).
    Un tableur est conçu pour manipuler des nombres (même s'il sait faire d'autres choses). Plus on s'en éloigne, moins il est compétent.
    Donc inutile de se risquer sur le terrain littéraire lorsque cela n'a pas de réelle utilité et que ça apporte risques et complications.

  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
    Ce serait rigolo si les gens ne perdaient pas du temps à tester tes c***
    "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
    re
    je l'ai ai testé sur un classeur neuf
    avec debug.print sur les address et tout le toutim
    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
    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
    puré ca y va les shoots hein

    moi aussi je vais faire pareil

    bon pierre si tu doute voila une copie
    Fichiers attachés Fichiers attachés
    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

  9. #9
    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
    Le problème, c'est que plusieurs ici essaient de te donner des pistes pour des solutions pro mais tu ne veux rien entendre et tu restes sur tes positions. Je rappelle que si on "critique" tes solutions, c'est d'abord parce qu'elles ne fonctionnent pas et qu'on t'aide à ce qu'elles fonctionnent. Parfois, le ton de nos réponses est un peu à l'agacement devant ton entêtement, mais on fait avec, et on s'accroche quand même.

    Mais perso, si tu le prends comme cela, je vais changer mon fusil d'épaule...

    Pour ce qui est de ta solution, je ne dis pas qu'elle n'est pas fonctionnelle, je ne l'ai même pas testée. Je dis que c'est une erreur de coder avec les noms des feuilles (sauf cas super exceptionnel qui n'est pas rencontré ici), encore plus lorsque ceux-ci sont récupérés par fonction, alors que tout qui s'y connait un tout petit peu en Excel et en VBA sait que les dates et leur conversion en lettres posent des problèmes linguistiques, les valeurs renvoyées par les fonctions pouvant dépendre des configurations de Windows et d'Excel. C'est le b.a.ba d'Excel et de VBA. Et comme en plus, cette solution proposée s'appuie sur une conception de classeur qui est caduque et qui doit être modifiée pour pérenniser le classeur, tu comprendras que, même si elle est fonctionnelle, je considère que ta solution est techniquement mauvaise.

    Ceci dit, c'est juste mon avis. Ce n'est pas LA vérité en Excel, mais je peux justifier techniquement ma position (je l'ai fait, d'ailleurs). J'attends toujours que tu justifies la tienne, et que tu acceptes que l'on démonte éventuellement tes arguments.
    "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...
    ---------------

Discussions similaires

  1. Simplification de code
    Par lodan dans le forum Langage
    Réponses: 4
    Dernier message: 20/09/2006, 19h28
  2. Simplification de code
    Par lodan dans le forum Langage
    Réponses: 2
    Dernier message: 31/08/2006, 21h51
  3. Simplification de code (suite)
    Par Jeffboj dans le forum Access
    Réponses: 1
    Dernier message: 12/04/2006, 22h34
  4. simplification de code
    Par Jeffboj dans le forum Access
    Réponses: 11
    Dernier message: 11/04/2006, 15h09
  5. [c#] Simplification de code
    Par Revan012 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/02/2006, 16h44

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