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

Microsoft 365 VBA double clic et saisie de cellule avec texte et horaire

Le novice

XLDnaute Junior
Bonjour à tous
me revoici avec un nouveau projet
Afin de faciliter le travail de mes opérateurs j'ai construit un fichier qui permet par simples clic de faire evoluer le contenu des cellules.
n'étatnt pas brillant sur VBA j'ai retrouvé un code que j'ai adapté néamoins je suis loin d'avoir terminé.
- Dans les cellules de la colonne B je veux par double clic afficher l'heure courante
- Idem lorsque je clic sur les clelules de la colone Q puis S
-Dans les clellules de la colonne D à O chaque clic fait changer le statut de la cellule
-Lorsqu'une cellule passe au vert je voudrais y associer un message Box d'avertissement "attention vous allez réalimenter l'objet"
- Enfin il me faudrait un bouton qui permettrai de reinitialiser la feuille (effacer les cellule B5:T17)

La cerise sur le gateau serait : si la case J2 est rempli par un horaire chaque ligne de la colonne D à T pour laquelle la cellule B est saisie soit automatiquement en rouge avec 2crit "shutdown" (par la suite le double clic de cette cellule doit permettre de passer au statut suivant)

j'espere avoir été assez clair quantà l'expression de mon besoin

voici d'ailleur le fichier en question
 

Pièces jointes

  • Consignation.xlsm
    31.4 KB · Affichages: 4

eCHO

XLDnaute Junior
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 Then
Target.Value = Now()
End If
End Sub

Ce code définit une macro qui s'exécute avant chaque double-clic sur la feuille de calcul. La macro vérifie si la cellule ciblée par le double-clic se trouve dans la colonne B (colonne 2). Si c'est le cas, la macro insère l'heure courante dans la cellule.

Pour afficher l'heure courante dans les cellules de la colonne Q et S au clic, vous pouvez utiliser une macro similaire en modifiant la vérification de la colonne ciblée par le clic. Voici le code à utiliser :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 17 Or Target.Column = 19 Then
Target.Value = Now()
End If
End Sub

Ce code définit une macro qui s'exécute chaque fois qu'une cellule est sélectionnée sur la feuille de calcul. La macro vérifie si la cellule sélectionnée se trouve dans la colonne Q (colonne 17) ou la colonne S (colonne 19). Si c'est le cas, la macro insère l'heure courante dans la cellule.

Pour faire changer le statut d'une cellule au clic dans les cellules de la colonne D à O, vous pouvez utiliser une macro qui modifie la couleur de fond de la cellule ciblée par le clic. Voici le code à utiliser :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column >= 4 And Target.Column <= 15 Then
If Target.Interior.ColorIndex = 3 Then
Target.Interior.ColorIndex = 0
Else
Target.Interior.ColorIndex = 3
End If
End If
End Sub

Ce code définit une macro qui s'exécute chaque fois qu'une cellule est sélectionnée sur la feuille de calcul. La macro vérifie si la cellule sélectionnée se trouve dans la colonne D (colonne 4)
 

Le novice

XLDnaute Junior
Merci pour ces codes et ces explications qui m'ont été utiles à la comprehension de VBA .
fanfan38 m'a proposer une solution parfaite en réponse à toutes mes demandes.
bien à vous
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…