Explications des lignes de programme svp

Résolu/Fermé
lynda789456 Messages postés 225 Date d'inscription mercredi 24 février 2016 Statut Membre Dernière intervention 22 novembre 2016 - 6 mai 2016 à 15:49
lynda789456 Messages postés 225 Date d'inscription mercredi 24 février 2016 Statut Membre Dernière intervention 22 novembre 2016 - 6 mai 2016 à 20:02
Bonjour tous le monde !
SVP expliquez moi via des petits commentaires le role de chaque ligne du code!
Pourquoi on créé des macro?quels sont leurs roles?et pourquoi des fois on insère des modules ?
Private Sub Workbook_beforePrint(Cancel As Boolean)
    Dim strPw As String, MDP
    
    strPw = "essai"
    MDP = InputBoxDK("Entrez le mot de passe...", "Password")
    If MDP <> strPw Then
        If MDP <> "" Then MsgBox ("Impression INTERDITE!!!!")
        Cancel = True
    End If
End Sub

Cordialement ;)

2 réponses

Utilisateur anonyme
6 mai 2016 à 18:02
Bonjour lynda789456,

============================================

Rappel : VBA est le sigle de Visual Basic for Application ; celui du
tableur EXCEL en est une version spécialement adaptée (pour
prendre en compte toutes les spécificités du tableur) ; on appelle
parfois cette version VBE : Visual Basic for Excel.

============================================

Sans utiliser de macros, ou si tu préfères, sans utiliser de code VBA,
tu peux déjà faire beaucoup de choses avec le tableur EXCEL.

Mais si tu fais du VBA, ça te permet d'aller beaucoup plus loin,
car tu peux écrire des macros qui peuvent faire des choses
qu'il serait tout simplement impossible de faire sans !

-------------------------------------------------------------------------------

Pour programmer en VBA, il faut aller sur l'éditeur de Visual Basic :
quand tu es sur EXCEL (feuille de calcul, graphique ou autre),
< Alt >< F11 > va dessus.

Si tu veux retourner à EXCEL avec l'intention de revenir sur
l'éditeur VBA : < Alt >< F11 > de nouveau.

Si tu veux retourner à EXCEL tout en fermant l'éditeur VBA :
< Alt >< q > pour « quitter ».

-------------------------------------------------------------------------------

Quand tu es sur l'éditeur VBA, il faut obligatoirement insérer
une feuille spéciale qu'on appelle « Module » : c'est une page
blanche, comme dans Word, où tu écris ton code VBA.

C'est donc à cet endroit que sont les macros que tu écris ;
et quand, depuis EXCEL, l'utilisateur utilise la commande
« Enregistrer une macro », c'est aussi à cet endroit que
sont placées les macros.

Le 1er module s'appelle Module1 ; les suivants seront
Module2, Module3, etc... Mais tu peux leur donner
un autre nom.

-------------------------------------------------------------------------------

Le code VBA que tu as donné en exemple a pour but d'empêcher
l'impression si l'utilisateur n'as pas introduit le mot de passe
correct. En anglais, password = mot de passe.

Le programmeur choisit lui-même le nom des variables, tout en
respectant certaines restrictions : certains caractères sont
interdits. Donc ici, le programmeur a choisi le nom strPw car :
a) str est l'abréviation de string : chaîne de caractères
b) Pw est l'abréviation de Password

Le mot de passe choisi est ici « essai », donc comme on le voit,
il n'est pas secret et tout le monde peut le connaître. Mais c'est
voulu par le programmeur car il s'agit d'un programme de
démonstration. Dans un cas d'utilisation réelle, le code VBA
serait protégé et on ne pourrait pas le voir, donc cette fois,
le mot de passe serait bien secret.

L'instruction InputBox permet à l'utilisateur de saisir une donnée.
Mais ici, c'est une version spéciale InputBoxDK qui n'existe pas
au départ dans le VBA. Le code que tu as donné en exemple est
donc pour cela mal choisi, car il est incomplet et ne contient pas
cette version spéciale de InputBox.

Cependant, je peux quand même te dire que InputBoxDK permet
à l'utilisateur de saisir une donnée, mais en remplaçant tous les
caractères saisis par une astérisque (*), cela pour préserver la
confidentialité du mot de passe saisi (donc une personne placée
derrière celui qui tape ne pourra pas voir le mot de passe sur
l'écran).

Je ne détaille pas plus car ce n'est justement pas un bon exemple,
et je te recommande d'apprendre le VBA avec des livres papiers
d'initiation à ce langage, ou avec leur équivalent Internet.

Cordialement.  😊
 
0
lynda789456 Messages postés 225 Date d'inscription mercredi 24 février 2016 Statut Membre Dernière intervention 22 novembre 2016
6 mai 2016 à 20:02
Merci beaucoup, beaucoup , beaucoup monsieur c gentil pour tous c explications :)
Bonne soirée :)
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
6 mai 2016 à 18:09
Bonjour,

petites explications:
'evenement a la suite demande impression
Private Sub Workbook_beforePrint(Cancel As Boolean)
    Dim strPw As String, MDP        'declaration des variables
    
    strPw = "essai"     'affectation a une valeur
    MDP = InputBoxDK("Entrez le mot de passe...", "Password")       'resultat de la fonction InputBoxDK (module:MMDP_InputBox_Etoiles) dans MDP
    If MDP <> strPw Then        'test si MPD entré different du mot de passe attendu contenu dans strPw
        If MDP <> "" Then MsgBox ("Impression INTERDITE!!!!")   'test si MDP non vide boite a message
        Cancel = True       'drapeau pour excel pour annuler l'impression
    End If
End Sub



infos sur les Macros excel (Procedure):
https://fr.wikiversity.org/wiki/Macros-commandes_VBA/Les_Macros_Excel
https://www.commentcamarche.net/contents/1374-macros-comment-les-creer
0
lynda789456 Messages postés 225 Date d'inscription mercredi 24 février 2016 Statut Membre Dernière intervention 22 novembre 2016
6 mai 2016 à 20:02
Merci beaucoup monsieur, vous m'avez éclairci les choses avec ces commentaires, je vous remercie infiniment ;)
Bonne soirée :)
0