Bonne pratique du codage.

12
1192

dans cette dernière partie de débuter avec excel vba nous allons voir quelque bonne pratique de codage.

Ces bonne pratique de codage que nous allons voir sont ceux que je trouve important mais il n’y a pas de règlement qui décrit comment vraiment coder proprement, si toutefois vous avez d’autre méthode de bonne pratique partagez le avec nous dans les commentaire.

Bien nommer les procédures

quelque chose de très important c’est de bien nommer ces procédures.
la raison pour la quel il est important de bien nommer ces procédures.
c’est qu’il sera plus facile de retenir à quoi sert cette procédure.

exemple .

range(“A”&DL)= “bonjour”

ce code n’est pas vraiment claire .

il faudra chercher dans le code à quoi correspond le DL.

dans notre exemple elle indique la dernière ligne.

DL = range(“B9999”).end(xlUp).row

pour le rendre plus visible nous pouvons remplacer le DL par dernière_ligne

range(“A”&dernière_ligne) = “Bonjour”

ici le code est plus claire, nous pouvons lire comme suite cellule A et dernière ligne = bonjour

cette règle ne se limite pas seulement au variable mais aussi au objets telle que les zone de texte, les combobox. etc.

utiliser Option explicit

comme nous somme occuper avec les variable. il est fortement conseiller t’uiliser l’option explicit.
qui vas controler que chaque variable est bien déclarer dans notre code.

nous allons reprendre l’exemple précédente.
nous allons faire une faute de frappe et donc placer le code suivant.

range(“A”&ds)= “bonjour

la nous pouvons voir que rien ne se passe.
pourtant nous voulons que notre code effectue le DL.

et donc si nous ajoutons option explecit au dessus de notre code.
il va controler si une varialbe est déclarer si ce n’est pas le cas alors.

excel va nous allerter qu’il y a une variable qui n’est pas déclaré.
et donc nous allons pouvoir vérifier si elle est éxacte ou pas

Ajouter des commentaire

il est important surtout quand nous allons avoir de longue série de code de bien les commenter.
ceci afin de rappeler à quoi sert le bout de code que nous avons fait

mais attention trop de commentaire n’est pas bon non plus.
il faut que ça reste visible et raisonnable

exemple

‘les variabe utilisé sur le bouton
dim dernière_ligne as integer
dim nom as string
dim prénom as string
‘charger la liste de catégorie.
Me.catégorie. rowsource = catégorie
‘controler que le nom et prénom sont indiquer dans
if me.nom = “” or me.prénom = “” then
msgbox “ il manque une information dans le nom ou prénom”
exit sub
end if

Rendre le code lisible

garder le code lisible. c’est très important.
éviter de crée des gros bloque de code comme suite.

‘les variabe utilisé sur le bouton
dim dernière_ligne as integer
dim nom as string
dim prénom as string
‘charger la liste de catégorie.
Me.catégorie. rowsource = catégorie
‘controler que le nom et prénom sont indiquer dans
if me.nom = “” or me.prénom = “” then
                   msgbox “ il manque une information dans le nom ou prénom”
exit sub
end if

disperser le code. avec les condition faite avancer votre code qui correspond à la condition.
séparrer les bloque de code.

Erreur

c’est assez simple afin d’éviter les problèmes placer un traitement d’erreur dans chaque procédure ou fonction.
dans la partie traitement d’erreur vous pouvez retrouver comment mettre un traitement d’erreur en place


hé ben voila cette longue série de comment débuter avec excel VBA prend fin avec cette vidéo.
j’espaire que cela vous a plus et que désormais vous êtes en mesure de mieux comprendre le codage dans Excel VBA.

si vous avez encore des question faite le moi savoir d’ici la je vous retrouve dans une prochaine vidéo.

12 Commentaires

  1. bonjour Daniel

    un grand merci pour vos tutos les meilleurs que j’ai trouvé !!!
    auriez vous un sujet sur les interactions VBA et internet
    je cherche a créer des Bsd en temps réels
    grand merci 🙂

    bonne continuation
    stéph

  2. Bonjour Monsieur,
    Votre travail est remarquable et passionnant et je vous en remercie vivement. Vous est-il possible de répondre à un problème de faisabilité ?
    Bien cordialement.
    Philippe.

      • Bonjour Monsieur Daniel,
        je dispose d’une liste de fichiers karaokés perso au format. mkv et d’un tableau de bord que j’ai réalisé pour faire apparaître les titres lorsque je choisis le nom d’un interprète dans une liste déroulante; pour éviter d’ouvrir une 2ème fenêtre pour lancer la chanson choisie, je voudrais savoir s’il est possible à partir de mon tableau de bord, à l’aide d’un bouton ou en cliquant sur le titre, de faire démarrer la lecture. Je vous remercie très sincèrement de m’indiquer si cela est réalisable et évidemment comment faire.
        Très cordialement. Philippe.

          • Bonjour Monsieur Daniel,
            Vous êtes vraiment un maître en la matière et c’est admirable de voir que pour vous tout est réalisable; bravo encore pour tout ce que vous réalisez et votre savoir remarquable que vous partagez.
            Bonne journée à vous.
            Très cordialement.
            Philippe.

          • Bonjour Daniel,
            Très bien votre tuto “ouvrir un fichier extérieur avec VBA”, je l’ai réalisé et ça fonctionne parfaitement. Le problème pour moi est : comment relier mon tableau de bord existant qui me permet de choisir un chanteur dans une liste déroulante et la liste de chansons correspondant à ce chanteur ? Merci de bien vouloir me dire si celà est possible et comment faire ? Bonne journée à vous et merci encore. Philippe.

          • si vous travailler avec un formulaire du type Userform vous pouvez utiliser le combobox pour sélectionner un chanteur et puis filtrée avec un filtre avancée et afficher le tout dans un listbox comme ici :
            https://youtu.be/C8Cj5qFVHWw

            une autre méthode c’est d’ajouter les chansons avec leurs liens dans une listbox depuis une boucle for.

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.