La meilleure façon de réussir ce que tu demandes est via une macro.
Je te propose d'essayer ce fichier. Il s'agir simplement de faire un clic droit dans les cellules jaunes.
Et voilà!
Daniel
Je te donne la version qui utilise la seule Saisie Assistée (sans ComboBox de Validation dans les cellules). Il faut double-cliquer dans la cellule pour lancer le UserForm de saisie.
C'est aussi un exemple à conserver pour la mise en œuvre de la Saisie Assistée dans une ComboBox qui s'avère extrêmement simple.
Mélanger l'ajout de plat dans la liste des plats avec la saisie d'un plat en cellule n'est à mon avis pas très judicieux et rendrait plus complexe la gestion de la saisie.
Il te faut un bouton dédié que tu dois pouvoir développer. Edit: Sinon place cette requête dans un nouveau sujet et je suis sûr qu'un XLDnaute se proposera pour le faire, sinon moi-même.
Je te donne la version qui utilise la seule Saisie Assistée (sans ComboBox de Validation dans les cellules). Il faut double-cliquer dans la cellule pour lancer le UserForm de saisie.
C'est aussi un exemple à conserver pour la mise en œuvre de la Saisie Assistée dans une ComboBox qui s'avère extrêmement simple.
Mélanger l'ajout de plat dans la liste des plats avec la saisie d'un plat en cellule n'est à mon avis pas très judicieux et rendrait plus complexe la gestion de la saisie.
Il te faut un bouton dédié que tu dois pouvoir développer. Edit: Sinon place cette requête dans un nouveau sujet et je suis sûr qu'un XLDnaute se proposera pour le faire, sinon moi-même.
Je te l'ai dit. Les boutons "Ajouter Plat ", "Aide", "Remise a zéro" n'ont rien à faire dans le UserForm de saisie.
Place les boutons sur la feuille et je regarderai peut-être. Ou un autre participant de la liste.
J'ai pas compris pourquoi t'avais ajouté un ligne vide en tête de liste des plats.
Pour vider une cellule pas besoin de double-cliquer pour lancer le UserForm de saisie, il suffit d'utiliser la touche Suppr sur la cellule en question.
Si tu ne veux pas que la valeur de la cellule s'affiche au départ dans la ComboBox, alors dans le code du UserForm_SaisiePlat il faut supprimer la ligne ValeurInitiale:=ActiveCell.Value, _
J'ai pas compris pourquoi t'avais ajouté un ligne vide en tête de liste des plats.
Pour vider une cellule pas besoin de double-cliquer pour lancer le UserForm de saisie, il suffit d'utiliser la touche Suppr sur la cellule en question.
Si tu ne veux pas que la valeur de la cellule s'affiche au départ dans la ComboBox, alors dans le code du UserForm_SaisiePlat il faut supprimer la ligne ValeurInitiale:=ActiveCell.Value, _
Tu prends exemple sur le fichier en Post #27 (à reprendre car modifié pour une petite correction si vbModeless) dans lequel la mise en œuvre est très simple.
Il faut intégrer:
- le UserForm_Calendrier
- le Module_Calendrier
Et faire: Cellule.Value = Calendrier
ou DateChoisie = Calendrier
If DateChoisie <> 0 then Cellule.Value = DateChoisie
Tu peux aussi utiliser l'une des nombreuses options facultatives du calendrier:
VB:
Public Function Calendrier(Optional Mode As Integer = vbModal, _
Optional ModelessGarderOuvert As Boolean = False, _
Optional TargetObject As Variant = Nothing, _
Optional TargetObjectEnglishDateFormat As String = "dd/mm/yyyy", _
Optional FonctionSurDateChoisie As String = "", _
Optional DateInitiale As Date = 0, _
Optional Texte As String = "", _
Optional TexteBackColor As Long = -1, _
Optional TexteForeColor As Long = -1, _
Optional TexteHeight As Long = -1, _
Optional AfficheJoursFériés As Boolean = False) As Date
Tu prends exemple sur le fichier en Post #27 (à reprendre car modifié pour une petite correction si vbModeless) dans lequel la mise en œuvre est très simple.
Il faut intégrer:
- le UserForm_Calendrier
- le Module_Calendrier
Et faire: Cellule.Value = Calendrier
ou DateChoisie = Calendrier
If DateChoisie <> 0 then Cellule.Value = DateChoisie
Tu peux aussi utiliser l'une des nombreuses options facultatives du calendrier:
VB:
Public Function Calendrier(Optional Mode As Integer = vbModal, _
Optional ModelessGarderOuvert As Boolean = False, _
Optional TargetObject As Variant = Nothing, _
Optional TargetObjectEnglishDateFormat As String = "dd/mm/yyyy", _
Optional FonctionSurDateChoisie As String = "", _
Optional DateInitiale As Date = 0, _
Optional Texte As String = "", _
Optional TexteBackColor As Long = -1, _
Optional TexteForeColor As Long = -1, _
Optional TexteHeight As Long = -1, _
Optional AfficheJoursFériés As Boolean = False) As Date
Voila j'ai exporté le module calendrier et userform calendrier dans mon autre fichier mais je ne vois pas ou je dois mettre le reste
( Cellule.Value = Calendrier ( malgré tout j'ai essayé de mettre dans la cellule du tableau =Calendrier et j'ai eu ceci comme résultat #NOM? )
ou
DateChoisie = Calendrier
If DateChoisie <> 0 then Cellule.Value = DateChoisie )
Désolé si je suis chiant mais je suis très très loin d'avoir tes connaissances avec excel