Exercice pour s'entrainer en VBA sur excel

Fermé
bstn - 7 janv. 2016 à 15:25
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 8 janv. 2016 à 15:25
Bonjour à tous,

Dans un cadre professionnel, je dois réaliser des macros sur excel. Je vais être testé la dessus et j'ai besoin de faire des exercices pour m’entraîner donc si quelqu'un connait un site avec des exos corrigés en vba je suis preneur car je n'ai pas vraiment trouvé.
J'ai suivi tous les cours sur excel-pratique.com et j'ai un niveau intermédiaire.
Vous pouvez aussi m'envoyer des fichiers sources avec des problèmes que vous avez.

Merci à tous, vous allez peut être me permettre de décrocher mon premier emploi
A voir également:

4 réponses

Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
7 janv. 2016 à 15:27
Bonjour,

Tu as appris le VBA orienté objet ou pas encore?
0
je ne connais pas le terme orienté objet mais d’après ce que j'ai vu sur internet rapidement oui.
Je connais bien workbooks("").worksheets("").activate
range("").select
selection.copy
etc etc
J'ai déjà fait une macro qui me permet d'aller ouvrir des fichiers excel, trier les données les copier dans un autre fichier et refermer le premier fichier et ensuite faire des opérations sur ces données par exemple for i = 1 to 100 if cells(i, 3) <> 0 then ... next i
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
7 janv. 2016 à 16:21
La ce que tu me dis, tu utilise les objets d'Excel qui sont déjà créés, moi je te parle d'en créer toi même et de bien les utilisés.
0
ah non alors, pour l'instant j'ai juste besoin de maitriser la base du VBA et d'utiliser les outils excel. Normalement c'est bon mais comme ça fait 5mois que j'en ai pas fait j'aimerai m'entrainer car j'ai un entretien avec un test la dessus
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
7 janv. 2016 à 16:36
Salut !

Je suis aussi dans ton cas, à savoir : j'ai besoin de m'entraîner sur les macro pour mon travail, pour aller plus vite à chaque fois que j'ai besoin d'en faire une.

Le mieux que je puisse te conseiller, c'est quand tu as du temps libre d'essayer de résoudre les problèmes que certains exposent sur ce même forum (même s'ils ont déjà été résolus par d'autres avant, juste pour t'entraîner).

Sinon, petit conseil perso pour ne pas oublier : fais toi un document (type OneNote cest parfait) dans lequel tu colles des bouts de code VBA qui servent très souvent. Par exemple :
- Calculer la 1ère ligne vide d'un tableau / la dernière colonne non vide
- obtenir l'adresse d'une cellule selon son contenu
etc.

Bonne continuation ;)
0
Oui merci Theo, je vais suivre tes conseils. C'est vrai qu'il y a des bouts de code qui reviennent très souvent et c'est une bonne idée de les noter quelque part.
Bonne continuation à toi et si je trouve quelque chose d'intéressant je re-commente ta réponse pour le partager.
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
7 janv. 2016 à 16:49
Pas de souci, j'avoue que je suis en rad' d'exo intéressants là...
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
Modifié par Pierre1310 le 7/01/2016 à 17:04
J'ai un petit exercice pour vous, il est sympa.
Nouvelle feuille Excel.
Cahier des charges :

Réaliser un chateau de cartes à l'horizontale vu qu'en diagonale je doute que ce soit possible.
Colorier les cellules dans les rectangles en bleu pour les paires et rouge pour les impaires.
25 cellules de hauteur pour 15 de largeur.
Exemple

____|_____|______|_____|_____
_____ |____|_____|______|_____|_____|_______
|_____|____|_____|______|_____|_____|_______|

ça vous force à utiliser plusieurs objet excel tout en écrivant un algorithme.
Il est un peu long à vue de nez donc je le propose juste après c'est vous qui voyez ;)
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31 > Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020
7 janv. 2016 à 17:03
Sympa l'idée !

J'ai du mal à voir en quoi l'exemple est un château de carte ô_Ô ...

Qu'est-ce qu'un rectangle "pair" ou "impair" ? Selon la colonne ? la ligne ?
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
7 janv. 2016 à 17:04
Selon la ligne
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
Modifié par Pierre1310 le 7/01/2016 à 17:11

https://www.cjoint.com/c/FAhqk0eTVVv
Un exemple de ce qui est à faire mais en plus grand bien sur ;)
je vous mets une photo d'écran, le site à tout justifier d'ou l'aspect bizarre ^^
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
8 janv. 2016 à 15:25
Salut btsn

un apprentissage VBA (bandit manchot): un Sept fait sauter la banque

Dans le zip : le jeu
2 algos: "Las Vegas" et "bandit manchot" (sous algo de "las vegas") qui indiquent le système d'exploitation (étape indispensable)

Ci dessous code pour les applaudissements (je n'en suis pas l'auteur)
Option Explicit
Public music As String

Private Declare Function PlaySound32 Lib "winmm.dll" Alias "PlaySoundA" (ByVal IpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000

' archives mpfe
Sub PlayWAV()

' snd_async: son asynchrone (la musique n'arrete pas le programme)
If Application.CanPlaySounds Then
Call PlaySound32(ThisWorkbook.Path & "\" & "gagné.wav", 0&, SND_ASYNC Or SND_FILENAME)
Else
Exit Sub
End If

End Sub


0