[RESOLU] Modification de macro

riton00

XLDnaute Impliqué
Bonjour à tous

j'ai récupéré une macro qui permet de mettre OK si la cellule B3 est vide serait-il possible de modifier cette macro de façon qu'elle soit aussi fonctionnelle sur la cellule B8, B14, et sur la plage D3.D14
Merci

Slts
VB:
Private Sub Worksheet_Activate()
If Range("B3").Value = "" Then Range("B3").Value = "OK"
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then
If Range("B3").Value = "" Then Range("B3").Value = "OK"
End If
End Sub
 

Dranreb

XLDnaute Barbatruc
Bonjour.

Essayez comme ça :
VB:
Option Explicit

Private Sub Worksheet_Activate()
Worksheet_Change [B8,B14,D3:D14]
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Set Target = Intersect([B8,B14,D3:D14].SpecialCells(xlCellTypeBlanks), Target)
If Err Then Exit Sub
Application.EnableEvents = False
Target.Value = "OK"
Application.EnableEvents = True
End Sub
 

Jacky67

XLDnaute Barbatruc
Bonjour,
Essaye comme ceci
VB:
Private Sub Worksheet_Activate()
Dim c As Range
For Each c In [b3,b8,b14,d3:d14]
If c.Value = "" Then c.Value = "OK"
Next
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If Not Intersect(Target, [b3,b8,b14,d3:d14]) Is Nothing Then
If Target.Value = "" Then Target.Value = "OK"
End If
Application.EnableEvents = True
End Sub
 

riton00

XLDnaute Impliqué
Bonjour Dranreb, jacky67

Merci à vous deux pour cette modif vba, en tout les cas les deux sont fonctionnelles donc je verrais à l'usage laquelle des deux est la mieux adaptée dans mon fichier
merci beaucoup pour votre dévouement
Henri
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87