Comment travailler avec les zones de message et de saisie dans PowerPoint VBA ?

Comment travailler avec les zones de message et de saisie dans PowerPoint VBA ?

En parcourant les commentaires, j'ai vu quelques questions de lecteurs sur la façon de travailler avec les boîtes de saisie et de message Visual Basic dans PowerPoint.

Dans ce didacticiel, nous fournirons une connaissance de base très basique pour vous aider à utiliser ces fonctionnalités lors de l'automatisation de la création de votre présentation.

Configuration de l'onglet Développeur

Tout d'abord, nous devons activer l'environnement de développement pour PowerPoint. Suivez ce tutoriel pour paramétrer votre onglet de développement.

Dans PowerPoint, accédez au menu Développeur et appuyez sur Visual Basic.

Dans l'arborescence du projet, cliquez avec le bouton droit sur votre présentation, appuyez sur Insérer, puis sélectionnez Module. Un nouveau module VBA sera créé, c'est l'endroit où vous écrirez votre code.

Boîtes de message dans PowerPoint

Les boîtes de message sont en quelque sorte explicites, leur objectif est d'afficher des informations utiles à l'utilisateur final. Écrivez le code suivant dans votre module :

Sub simplemessagebox()
MsgBox ("This is a simple message box")
End Sub

Appuyez sur F5 ou Exécuter et voyez le résultat :

Comment travailler avec les zones de message et de saisie dans PowerPoint VBA ?

Exemple de message et de boîte de saisie

Contrairement aux boîtes de message, les boîtes de saisie sont utilisées pour obtenir des commentaires de l'utilisateur. Regardons l'exemple ci-dessous. Le script insère automatiquement de nouvelles diapositives dans la présentation.

Voici ce que nous allons implémenter :

  1. Nous demanderons d'abord à l'utilisateur le nombre de diapositives à ajouter (à l'aide d'une zone de saisie).
  2. Nous informerons ensuite l'utilisateur du nombre de diapositives à créer (à l'aide d'une boîte de message)
  3. Enfin, allez de l'avant et créez les diapositives par programme.
  4. Enfin, nous enregistrerons la présentation modifiée


Sub CreateSlidesMessage()

Dim NumSlides As Integer
Dim MsgResult As VbMsgBoxResult

' How many slides to create
NumSlides = InputBox("Enter number of slides to create", "Create Slides")

'User confirmation
MsgResult = MsgBox("Powerpoint will create " & NumSlides & " slides. Proceed?", vbApplicationModal, "Create Slides")

'create the slides
If MsgResult = vbOK Then
    For i = 1 To NumSlides
        Set NewSlide = ActivePresentation.Slides.Add(Index:=i + 1, Layout:=ppLayoutBlank)
    Next i
    'Save the Presentation
    ActivePresentation.SaveAs("Your Presentation.pptx")
    MsgBox ("Presentation Saved.")
End If

End Sub

J'espère que cela a aidé, n'hésitez pas à laisser des commentaires si nécessaire.

Vérifiez les valeurs renvoyées par la fonction MsgBox

Lorsque la boîte de dialogue MsgBox apparaît pour l'interaction de l'utilisateur, vous souhaitez savoir sur quelle option l'utilisateur a cliqué, vous pouvez utiliser le code suivant pour vérifier cela :

Le code vérifie quel bouton l'utilisateur choisit sur MsgBox

En fonction du choix de chaque utilisateur, vous pouvez continuer à exécuter différents codes. Ces codes VBA, vous pouvez les apprendre dans les cours VBA avec des experts de renom sur Apprendre Excel en ligne.

MsgBox prend-il en charge le vietnamien accentué ? La réponse est non, pourquoi ? Parce que Microsoft l'a programmé comme ça. Mais existe-t-il un autre moyen ? La réponse est oui, vous pouvez lire l'article Utiliser le vietnamien accentué avec MsgBox VBA

Tout le code dans l'article que vous pouvez voir sur Gist :

  Sous HeoBasicMessageBox()
  MsgBox "Xin chao cac ban da den voi Hoc Excel Online"
  Fin du sous-marin
   
  Sous HeoBasicMessageBoxWithTitle()
  MsgBox "Xin chao cac ban da den voi Hoc Excel Online", , "HEO"
  Fin du sous-marin
   
  Sous HeoBasicMessageBox2()
  MsgBox "Hoc Excel Online", _
  vbOKAnnuler + _
  vbCritique + _
  vbDefaultButton1 + _
  vbApplicationModal
  Fin du sous-marin
   
  Sous HeoBasicMessageBox3()
  MsgBox "Hoc Excel Online", _
  vbOKAnnuler + _
  vbCritique + _
  vbDefaultButton1 + _
  vbSystèmeModal
  Fin du sous-marin
   
  Sous HeoMsgBoxResult1()
  Réponse faible comme VbMsgBoxResult
   
  réponse = MsgBox("Hoc Excel Online", vbOuiNon + vbCritical)
  Réponse MsgBox
  Fin du sous-marin
   
  Sous HeoMsgBoxResult2()
  Réponse faible comme VbMsgBoxResult
   
  réponse = MsgBox("Hoc Excel Online", vbOuiNon + vbQuestion)
  Réponse MsgBox
  Fin du sous-marin
   
  Sous HeoMsgBoxResult3()
  Réponse faible comme VbMsgBoxResult
   
  réponse = MsgBox("Hoc Excel Online", vbOuiNon + vbExclamation)
  Réponse MsgBox
   
  Fin du sous-marin
   
  Sous HeoMsgBoxResult4()
  Réponse faible comme VbMsgBoxResult
   
  réponse = MsgBox("Hoc Excel Online", vbOuiNon + vbInformation)
  Réponse MsgBox
  Fin du sous-marin
   
  Sous HeoMsgBoxResult5()
  Réponse faible comme VbMsgBoxResult
  réponse = MsgBox ("Erreur", vbAbortRetryIgnore + vbDefaultButton1 + vbMsgBoxHelpButton)
  Réponse MsgBox
  Fin du sous-marin
   
  Sous HeoMsgBoxResult6()
  Réponse faible comme VbMsgBoxResult
  réponse = MsgBox ("Erreur", vbAbortRetryIgnore + vbDefaultButton2 + vbMsgBoxHelpButton)
  Réponse MsgBox
  Fin du sous-marin
   
  Sous HeoMsgBoxResult7()
  Réponse faible comme VbMsgBoxResult
  réponse = MsgBox ("Erreur", vbAbortRetryIgnore + vbDefaultButton3 + vbMsgBoxHelpButton)
  Réponse MsgBox
  Fin du sous-marin
   
  Sous HeoMsgBoxResult8()
  Réponse faible comme VbMsgBoxResult
  réponse = MsgBox("Erreur", vbAbortRetryIgnore + vbDefaultButton4 + vbMsgBoxHelpButton)
  Réponse MsgBox
  Fin du sous-marin
   
  Sous HeoMsgBoxResult9()
  Réponse faible comme VbMsgBoxResult
  réponse = MsgBox("Voulez-vous réessayer ?", vbRetryCancel + vbQuestion, "Erreur")
  Réponse MsgBox
  Fin du sous-marin
   
  Sous HeoMsgBoxResult10()
  MsgBox "Une erreur critique s'est produite", vbCritical, "Erreur système"
  Fin du sous-marin

Gingembre 2.7.53.0

Gingembre 2.7.53.0

Ginger est un vérificateur d'orthographe et de grammaire gratuit.

Blocs

Blocs

Blocks est un jeu intellectuel permettant aux élèves de 3e année du primaire de mettre en pratique leurs compétences de détection et de vision. Il est inclus par les enseignants dans le programme de soutien pédagogique en informatique.

Prezi 6.26

Prezi 6.26

Prezi est une application gratuite qui vous permet de créer des présentations numériques, en ligne et hors ligne.

Mathway

Mathway

Mathway est une application très utile qui peut t'aider à résoudre tous ces problèmes mathématiques qui nécessitent un outil plus complexe que la calculatrice intégrée de ton appareil.

Présentateur Adobe

Présentateur Adobe

Adobe Presenter est un logiciel d'apprentissage en ligne publié par Adobe Systems, disponible sur la plate-forme Microsoft Windows en tant que plug-in Microsoft PowerPoint.

Toucans 2.3.0

Toucans 2.3.0

Toucan est une plateforme technologique éducative. Il vous permet d'apprendre une nouvelle langue tout en parcourant des sites Web courants et quotidiens.

ENetViet 24.2

ENetViet 24.2

eNetViet est une application qui permet de connecter les parents avec l'école où étudient leurs enfants afin qu'ils puissent comprendre clairement la situation d'apprentissage actuelle de leur enfant.

Duolingo

Duolingo

Duolingo - Apprendre des langues gratuitement, ou simplement Duolingo, est un programme éducatif qui vous permet d'apprendre et de pratiquer de nombreuses langues différentes.

Typagerapide

Typagerapide

RapidTyping est un outil de formation au clavier pratique et facile à utiliser qui vous aidera à améliorer votre vitesse de frappe et à réduire les fautes d'orthographe. Avec des cours organisés pour de nombreux niveaux différents, RapidTyping vous apprendra à taper ou à améliorer les compétences existantes.

MathType 7.4.10.53

MathType 7.4.10.53

MathType est un logiciel d'équation interactif du développeur Design Science (Dessci), qui vous permet de créer et d'annoter des notations mathématiques pour le traitement de texte, les présentations, le eLearning, etc. Cet éditeur est également utilisé pour créer des documents TeX, LaTeX et MathML.