remplir une cellule selon condition d'une autre cellule

cyrikou

XLDnaute Occasionnel
Bonsoir, je souhaiterai remplir une plage de cellule uniquement si dans une cellule de référence, soit inscrit "Présent"
J'ai essayé d'adapter un code d'un bouquin mais sans trop de succès,
voici le code :
Code:
Private Sub Worksheet_selectionChange(ByVal Target As Range)
Target = Cells(4, 1)
If Cells(4, 1) <> "Présent" Then
Application.EnableEvents = False
If Range("C7:C8") = "" Then
MsgBox "Renseignez d'abord la colonne Présence de la feuille Accueil, merci !"
Target = ""
End If
Application.EnableEvents = True
End If
End Sub
l'idée est là mais l'écriture non, donc si vous avez une idée merci
 

Pièces jointes

  • test.xlsm
    18.2 KB · Affichages: 43
  • test.xlsm
    18.2 KB · Affichages: 46
  • test.xlsm
    18.2 KB · Affichages: 42

Pierrot93

XLDnaute Barbatruc
Re : remplir une cellule selon condition d'une autre cellule

Bonjour,

essaye ceci en lieu et place du code existant :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'If Target.Count > 1 Then Exit Sub
If Target.Count > 1 Or Intersect(Target, Range("C7:C8")) Is Nothing Then Exit Sub
If Range("A4") <> "Présent" Then
    MsgBox "Renseignez d'abord la colonne Présence de la feuille Accueil, merci !"
    Application.EnableEvents = False
    Target = ""
    Application.EnableEvents = True
End If
End Sub
bonne journée
@+
 

cyrikou

XLDnaute Occasionnel
Re : remplir une cellule selon condition d'une autre cellule

Bonjour, là le code ne fonctionne pas est c'est normal car il teste juste si une cellule est sélectionnée dans une plage donnée, ce que je veux en fait :
1- quelque soit la cellule sélectionnée, si la cellule A4<>"Absent" impossible de remplir ces cellules et msge d'alerte
2- si A4= "Présent" rien ne ce passe et la saisie est possible dans les cellules
 

Pierrot93

XLDnaute Barbatruc
Re : remplir une cellule selon condition d'une autre cellule

[Re,

QUOTE=cyrikou;1415912]Bonjour, là le code ne fonctionne pas est c'est normal car il teste juste si une cellule est sélectionnée dans une plage donnée, ce que je veux en fait :
1- quelque soit la cellule sélectionnée, si la cellule A4<>"Absent" impossible de remplir ces cellules et msge d'alerte
2- si A4= "Présent" rien ne ce passe et la saisie est possible dans les cellules[/QUOTE]

bah... le code teste A4... c'est ce que tu veux, non....

bon après midi
@+
 

cyrikou

XLDnaute Occasionnel
Re : remplir une cellule selon condition d'une autre cellule

Voilà j'ai trouvé un code sur le forum que j'ai adapté, c'est une autre procédure, avec les évènements, ça fonctionne bien.
Pour la feuille :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Range("A4") = 0 Then
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        MsgBox "Veuillez d'abord noter la présence ou non de l'élève dans la feuille Accueil. Merci"
    Else
        ActiveSheet.Unprotect
    End If
End Sub

pour le classeur :
Code:
Private Sub Workbook_Open()
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 198
Messages
2 086 134
Membres
103 129
dernier inscrit
Atruc81500