XL 2013 Différence entre une entrée manuelle ou automatique grâce au VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

degards

XLDnaute Occasionnel
Bonjour à vous !!!

Petite question technique pour vous, est-il possible qu’Excel soit en mesure de savoir si une cellule est remplie suite à un code VBA ou une entrée manuelle. Par exemple, dans ma feuille les cellules A3 à A10 sont remplis des numéros d’employé qui seront au travail, j’ai conçu un code à cet effet. Par contre, comme l’équipe n’est pas complète, il me faut 2 autres employés en temps supplémentaires pour les cellules A11 et A12. Lorsque je vais taper les numéros d’employés dans ces cellules j’aimerais qu’elle deviennent jaune. Est-ce qu’excel est en mesure de faire la différence ? Il peut arrivé que selon l’horaire, les cellules A11 et A12 se remplissent automatiquement car j’ai tout mon personnels.

Merci à l’avance
Degards
 
Re,

La MFC n'est là que pour calculer une condition (VRAI/FAUX) donc peut importe si c'est saisi manuellement ou inscrit via un code, le calcul se fera au bout

A+
Merci quand même, il est vrai que sans fichier c’est un peu plus compliqué de comprendre. Je vais ajouter un fichier sous peu et cela va sûrement aider à recevoir des solutions.
 
Bonsoir degards, Bruno,

Pourquoi parler de MFC ? Voyez le fichier joint qui applique les couleurs de fond avec ces codes :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, [A:A])
If Target Is Nothing Then Exit Sub
Target.Interior.ColorIndex = xlNone 'RAZ
On Error Resume Next 'si aucune SpecialCell
If Target.Count > 1 Then Target.SpecialCells(xlCellTypeConstants).Interior.Color = [D2].Interior.Color _
    Else If Target <> "" Then Target.Interior.Color = [D2].Interior.Color
End Sub

Sub EntreeAutomatique() 'bouton Entrée
Dim Target As Range
ActiveCell.Activate 'si Selection n'est pas un Range
Set Target = Intersect(Selection, [A:A])
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
Target = Application.RandBetween(1, 1000) 'entrées quelconques
Application.EnableEvents = True 'réactive les évènements
Target.Interior.ColorIndex = xlNone 'RAZ
On Error Resume Next 'si aucune SpecialCell
If Target.Count > 1 Then Target.SpecialCells(xlCellTypeConstants).Interior.Color = [D3].Interior.Color _
    Else If Target <> "" Then Target.Interior.Color = [D3].Interior.Color
End Sub
A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour