Commentaire

Bonoire a tous

svp si vous-pouvez me faire des commentaire dans le code vba pour comprends le code comment il fonctionne

voila le ficher

bonjour,

Il n'y a pas grand chose à commenter ! Juste une petite difficulté à comprendre, mais il faut déjà avoir compris le concept des Array.

Un array est un tableau virtuel que l'on charge en mémoire parce que c'est plus rapide à manipuler plutôt que de faire référence à une base de donnée. Pourquoi c'est plus rapide ? Parce que comme il est en mémoire, il ne s'occupe pas de savoir s'il doit écrire gros ou petit, centré ou pas, en couleur... Il ne s'occupe que des valeurs et de l'endroit ou ces valeurs sont rangées (ligne, colonne)

Donc dans la Sub Initialize du UserForm, VBA charge en mémoire la BD préalablement trié dans un Array (TblBD) et il fourre tout ça dans le Combo.

Ensuite comme la base est triée quand tu click dans le Combo, VBA en déduit le N° de ligne dans la base et dans cet Array.

L'array se manipule exactement comme le tableau lui même si tu cliques sur le premier item, VBA en déduit que c'est le premier de la base de donnée donc de l'Array.

Donc il lit l'array exactement comme il lirait la BD : Si tu as cliqué sur la première ligne il lit successivement la première ligne de l'Array.

TblBD(1,1) 'ligne 1, première colonne

TblBD(1,2) 'deuxième colonne

TblBD(1,3)... pour fourrer les données dans les TextBox

Après quand tu appuies sur un bouton YAPUKA agir en conséquence si tu valides une modification la ligne ne change pas donc on écrit sur la même ligne que l'Array (plus 1 car la ligne d'en tête de colonne n'est pas stockée dans l'array.)

S'il s'agit d'une suppression ou d'un ajout VBA supprime la ligne ou l'ajoute. Et recharge l'Array et le Combo pour que les 2 soient parfaitement identiques...

Vala... pour le fonctionnement. En dehors de cet array, tout ce qu'il y a de plus simple : On ne peut faire qu'un petit reproche à jb (Boisgontier) c'est qu'il ne déclare pas ses variables privées, donc quand tu vois des i, nf, chemin, Enreg, EnregBD, toussa c'est des variables créées à la volées dans la procédure. Comme elles ne sont utilisées qu'une fois et uniquement dans cette procédure, c'est pas bien gènant... mébon je conçoit que pour une débutant auquel on conseille de faire systématiquement des déclarations, ce soit un peu déroutant.

Tout le reste c'est du vocabulaire élémentaire VBA : hum... Je vais pas t'en faire un dictionnaire hein ? Tu sais te servir de la touche F1 !

A+

merci galopin01 pour ton commentaire je vais essayé de comprends le concept des Array en tout les cas je veut juste savoir comment ajouter une photo dans un formulaire comme sur le formulaire de boisgontier mai bon vue que je suis débutent dans excel je trouve pas la solution !!!!!

Alors je vais te détailler juste le principe de la photo pour CE formulaire.

Après l'adaptation à TON classeur sera sans doute une autre affaire... il faudra joindre ton fichier avec les colonnes qui correspondent à ton besoin...

Quand tu appuies sur le bouton "Go" de la démo de jb, le UserForm se charge avec les données de la base de donnée.

Bien sûr dans ton cas les données correspondant aux images ne conviennent pas car le chemin et les images ne correspondent pas.

Mais tu ne t'en aperçois pas car le formulaire se charge par défaut en mode "vide" (pour ajouter un enregistrement)

si dans le combo tu choisis BOUCHEZ par exemple la fiche se met à jour sans image car la photo indiquée ne correspond pas à ce qui est prévu.

Si tu cliques sur le bouton PHOTO du UseForm le programme te propose alors de changer de photo en choisissant sur ton disque dur dans "Ton répertoire" la photo qui t'intéresse. Quand tu DoubleClic sur l'image de ton choix celle ci apparait dans le UserForm avec l'indication du nouveau chemin.

YAPUKA valider pour que celui-ci se modifie dans la Base de données.

Voilà pour le principe.

Après entre le principe et la pratique, il y a souvent quelques petites différences : Il n'est souvent pas très utiles de stocker tout le chemin des images (surtout s'il est long) La plupart du temps les images étant toutes dans un dossier commun, le code est modifié en conséquence pour mémoriser le chemin identique pour tous et n'avoir qu'à noter le nom de l'image ou la référence à l'enregistrement si ta base est indexée.

A noter si tu envisages un truc comme ça qu'il faut utiliser des images .jpg fortement comprimées (enregistrées avec une faible qualité de résolution)

Ok ?

A+

Re salut galopin01 ça fait plaisir de lire t'es commentaire merci pour tes conseils et tes explication

je vais continue a développe mon petit Project après je t'envois le ficher pour me noté

Rechercher des sujets similaires à "commentaire"