XL 2019 Encore besoin de votre aide

RoyalP

XLDnaute Occasionnel
Bonjour ,pour mon projet de calcul de salaire selon stage ou en cours (oui pas les même salaires quand on est étudiant) j'aurais besoin de votre aide.
J'ai crée un calendrier de septembre à juillet 2019 - 2020 dans lequel quand on double click sur une cellule l'usf s'ouvre et vous entrez vos données (nbre d'heures, notes , etc) , j'arrive a sauvegarder le tout mais je n'arrive pas a récupérer la date de l'emplacement du double click !!!
je vous post le fichier pour que vous voyez ce que je veux faire.

Merci pour votre aide
 

Fichiers joints

Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @RoyalP,

Peut-être ?:
Dans le module de la feuille de codename Feuil1 "calendrier":
VB:
Option Explicit

Public maCellule As Range

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
    Cancel = True
    If Not Application.Intersect(Target, Range("A6:AG37")) Is Nothing Then
        Set maCellule = Target
        Userform1.Show
    End If
End Sub
et pour le bouton enregistrer du userform:
Code:
Private Sub CommandButton_enreg_Click()
  ligne_insertion = Sheets("BDD").Range("A65000").End(xlUp).Row + 1

  Sheets("BDD").Cells(ligne_insertion, 1) = Feuil1.maCellule.Value2
  Sheets("BDD").Cells(ligne_insertion, 1).NumberFormat = "dd/mm/yyyy"

  ' la suite du code....

End Sub
 

RoyalP

XLDnaute Occasionnel
merci mapomme, c'est a peu pres ce que je veux faire sauf que la je dois clicker sur la date , moi ce que je veux c'est si je clique sur la cellule sur mon exemple en rouge du lundi 02 septembre 2019 ca me récupere la date . merci quand meme pour l'aide ca me permet d'avancer quand meme.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re @RoyalP ,

Dans ce cas, remplacer dans le code de Feuil1, la ligne suivante:
VB:
Set maCellule = Target
par la ligne :
Code:
Set maCellule = Cells(Target.Row, "a")
edit : bonsoir @BrunoM45 :)
 
Dernière édition:

RoyalP

XLDnaute Occasionnel
je viens de voir un problème si je double click sur 15 novembre il me garde la date du 01/09/2019 !!
aie
merci de votre aide precieuse
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re @RoyalP,

je viens de voir un problème si je double click sur 15 novembre il me garde la date du 01/09/2019 !!
Essayez ce code dans le module de Feuil1 (la ligne du Msgbox est là juste pour le test).
Le code gère aussi les fins de colonne des mois inférieurs à 31 jours:
VB:
Option Explicit

Public maCellule As Range

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
   Cancel = True
   If Not Application.Intersect(Target, Range("A6:AG37")) Is Nothing Then
      Set maCellule = Cells(Target.Row, 1 + 3 * Int((Target.Column - 1) / 3))
      MsgBox maCellule  'juste pour le test
      If IsDate(maCellule) Then Userform1.Show
   End If
End Sub
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Salut @Staple1600 @ ;),

Mille + une excuses de ne pas t'avoir répondu tout de suite. J'avais vu , j'avais lu puis j'ai zappé.
Chacun a ses petites habitudes. Moi je suis un "littéraire" le "a" me parle plus que le hein! :p
Enfin jusqu'au "z". Après c'est plus difficile pour moi o_O

Concern1nt l1 question, je l'1v1is lu trop r1pidement et donc m1l répondu. C'est p1s bien!:(
 

Staple1600

XLDnaute Barbatruc
Re

Oui mais avec le Hun, on fait fuir le Trente et quatre (deux fois)
Ça ne sert pas à grand chose (ou alors juste pour se souvenir un soir de finale CAN, des Wisigoths)
;)

Maintenant une question m'étreint la glotte
Pourquoi une variable macellule puisque Target est déjà un Range?
(PS: Je sais que cette variable était là dès le message#1)
 

Staple1600

XLDnaute Barbatruc
Re

Alors pour apaiser ma glotte (voir message précédent), pour le test et pour le fun
Et pour passer des Wisigoths à Barracuda ;)
VB:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal T As Excel.Range, Cancel As Boolean)
Cancel = True
If Not Application.Intersect(T, Range("A6:AG37")) Is Nothing Then
MsgBox T.Offset(, -(T.Column + 2) Mod 3)
End If
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Je m'en tiens à la première phrase de mon message précédent qui clairement indique que la baliverne m'importe ici plus que le sort de l'userform.;)

Charge au demandeur, si jamais l'envie lui prends, d'adapter/mixer avec l'Userform

C'est vrai que j'aurais plus laissé le commentaire pour être plus explicite
VB:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal T As Excel.Range, Cancel As Boolean)
Cancel = True
If Not Application.Intersect(T, Range("A6:AG37")) Is Nothing Then
MsgBox T.Offset(, -(T.Column + 2) Mod 3) 'juste et rien que pour le test
End If
End Sub
 

Staple1600

XLDnaute Barbatruc
Re,

Moi aussi.
Une bonne rasade de gnamakoudji
(dommage que ce soit refusé au Scr.bble ;) )

Sur ces considérations rafraîchissantes, je vous laisse deviser calendrier et double-click

Bonne nuit.

EDITION
Mes excuses, Monsieur mapomme
Je viens de relire tout le fil.
Et j'ai vu que je m'étais fourvoyé et mélangé les pinceaux.
Je rends donc macellule à César.
 
Dernière édition:

RoyalP

XLDnaute Occasionnel
hello et merci de vos aides, je viens de tester et ca ne marche tjrs pas il ne me prend pas la date
Désolé de vous répondre tard, j'étais voir asterix avec les enfants :D
 

Discussions similaires


Haut Bas