Bonjour chers amis
Je voudrais par Vba uniquement selon saisie en D25
Si D25 = "x" Que K36 = "x"
Si D25 est vide ""
une invitation à choisir par Oui ou Non demandant "Autoriser à visualiser...."
Oui K36 = x
Non K36 = ""
En vous remerciant
Bonjour chers amis
Je voudrais par Vba uniquement selon saisie en D25
Si D25 = "x" Que K36 = "x"
Si D25 est vide ""
une invitation à choisir par Oui ou Non demandant "Autoriser à visualiser...."
Oui K36 = x
Non K36 = ""
En vous remerciant
Salut,
Voici, si j'ai bien compris un bout de code qui doit pouvoir faire ce que tu veux :
Il ne te reste plus qu'à faire un petit bouton pour lancer la chose.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub toto() If LCase(Range("D25").Value) = "x" Then Range("K36").Value = "x" Else reponse = MsgBox("Autoriser à visualiser ?", vbYesNo + vbQuestion) If reponse = vbYes Then Range("K36").Value = "x" Else Range("K36").Value = "" End If End If End Sub
Bonjour jerome
Puis-je inclure ton code dans cette macro Stp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("B10:C12")) Is Nothing Then Application.EnableEvents = False If Application.WorksheetFunction.CountBlank(Range("B10:C12")) < 3 Then MsgBox "Vous devez inscrire au moins 3 utilisateurs avec leur mot de passe" End If Application.EnableEvents = True End If End Sub
J'ai essayé comme cela, mais j'ai une erreur : Variable non définie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("B10:C12")) Is Nothing Then Application.EnableEvents = False If Application.WorksheetFunction.CountBlank(Range("B10:C12")) < 3 Then MsgBox "Vous devez inscrire au moins 3 utilisateurs avec leur mot de passe" End If If LCase(Range("D25").Value) = "x" Then Range("K36").Value = "x" Else Reponse = MsgBox("Autoriser à visualiser les e-mails ?", vbYesNo + vbQuestion) If Reponse = vbYes Then Range("K36").Value = "x" Else Range("K36").Value = "" End If End If Application.EnableEvents = True End If End Sub
Bonsoir, n'auriez vous pas quelque part un "Option Explicit" qui vous obligerait à définir la variable "Reponse"
Parceque chez moi, sur un document neuf et sans Option explicit, votre code fonctionne.
Cordialement![]()
bonjour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Worksheet_Change(ByVal Target As Range) dim reponse as boolean If Target.Address = "$D$25" Then If LCase(Target.Value) = "x" Then Range("K36").Value = "x" Else reponse = MsgBox("Autoriser à visualiser ?", vbYesNo + vbQuestion) If reponse = vbYes Then Range("K36").Value = "x" Else Range("K36").Value = "" End If End If End If End Sub
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
Partager