Exercices VBA

Exercices VBA

29-10-2023 DELAPORTE LAURENT

exercice 001 chiffre aléatoire sur un plage de 0 à 100 avec liste déroulante et un rond bleu pour faire apparaître les chiffres de façon aléatoire

exemple d’aperçu avec excel 2013 et office 365

Consignes

réaliser un procédure vba qui permet d’afficher un chiffre entre 0 et 10, 0 et 20, 0 et 30 etc

par la suite mettre une variable maximale à l’aide d’une liste déroulante

en gros

si je choisit la valeur 40 dans la liste déroulante, en appuyant sur le rond bleu

j’aurai des chiffres aléatoires compris entre 0 et 40

si je choisit la valeur 20 dans la liste déroulante, en appuyant sur le rond bleu

j’aurai des chiffres aléatoires compris entre 0 et 20

Correction VBA procédure

insérer une liste déroulante à l’aide du ruban Développeur, puis insérer et choisir le deuxième dessin avec une liste déroulante (Contrôles de formulaires dessin numéro 2 sur la ligne 1)

insérer la liste déroulante ou vous le souhaitez et modifier les paramètres de la liste déroulante

clic droit souris format de contrôle sur la liste déroulante

propriété de la liste déroulante (format de contrôle de la liste déroulante)

la plage d’entrée constitue l’ensemble de variable que l’on veut afficher

par exemple les chiffres de 1 à 100 à l’aide de la plage de cellule Q2 à Q102

la cellule liée correspond à la cellule M40 dans notre exemple

elle correspond au numéro de la valeur choisi dans la liste déroulante

exemple vous avez trois mot un cochon un chien et un chat

le cochon va renvoyer le chiffre 1

le chien va renvoyer le chiffre 2

et le chat va renvoyer le chiffre 3 et ainsi de suite…

si je choisis la valeur 100 j’aurai le chiffre 100 dans la cellule M2 ou le chiffre 40 si je choisit la valeur 40

plage avec la liste des variables cellule colonne Q2 a Q102 par exemple

dans la procédure j’utilise des valeurs absolues et relatives

A1 est une valeur absolue

R(-3) C(11) est un valeur relative

Il ne faut pas oublier d’insérer un bouton ou une image qu’on affecte à la macro qu’on n’a créer (chiffre aléatoire)

il faut sélectionner l’image ou le rond bleu et faire clic droit souris et affecter à une macro

on choisit le nom de la macro par exemple nombrealeatoire ou lolo

déroulez la liste de déroulante pour faire apparaître le nom de la macro et cliquez sur le bouton ok

site web pour avoir les fonctions traduites en anglais selon la version de l’office 365 fr ou office 365 us

https://fr.excelfunctions.eu/

contenu suivant à ne pas prendre en compte exercice sur la recherchev() ou randbetween()

contenu de la macro avec valeur relative pour la fonction recherchev en anglais

je recherche le contenu d’une cellule à l’aide d’un tableau ou base de données et j’affiche le contenu de la colonne désirée

=recherchev(1;2;3;4)

=recherchev(valeur cherchée, à partir d’une base de données; et j’affiche le contenu de la colonne x, valeur 0 ou 1 ou true ou false)

=randbetween(valeur cherchée, base de donnée, ce que je veux afficher, valeur par defaut 1 ou 0 true or false)

exercice 02

exercice 003 gagnant aléatoire

affiche le nom d’un gagnant aléatoire à partir d’une base de données A2:A9

le gagnant peut être pierre ou paul …. ou laurent ou sandrine ou emma

le bouton lancer permet d’afficher le résultat du gagnant dans la cellule C2

fonction excel

Procédure macro gagnant()

Mettre un peu de couleur

Procédure macro vba affiche le nom du gagnant

Exercice sur les doublons

dans une zone avec plusieurs cellule soit une plage de cellule, il faut supprimer tous les doublons

contenu du texte avec la procédure doublon()

Sub doublons()

‘ doublons Macro

Sheets(“existant”).Range(“A2”, “A” & Sheets(“existant”).Range(“A” & Rows.Count).End(xlUp).Row + 1).Clear
i = Range(“A” & Rows.Count).End(xlUp).Row
Do While i > 1
ligne = 0
On Error Resume Next
ligne = Sheets(“existant”).Columns(“A:A”).Find(what:=Range(“A” & i), After:=Sheets(“existant”).Range(“A1”), LookIn:=xlValues, LookAt:=xlWhole).Row
If ligne = 0 Then
Sheets(“existant”).Range(“A” & Rows.Count).End(xlUp).Offset(1, 0).Value = Range(“A” & i)
Else
Rows(i & “:” & i).Delete
End If
i = i – 1
Loop

End Sub

aperçu en image

démonstration feuille avec plusieurs doublons,

en cliquant sur le bouton doublons on obtient le résultat suivant

Exercice atteindre la dernière ligne d’un enregistrement dans une base de données

procédure

on atteint la cellule A2 de la feuille souhaitée range(“A2”)

on atteint la dernière ligne avec une saisie (.End(xlDown)

et on se décale de une ligne vers le bas et de zéro colonne (.Offset(1,0)

contenu de la procédure VBA

On affecte la macro atteindrederniereligne() au bouton bleu

On choisit le nom de la macro (1) et on clique sur le bouton OK (2)

On peut tester la macro en appuyant sur le rond bleu

la souris va se positionner sur la cellule A12 pour effectuer un nouvel enregistrement en A12, B12.

deux codes possibles en VBA excel

À propos de l’auteur

Avatar de l’utilisateur

formateurbureautique2022 administrator

Secured By miniOrange