❤️ S'abonner à la chaîne : https://bit.ly/31xepIW 💻 LIEN DE L’ARTICLE ET DE TELECHARGEMENT : https://www.excelformation.fr/deplacer-objet-vba-excel.html 🗨️ Dans ce tutoriel, je vais vous montrer comment déplacer un objet, comme une image, un bouton, un graphique etc… sur une feuille de calcul. Nous verrons ainsi que cela peut permettre de créer un mini-jeu très facilement en quelques lignes de code seulement. #Excelformation#Excel#POKEMON 😻 Si cette vidéo vous plaît, je vous invite fortement à la liker et à vous abonner à la chaîne. C’est ce qui va me permettre de développer ma chaîne, pour pouvoir continuer à vous proposer des contenus que celui-ci ! 📢 Posez-moi également toutes vos questions dans l’espace des commentaires, je me ferai un plaisir d’y répondre !
📄 SOMMAIRE : 00:00 Introduction 01:00 Présentation 01:26 La position des objets en VBA 06:00 Créer un déplacement fluide sur la feuille de calcul 09:44 Créer un mini-jeu Pokémon
comment déplacer un objet en vba pour
créer un mini jeu pokémon sur excel
bonjour à tous et alex dellal
formation.fr et dans ce tutoriel je vais
vous montrer comment déplacer un objet
comme une image un mouton ou un
graphique sur une feuille de calcul nous
verrons ainsi que cela peut permettre de
créer très facilement un mini jeu en
quelques lignes de code seulement est le
but de ce jeu sera alors d'attraper un
pikachu qui bouge sur la feuille de
calcul alors vous trouverez très
régulièrement de nouvelles vidéos sur la
chaîne alors pensez à vous abonner et
surtout à activer la pochette de
notification afin d'être sûr de ne
manquer aucune astuce est de devenir
rapidement un pro d'excel
[Musique]
comme d'habitude si vous voulez être sûr
de bien comprendre tout ce que nous
allons voir dans le cadre de cette vidéo
vous pouvez télécharger le support de ce
tutoriel ainsi que sont corrigés en
suivant le lien disponible dans la
description de la vidéo ce qui nous
permettra de réaliser les opérations en
même temps que moi pour bien comprendre
tout ce que nous allons voir dans cette
vidéo alors lorsque nous créons une
application en vba il pourra nous
arriver que nous ayons besoin de
déplacer des objets sur une feuille de
calcul dans ce tutoriel nous allons
découvrir comment effectuer ce
déplacement de manière simple et surtout
de manière rapide nous verrons également
comment des composés ce déplacement pour
le rendre fluide et naturelle et pour
que ce tutoriel soit intéressant nous
illustrerons ces notions en créant un
mini jeu dans lequel nous essaierons de
capture est le plus célèbre des pokémon
à savoir pikachu alors tout d'abord pour
bien comprendre le fonctionnement des
déplacements des objets en vba nous
allons utiliser une image que nous
placerons simplement sur la feuille de
calcul en effectuant un copier coller ou
qu ici pour coller l'image qui a déjà
été copié il suffit d'appuyer touch
control vais le récupérant ainsi notre
image de pikachu maintenant il faut
savoir que la position d'un objet sur
une feuille de calcul est déterminé en
fonction des coordonnées de deux
éléments tout d'abord la position du
point situé le plus à gauche sur l'image
donc là où nous retrouvons des trois
poignées sur la gauche et ensuite la
position du point situé sur le haut
obtenu avec la propriété top coat de
cette manière nous obtenons des
coordonnées du point situé ici en haut à
gauche ainsi pour connaître la position
de pikachu sur la feuille de calcul il
suffira d'appeler cet objet est de
consulter la valeur de ses propriétés
mais pour que la manipulation de cette
image soit plus simple possible nous
allons commencer par lui donner un nom
ce qui nous permettra ensuite de
l'appeler très simplement en vba pour
pouvoir donner un ou un objet nous
commençons par le sélectionner puis nous
nous rendons dans le menu format de
l'image qui apparaît dans le ruban
uniquement lorsque les marchés
sélectionnés et ensuite nous cliquons
sur volée de sélection excellent nous
affiche donc un volet sur la droite de
la fenêtre dans lequel nous retrouvons
notre objet il suffit de double cliquer
sur celui ci pour pouvoir le renommé
très simplement donc ici par exemple
nous allons le renommé pikachu cela est
en fait nouvelles dont en appuyant sur
entrée de cette manière comme nous
l'avons vu juste avant nous pourrons
appeler maintenant l'image en utilisant
son nom à savoir pikachu pour cela nous
allons commencer par lancer l'éditeur de
code vba en appuyant sur les touches h f
11 et comme nous faut le constater
lorsque webber va s'ouvrir nous seront
directement positionnés à l'intérieur de
notre projet et nous allons pouvoir
insérer un module en nous rendant dans
le menu insertion et modules en sachant
qu'un module est une feuille de code
dans laquelle nous allons voir saisir
nos macs recommande une fois que le
module est acéré nous allons pouvoir
créer une macro commandes en utilisant
tout simplement le mot clé seube est
super suivi du nom que nous souhaitons
donner à notre macro is in autres
maquereaux nous allons l'appeler bouger
l'image lorsque nous avons saisi le nom
nous appuyons sur entrée pour
qu'excellent nous créer la macro et
insère automatiquement donc les
parenthèses au niveau du nom de la macro
et surtout la ligne ensup à la fin de la
macro ce qui signifie que tout ce que
nous allons saisir entre ces deux lignes
se lancera automatiquement dès que nous
lancerons la macro ensuite comme l'a vu
un petit peu plus tôt pour connaître la
position de pikachu nous allons devoir
appeler les propriétés left et hop qui
sont les propriétés d'un objet celle qui
permet de manipuler l'image et qui est
lui-même un sou d'objets de la feuille
de calcul donc actif shit donc par
exemple ici nous allons afficher les
coordonnées de notre pikachu en appelant
donc l'objectif shit point shape ce donc
au pluriel ce qui nous permettra de
pouvoir appeler directement notre objet
pikachu et ensuite nous allons commencer
par appeler la propriétaire l'est qui
permet donc d'obtenir l'accord donné du
point le situer le plus à gauche de
notre image ensuite nous allons afficher
une virgule et afficher donc la
propriété top donc actives shit point
chips de pikachu encore une fois donc
pikachu entre guillemets pointe hop soul
est en fait nous avions sur f5 afin de
lancer la macro est excellent nous
informe donc que notre pikachu que nous
avons placé sur l'image est situé aux
coordonnées 86 points 25 et 99 cela est
en fait nous pouvons déplacer l'image
sur la feuille de calcul pour la placer
à une autre position puis revenir dans
la macro a pu une nouvelle fois sur f5
et bien entendu à ce moment-là excellent
nous affichera des nouvelles coordonnées
mise à jour avec la nouvelle position
maintenant il faut savoir que les
propriétés left et hop que nous avons
utilisée ici sont utilisables en lecture
comme nous venons de le faire donc pour
pouvoir consulter leur valeur mais
également en écriture signifie que nous
pouvons très simplement les modifier de
cette manière pour déplacer un objet en
vba il suffit d'affecter une valeur à
ses propriétés donc ici nous allons
modifier notre code et nous allons
placer par exemple pikachu aux
coordonnées trois cents 300 donc actif
shit point chef de pikachu point left
est égal à 300 et nous allons faire de
même pour leurs propriétés top qui sera
également situé à 300 pixels ici nous
allons placer la fait du calcul juste en
dessous et lorsque nous allons appuyer
sur f5 pikachu va automatiquement se
déplacer si nous souhaitons déplacer
l'image un endroit aléatoire de la fée
de calcul il suffira alors tout
simplement d'utiliser la fonction rnd
qui permet d'obtenir un nombre aléatoire
compris entre 0 et 1 et de multiplier
avec les coordonnées maximale que nous
voulons affecté à notre image donc ici
nous allons multiplier 300 par rld pour
la propriété left mais également pour la
propriété top maintenant à chaque fois
que nous allons appuyer sur f5 pikachu
va se placer à un endroit différent de
la fée du calcul en revanche comme nous
pouvons le constater à ce moment là le
déplacement est instantané et pour créer
un déplacement naturel il suffira
simplement de décomposer ce déplacement
en plusieurs étapes successives que nous
encadrons dans une boucle fort nous
commençons donc par créer deux variables
des variables mouvement x et mouvements
y que nous allons il peut en tant que
deux balles c'est à dire en tant que
membre à décimales donc dit mme
mouvement x asbl et mouvements y as de
belles également et pour pouvoir définir
la valeur de ces deux variables donc
tout d'abord la variable mouvement x
nous allons leur affecter comme valeur
la différence entre la position maximale
donc à savoir ici 306 nous gardons le
même exemple que nous multiplions par
rnd à laquelle nous allons retirer la
position actuelle de pikachu donc que
nous récupérons à partir des données que
nous avons ici et que nous allons par
exemple / 20 afin de créer un mouvement
en 20 états nous allons faire de même
pour mouvement y donc mouvement y est
égal à entre parenthèses 300 que nous
multiplions par rnd et à laquelle nous
allons retirer la valeur actuelle de la
propriété top que nous utilisons
également par 20 cela est en fait nous
allons créer une boucle fort donc nous
commençons par créer une nouvelle
variable que nous allons appeler i et
qui va équiper en tant que integer c'est
à dire en tant que nombres entiers puis
nous lançons la boucle nous allons
commencer par donner à la variable y la
valeur de 1 et étant donné que nous
allons vouloir répéter cette boucle va
fois nous allons aller jusqu'à ce que la
valeur de y soit égale à 20 ensuite nous
fermons la boucle avec un ex puis à
l'intérieur de cette boucle nous allons
modifier les propriétés left et hop donc
ici nous commençons par copier la
propriété left que nous allons coller
dans notre boucle afin de pouvoir lui
affecter sa propre valeur à laquelle
nous allons ajouter la valeur de
mouvement sachant nous n'avons pas vu
tout à l'heure mais bien entendu ici la
variable mouvement pourra avoir une
valeur positif lorsque le déplacement
s'effectuera vers la droite mais
évidemment une valeur négative indiquera
que le déplacement ira vers la gauche
cela est en fait nous allons maintenant
nous occuper de la propriété top donc
top est égal à sa propre valeur à
laquelle nous allons ajouter la valeur
de mouvements y à ce moment là comme
nous pouvons le constater à chaque fois
que nous allons appuyer sur la touche f5
pikachu va effectivement se déplacer
mais exactement de la même manière que
nous l'avions juste avant c'est à dire
qu'il va atteindre directement sa
destination finale sans que le
déplacement ne soit fluide en réalité
chaque étape du déplacement est bien
détaillé mais à une vitesse beaucoup
trop rapide pour que nous puissions le
percevoir directement à l'oeil nu il
suffira alors de ralentir chaque étape
du déplacement en insérant une notion
que nous avions découvert dans un
tutoriel précédent qui est une pause
bébé a donc si vous voulez plus
d'information sur la pause bébé à vous
trouverez dans la description de la
vidéo le lien vers la vidéo qui lui est
dédié ici nous allons tout simplement
reprendre la portion de code que nous
avions établi dans cette précédente
vidéo en effectuant un collage
directement ce qui est intéressant à
noter dans cette macro pose c'est le
doux event qui va permettre à la macro
de continuer de tourner et donc
d'afficher correctement le pikachu à sa
nouvelle position à chaque itération de
la boucle maintenant nous allons nous
placer dans cette boucle et définir une
pose donc en appelant tout simplement la
macro pose ici nous allons mettre en
place une pause de 0,02 seconde ensuite
nous appuyant sur f5 pour relancer la
macro et nous pourrons constater que le
déplacement de pikachu et maintenant
beaucoup plus fluide alors évidemment
sur mon pc ici j'ai obs qui tourne en
tâche de fond pour enregistrer mon écran
ce qui fait que le déplacement n'est pas
très fluide mais si vous le tester sur
un pc avec des ressources disponibles
celui ci devrait être beaucoup plus
clair il faut également savoir que plus
la durée de la pause sera rapide et plus
le déplacement le sera également alors
évidemment ici notre application ne sert
pas à grand chose si ce n'est à déplacer
une image sur une feuille de calcul nous
allons donc continuer sur notre lancée
pour transformer notre travail en un
mini jeu est la première chose que nous
allons mettre en place et une nouvelle
procédure qui va permettre de lancer une
nouvelle partie nous allons nous placer
tout en haut de notre module créé une
nouvelle macro que nous avons appelée
nouvelle partie et dans cette micro nous
allons tout simplement saisir le mot
jouer dans la cellule à 6 donc nous
comprendrons juste après pourquoi donc
la cellule assises que nous appelons en
utilisant tout simplement décroché nous
allons lui affecter la valeur jouer
ensuite nous allons lancer notre macro
principal qui est la macro bouger images
ce qui nous permettra donc de lancer une
nouvelle partie puis à la fin de la
procédure bouger images nous allons
regarder si la valeur de la cellule à
six est bien égale à jouer et donc dans
ce cas là nous pourrons tout simplement
relancer la macro afin de mettre en
place une boucle itératif donc if a6 est
égal à jouer alors nous pouvons relancer
la macro bouger images ensuite pouvoir
stopper la partie nous allons créer
encore une nouvelle macro que nous
allons appeler cette fois-ci fein parti
donc seube fin parti et dans celle ci
nous ont tout simplement nous contenter
de modifier la valeur de la cellule à 6
dans laquelle nous allons afficher le
texte stop de cette manière la macro
bouger image va contrôler si la valeur
de la cellule à six est égal à jouer ce
qui ne sera pas le cas ici et donc elle
ne relancera pas une nouvelle itération
de sa propre valeur donc de bouger
images enfin la troisième macro que nous
allons lancer sera exécutée lorsque le
joueur aura réussi à atteindre le pic à
choux nous allons donc appelé cette
macro gagné donc subi gagner et dans
celle ci nous allons afficher un message
à l'utilisateur pour l'informer qu'il a
effectivement réussi à attraper le
pikachu donc bravo vous avez attrapé
pikachu puis la partie étant terminée
nous allons appeler la macro situé juste
au dessus qui est la macro femmes
parties et qui pourra donc afficher la
valeur stop dans la cellule à 6 ensuite
pour pouvoir appeler les maquereaux que
nous on est en place nous revenons dans
la fait de calculs puis nous allons
inséré deux boutons en utilisant par
exemple la zone de texte donc nous
sélectionnons zone de texte depuis le
menu insertion nous insérons notre zone
sur la feuille de calcul nous créons un
premier bouton nouvelle partie que nous
pouvons mettre en forme si nous le
souhaitons donc en cliquant sur formate
forme et en choisissant un style par
exemple ici nous allons afficher le
bouton inverse cela est en fait nous
effectuons un clic droit sur le bouton
afin de sélectionner affecter une macro
et de sélectionner la macro nouvelle
partie nous allons dupliquer ce bouton
donc en cliquant sur ces bordures et
ensuite en appuyant sur contrôle d une
fois que le bouton a été dupliquée nous
le plaçons sur la feuille de calcul nous
modifions le texte donc ici ce sera fin
de partie et nous lui affecteront la
macro qui correspond à savoir la macro
fin de partie la dernière macro à mettre
en place va être affecté au pikachu donc
nous effectuons un clic droit sur
celui-ci affecter une macro et ici nous
choisissons la macro gagner voilà c'est
terminé il suffit de relancer une partie
pour tout d'abord constaté que le
pikachu va se déplacer sans s'arrêter si
nous cliquons sur fin de partie alors
excellent va afficher stop dans la
cellule à 6 et puis cache où va
s'arrêter en revanche si nous arrivons à
cliquer sur celui ci alors nous allons
afficher le message bravo vous avez
attrapé pikachu le but bien entendu va
alors être d'affecter une valeur qui ira
de plus en plus vite pour qu'ils soient
de plus en plus difficile d'attraper le
pikachu avec la souris donc comme
d'habitude vous pouvez télécharger le
support de secours en suivant le lien
que vous trouverez dans la description
de la vidéo ou la vidéo vous a plu
n'oubliez pas de lalique et et de la
partager à vos collègues et amis sur
l'ensemble de vos réseaux sociaux et/ou
fait également de laisser vos
impressions dans l'espace des
commentaires je lirai chacun d'entre eux
et y répondrait avec plaisir évidemment
si ce n'est pas encore fait abonnez-vous
à la chaîne pour ne manquer aucune
astuce c'est également très important
pour m'aider à gagner en visibilité afin
de pouvoir développer la chaîne et
continuez de vous proposer des tas de
nouvelles vidéos merci d'avoir suivi
cette vidéo et à très bientôt pour un
prochain tuto