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
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