Msgbox ou pas selon valeur d'une autre cellule
Résolu/Fermé
meaurysse
Messages postés
66
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
2 octobre 2020
-
19 janv. 2016 à 11:56
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 19 janv. 2016 à 16:31
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 19 janv. 2016 à 16:31
A voir également:
- Msgbox ou pas selon valeur d'une autre cellule
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Si une cellule contient un mot alors une autre cellule ✓ - Forum Excel
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? - Forum VB / VBA
4 réponses
via55
Messages postés
14501
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
28 novembre 2024
2 735
19 janv. 2016 à 12:02
19 janv. 2016 à 12:02
Bonjour,
Si j'ai bien compris (si la date en J est différente de celle en A1 on propose la modification, sinon non ), essaie :
Cdlmnt
Via
Si j'ai bien compris (si la date en J est différente de celle en A1 on propose la modification, sinon non ), essaie :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("I2:I20")) Is Nothing and Range("J" & (ActiveCell.Row)) <> Cells(1, 1).Value Then ' le reste sans changement
Cdlmnt
Via
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
19 janv. 2016 à 12:07
19 janv. 2016 à 12:07
Bonjour
Peut être comme ça
Cdlmnt
Peut être comme ça
Private Sub Worksheet_Change(ByVal Target As Range)
Dim li As Long
If Not Intersect(Target, Range("I2:I20")) Is Nothing Then
li = Target.Row
If Range("J" & li).Value <> Date Then
If MsgBox("Voulez-vous mettre à jour la date?", vbYesNo + vbInformation, "Confirmer SVP...") = vbYes Then
Range("J" & li) = Date
End If
End If
End If
End Sub
Cdlmnt
meaurysse
Messages postés
66
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
2 octobre 2020
19 janv. 2016 à 12:45
19 janv. 2016 à 12:45
Salut ccm81
Merci c'est EXACTEMENT ce que je voulais !!! =D Par contre, je n'aurai jamais su comment faire... sans ton aide =/
Pourrais-tu m'expliquer l'histoire des "DIM"? Et à quoi cela sert exactement?
Merci c'est EXACTEMENT ce que je voulais !!! =D Par contre, je n'aurai jamais su comment faire... sans ton aide =/
Pourrais-tu m'expliquer l'histoire des "DIM"? Et à quoi cela sert exactement?
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
Modifié par ccm81 le 19/01/2016 à 14:26
Modifié par ccm81 le 19/01/2016 à 14:26
Re,
Dim est une instruction qui sert à déclarer les variables utilisées et à leur attribuer un type.
Ici, j'ai déclaré la variable li de type long (entier de -2 147 483 648 à -2 147 483 647) qui va récupérer la ligne de la cellule cliquée
C'est une bonne habitude à prendre, ça peut éviter pas mal d'erreurs, en particulier dues à des fautes de frappe.
Si en début de module du mets la directive
Option explicit
ça t'oblige à déclarer toutes les variables utilisées dans ce module.
PS. Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)
Bonne suite
Dim est une instruction qui sert à déclarer les variables utilisées et à leur attribuer un type.
Ici, j'ai déclaré la variable li de type long (entier de -2 147 483 648 à -2 147 483 647) qui va récupérer la ligne de la cellule cliquée
C'est une bonne habitude à prendre, ça peut éviter pas mal d'erreurs, en particulier dues à des fautes de frappe.
Si en début de module du mets la directive
Option explicit
ça t'oblige à déclarer toutes les variables utilisées dans ce module.
PS. Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)
Bonne suite
meaurysse
Messages postés
66
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
2 octobre 2020
19 janv. 2016 à 15:08
19 janv. 2016 à 15:08
Ok alors en gros tu défini un mot genre "cc" "li" ou "zz" (peu importe en fait) et tu défini ce que c'est pour ensuite n'avoir plus qu'à indiquer le "zz" qui est reconnu par sa signification dans la formule? :)
C'est un raccourci simplement?
Sinon, où et comment avez-vous appris tout ça?
Moi je découvre petit à petit et commence un peu à comprendre comment ca marche le VBA mais c'est quand même super complexe quand on veut faire quelque chose... Je veux dire, on y arrive pas par intuition... il faut le savoir.
C'est un raccourci simplement?
Sinon, où et comment avez-vous appris tout ça?
Moi je découvre petit à petit et commence un peu à comprendre comment ca marche le VBA mais c'est quand même super complexe quand on veut faire quelque chose... Je veux dire, on y arrive pas par intuition... il faut le savoir.
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
19 janv. 2016 à 16:31
19 janv. 2016 à 16:31
Une variable est définie par un identifiant (un nom si tu veux), si possible qui évoque le rôle joué par cette variable (j'ai mis li pour ligne) et un type de donnée (entier, texte, booléen, date, tableau, .... Elle va recevoir une valeur (li = Target.Row) qui pourra être utilisé une ou plusieurs fois par la suite ( Range("J" & li).Value ...)
La notion de variable est incontournable en programmation, tu as de nombreux sites dans lesquels tu pourras trouver des tutos. (par exemple https://vb.developpez.com/cours/?page=vba
Bon courage
La notion de variable est incontournable en programmation, tu as de nombreux sites dans lesquels tu pourras trouver des tutos. (par exemple https://vb.developpez.com/cours/?page=vba
Bon courage