Methode ONKEY

Bonsoir,

Au démarrage du fichier joint "Test", un calendrier s'ouvre automatiquement et indique une journée à valider par le bouton "OK".

J'aimerais m'affranchir de cette étape.

Peut on utiliser - Application.OnKey Key:="~" - pour que le code vba simule la saisie de la touche entrée?

J'ai tenté d'insérer cette commande dans une macro, en vain.

Merci pour votre aide.

31test.xlsm (199.21 Ko)

Bonjour

Pourquoi afficher le calendrier si tu réponds Ok à chaque fois

N'affiche pas le calendrier

Modifie la macro

Private Sub workbook_open()
Dim f As Worksheet, Tmp As String
  Tmp = Format(Date, "dd mmmm (yyyy)")
  On Error Resume Next
  Set f = Sheets(Tmp)
  On Error GoTo 0
  If Not f Is Nothing Then
    f.Activate
  Else
    MsgBox "La feuille " & Tmp & " n'est pas présente", 64, "Attention"
  End If
 '           Range("b3").Select
 '    ActiveCell.FormulaR1C1 = FormCal.Calendrier(ActiveCell.Value)
  Range("D14").Select
End Sub

Aîe Banzaï,

Je vais essayer de t'expliquer le pourquoi du comment, c'est un peu long :

Sur le fichier joint, le bouton Go, permet de créer les feuilles journalières d'un premier mois, puis pendant l'exécution d'une seconde macro, les feuilles d'un deuxième mois. La date en B3 de chaque feuille est insérée automatiquement.

En E2, une formule selon le jour de semaine (en B3), récupère des infos en F2 à I2 et F3 à H3.

La formule en E2, ne fonctionne pas si la date en B3 est sous le format DDDD DD MMMM YYYY. J'ai eu beaucoup manipuler le code, cela ne m'amène pas à ce que je recherche. Je ne maîtrise pas assez les codes pour savoir de quoi il en retourne.

A titre d'indication, j'ai besoin de voir apparaître, la date avec la référence de la journée (Lundi, Mardi...)

Je me suis rendu compte, qu'en ouvrant le calendrier, en validant simplement "OK", il affiche la date comme je le souhaite, sans incidence sur la cellule E2.

Cela fonctionne également, si je sélectionne "B3", je file dans la barre de formule, je double-clique pour en ressortir immédiatement.

L'ouverture du calendrier au démarrage du classeur, est la seule option élégante que j'ai trouvée pour faire afficher ce maudit jour de semaine.

Merci pour ton intervention.

Bonjour

Je pense savoir d'où vient le problème

Lors de la génération de tes mois, la méthode pour inscrire la date n'est pas la bonne

Dans tes 2 macros Sub Creation() et Sub Creation2()

supprime la ligne

 
  ActiveSheet.Range("B3") = Format(DateValue(i & " /" & Format(LaDate, "mm/yy")), "dd mmmm yyyy")

et remplace la par ces 2 lignes

 
              ActiveSheet.Range("B3") = DateSerial(Annee, Mois, i)
              ActiveSheet.Range("B3").NumberFormat = "dddd dd mmmm yyyy"

Tu n'auras plus de problème de formule en E2 et la date en B3 sera une vraie date

Ainsi tu pourras appliquer la modification du code que je t'ai proposé dans mon précédent message

Dans le mille,

Un problème que je n'aurais plus à contourner.

Cela fait plusieurs fois que tu me rends service.

Je te remercie vivement.

Rechercher des sujets similaires à "methode onkey"