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

XL 2019 Ajouter dans une cellule un mot et une couleur en cliquant sur un bouton

J@NoT

XLDnaute Nouveau
Bonjour a tous,

Je tiens un tableau de suivi de fours.
Cependant a chaque fois je dois faire copier coller sur mon calendrier de mes cellules predefinis en haut a gauche.
Ce n'est pas très pratique surtout si je dois changer...
L'ideal est de cliquer sur le jour de mon calendrier et de clique sur un bouton pour afficher mon choix en haut a gauche.
Et de pouvoir le supprimer si je me trompe...

Merci par avance pour votre aide !
A bientot
 

Pièces jointes

  • SUVI FOUR HIP.xlsx
    43.9 KB · Affichages: 14

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
Sinon autre cas auto
- clic sur le choix
- clic dans la cellule du calendrier
-si erreur double clic sur la cel du calend mis par erreur
peut être pas assez parfait si on 'clic' sur cellule contigüe de la zone mais je pense que l'on peut faire des blocs
juste pour ne selectionner que les bonnes cellules
 

Pièces jointes

  • SUVI FOUR HIP.xlsm
    52.9 KB · Affichages: 6

mapomme

XLDnaute Barbatruc
Bonjour à tous,

Pour le fun, une version en VBA avec un Userform.
  • double-cliquer sur la cellule à compléter
  • une fenêtre s'ouvre dans laquelle vous pouvez choisir un des huit fours ou bien supprimer le four existant
  • si vous avez affiché un four dans une cellule, cliquer sur ce four, la fenêtre précédente s'ouvre à nouveau pour supprimer le four ou faire un autre choix
  • on n'affiche pas la fenêtre, si le jour est un samedi, dimanche ou férié.
  • la touche Escape referme la fenêtre sans rien faire
  • si vous changez le format (couleurs, police) d'une ou plusieurs cellules source alors la modification est reportées automatiquement sur les fours déjà saisis du calendrier

Il y a un peu de code :
  • dans le module de la feuille "PLANNING FOURS HIP" (gestion du double-clique)
  • dans le module "Module1" (variables publiques et macro associée aux formes contenant les fours)
  • dans le module de userform1
 

Pièces jointes

  • J@NoT- SUVI FOUR HIP- v1.xlsm
    66.6 KB · Affichages: 15
Dernière édition:

J@NoT

XLDnaute Nouveau
Merci pour vos idées herve62 et mapomme ! J'avoue que le module avec le double clic est vraiment sympa ! Je vais voir comment je peux l'exploiter !!! Cela me donne des idées pour d'autres choses !!

Car après j'ai crée des boutons dans le fichier, pensez vous que c'est facile a créer via ces boutons ?
Je l'avais fait il y a longtemps mais ma mémoire flanche...
En meme temps il est vrai que je voudrai l'adapter après pour d'autres fichiers...

Merci pour votre patience !! He he !
 

Pièces jointes

  • SUVI FOUR HIP.xlsx
    46.5 KB · Affichages: 4

mapomme

XLDnaute Barbatruc
Re,

Car après j'ai crée des boutons dans le fichier, pensez vous que c'est facile a créer via ces boutons ?

Le plus compliqué est de retrouver le format de la cellule après avoir inscrit le four (avec la bonne couleur).
Imaginons qu'on mette un four sur un jour férié. Comment se souvenir du format initial quand on effacera le Four et retrouver la couleur originelle de la cellule ?

Pour cela, on utilise un format conditionnel. Quand on marque un four sur un jour, on met une condition supplémentaire à la MFC de la cellule (du type si le texte de la cellule commence par "FOUR " alors on colorie la cellule avec le fond du bouton sur lequel on a cliqué). On ne touche donc pas au format initial de la cellule. Il suffira de supprimer cette condition de format conditionnel pour retrouver le format initial.

Quand on efface le texte de la cellule ou qu'on met un autre texte ne commençant pas par "FOUR " alors la cellule affiche automatiquement son précédent formatage.

Tous les boutons sont associées à la macro Enfourner() sauf le bouton Effacer qui est associé à la macro Effacer().

Le code se trouve dans le module de la feuille du calendrier :
VB:
Sub Enfourner()
Dim xshp As Shape, xcell As Range, couleur

   Set xshp = Me.Shapes(Application.Caller)
   Set xcell = ActiveCell
   couleur = xshp.Fill.ForeColor
   xcell = xshp.TextFrame2.TextRange
   RazFormat xcell
   PlacerFormat xcell, couleur
End Sub

Sub Effacer()
   ActiveCell.ClearContents
   RazFormat ActiveCell
   ActiveCell.Font.Bold = False
   ActiveCell.HorizontalAlignment = xlCenter
End Sub

Sub RazFormat(x As Range)
Dim i&
   For i = x.FormatConditions.Count To 1 Step -1
      If x.FormatConditions(i).Text Like "FOUR*" Then x.FormatConditions(i).Delete
   Next i
End Sub

Sub PlacerFormat(x As Range, xcouleur)
Dim i&
   RazFormat x
   x.FormatConditions.Add Type:=xlTextString, String:="FOUR ", TextOperator:=xlBeginsWith
   x.FormatConditions(1).SetFirstPriority
   x.FormatConditions(1).StopIfTrue = True
   x.FormatConditions(1).Interior.Color = xcouleur
   x.Font.Bold = True
   x.HorizontalAlignment = xlCenter
End Sub

edit : une version v2a qui tente de remettre le précédent contenu quand on efface (via le bouton) une cellule avec un four (notamment les FERIE)
 

Pièces jointes

  • J@NoT- SUVI FOUR HIP- v2.xlsm
    55.9 KB · Affichages: 11
  • J@NoT- SUVI FOUR HIP- v2a.xlsm
    56.8 KB · Affichages: 12
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Luc tu m'étonne !!!! un USF !!! si tu peux ajuster ton code( double clic & select_change) dans le mien sans USF c'est plus simple non ?
Moi je clique sur le choix , puis case du caland. , Fini ! ; toi tu fais D.C. sur le caland. qui ouvre usf , puis choix > valid
Bon sûr .. on fait pas la course à la lune, mais je savais pas qu'ils faisaient des usines à gaz aussi là haut
 

Discussions similaires

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