Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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
 
C

Compte Supprimé 979

Guest
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+
 

degards

XLDnaute Occasionnel
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.
 

job75

XLDnaute Barbatruc
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

  • Entrées(1).xlsm
    18.6 KB · Affichages: 0
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…