Effectuer un programme VB automatiquement
Résolu
lixil
Messages postés
38
Statut
Membre
-
lixil -
lixil -
Bonjour,
Je voudrais savoir comment effectuer un programme automatiquement.
J'ai ecrit:
Private Sub Worksheet_Calculate()
If Sheets("feuil1").Range("A1") < 20 Then
Sheets("feuil1").Range("B1") = 10
else if Sheets("feuil1").Range("A1") >= 20 then
Sheets("feuil1").Range("B1") = 20
End If
End Sub
Quand je reviens sur la feuille de calcul, la cellule B1 est égale à 20 ou 10 en fonction de ce qu'il y avait dans A1.
Mais quand je modifie A1 la cellule B1 reste pareil et je ne veut pas qu'elle reste pareil.
Si je veut que B1 change il faut que je relance le programme et c'est pas bon.
Merci de m'eclairer.
Je voudrais savoir comment effectuer un programme automatiquement.
J'ai ecrit:
Private Sub Worksheet_Calculate()
If Sheets("feuil1").Range("A1") < 20 Then
Sheets("feuil1").Range("B1") = 10
else if Sheets("feuil1").Range("A1") >= 20 then
Sheets("feuil1").Range("B1") = 20
End If
End Sub
Quand je reviens sur la feuille de calcul, la cellule B1 est égale à 20 ou 10 en fonction de ce qu'il y avait dans A1.
Mais quand je modifie A1 la cellule B1 reste pareil et je ne veut pas qu'elle reste pareil.
Si je veut que B1 change il faut que je relance le programme et c'est pas bon.
Merci de m'eclairer.
A voir également:
- Effectuer un programme VB automatiquement
- Vous devez disposer d'une autorisation pour effectuer cette action - Guide
- Comment lancer un programme automatiquement au démarrage de windows - Guide
- Programme demarrage windows - Guide
- Vb - Télécharger - Langages
- Mettre en veille un programme - Guide
4 réponses
Bonjour
Essaies ce code (si A1 est saisi manuellement: ..."quand je modifie A1 "... )
à placer dans le module "feuil1" de l'éditeur VBA
Essaies ce code (si A1 est saisi manuellement: ..."quand je modifie A1 "... )
à placer dans le module "feuil1" de l'éditeur VBA
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1")) Is Nothing Then If Target < 20 Then Range("B1") = 10 Else Range("B1") = 20 End If End If End Sub
Bonjour,
C'est parfait! merci Michel_m
et vous pourriez m'expliquer un peu le programme SVP?
Private Sub Worksheet_Change(ByVal Target As Range)
A quoi sert ByVal Target As Range ?
If Not Intersect(Target, Range("A1")) Is Nothing Then
La c'est du chinois...
je peux comprendre, avec la suite, que la variable est Target mais c'est tout.
C'est parfait! merci Michel_m
et vous pourriez m'expliquer un peu le programme SVP?
Private Sub Worksheet_Change(ByVal Target As Range)
A quoi sert ByVal Target As Range ?
If Not Intersect(Target, Range("A1")) Is Nothing Then
La c'est du chinois...
je peux comprendre, avec la suite, que la variable est Target mais c'est tout.
1/ByVal target as range
"Par valeur de la cible comme cellule"
La cible est la cellule où l'utilisateur change manuellement une donnée
Byval autorise le changement de valeur (contrairement à ByRef)
Le changement de valeur (Worksheet_change) déclenche la macro
2/ If Not Intersect(Target, Range("A1")) Is Nothing Then
La c'est du chinois... chuis bien d'accord :oD
"Si l'intersection entre la cible (target) et la cellule A1 n'est pas rien alors"
Délimite la zone d'action de la macro événementielle: si tu écris ailleurs que dans A1 la macro ne se déclenche pas....
Des tutos sur les événements dans excel
https://silkyroad.developpez.com/VBA/EvenementsFeuille/
https://silkyroad.developpez.com/VBA/EvenementsClasseur/
bonne découverte
"Par valeur de la cible comme cellule"
La cible est la cellule où l'utilisateur change manuellement une donnée
Byval autorise le changement de valeur (contrairement à ByRef)
Le changement de valeur (Worksheet_change) déclenche la macro
2/ If Not Intersect(Target, Range("A1")) Is Nothing Then
La c'est du chinois... chuis bien d'accord :oD
"Si l'intersection entre la cible (target) et la cellule A1 n'est pas rien alors"
Délimite la zone d'action de la macro événementielle: si tu écris ailleurs que dans A1 la macro ne se déclenche pas....
Des tutos sur les événements dans excel
https://silkyroad.developpez.com/VBA/EvenementsFeuille/
https://silkyroad.developpez.com/VBA/EvenementsClasseur/
bonne découverte