Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
XL 2010Insérer un calendrier dans un menu déroulant sur plusieurs cellules
Bonjour, je sais que dans le forum il il a une réponse en date du 27 juillet 2015. Le calendrier fonction jusqu’à un certain point, moi je le voudrais dans mes colonnes mais illimité et aussi ma feuille excel gèle je joint le fichier du 27 juillet 2015 créer par BrunoM45
Voyons, voyons! Demain commence la période des Saints de glace... (Saint Mamert, Saint Pancrace et Saint Servais). Encore trois jours à tenir et le fichier sera dégelé.
@Lou2411
Quel est le problème exactemement?
Le fichier de Bruno fonctionne
Quand on double-clique dans une cellule, l'userform s'affiche
Il suffit alors de faire un clic-gauche sur le jour de son choix, et il s'affichera dans la cellule active tandis que l'userform se fermera.
@Lou2411
Quel est le problème exactemement?
Le fichier de Bruno fonctionne
Quand on double-clique dans une cellule, l'userform s'affiche
Il suffit alors de faire un clic-gauche sur le jour de son choix, et il s'affichera dans la cellule active tandis que l'userform se fermera.
Tout simplement quand j'utilise plusieurs cellule avec la date mon fichier gèle. Dans la cellule B64 je demande le calendrier je ne le retrouve pas et cela fait gelé ma feuille je dois faire ctrl suppr.
Voici un correctif possible
1) Une fois ton classeur ouvert, faire ALT+F11
Là à gauche, clic-droit sur Usf_Calendrier=> choisir Code
Dans le panneau de droite, tu copies ceci en haut de la fenêtre, en dessous Option Explicit et entre Private CtrlCal(1 To 42) As New Classe1
VB:
Private Declare Function GetDC& Lib "user32.dll" (ByVal hwnd&)
Private Declare Function GetDeviceCaps& Lib "gdi32" (ByVal hDC&, ByVal nIndex&)
Puis en dessous de Private CtrlCal(1 To 42) As New Classe1
Tu copies ceci
VB:
Private Sub UserForm_Initialize()
Dim x#, y#, w#, h#
x = GetDeviceCaps(GetDC(0), 88) / 72
y = GetDeviceCaps(GetDC(0), 90) / 72
With Me
.StartUpPosition = 0
.Left = (ActiveWindow.PointsToScreenPixelsX(ActiveCell.Left * x) * 1 / x) + ActiveCell.Width
.Top = (ActiveWindow.PointsToScreenPixelsY(ActiveCell.Top * y) * 1 / y) + ActiveCell.Height
End With
End Sub
Chez moi, plus de problême de "gelage"
EDITION: Voici comment doit se présenter le début du code de l'userform
Voici un correctif possible
1) Une fois ton classeur ouvert, faire ALT+F11
Là à gauche, clic-droit sur Usf_Calendrier=> choisir Code
Dans le panneau de droite, tu copies ceci en haut de la fenêtre, en dessous Option Explicit et entre Private CtrlCal(1 To 42) As New Classe1
VB:
Private Declare Function GetDC& Lib "user32.dll" (ByVal hwnd&)
Private Declare Function GetDeviceCaps& Lib "gdi32" (ByVal hDC&, ByVal nIndex&)
Puis en dessous de Private CtrlCal(1 To 42) As New Classe1
Tu copies ceci
VB:
Private Sub UserForm_Initialize()
Dim x#, y#, w#, h#
x = GetDeviceCaps(GetDC(0), 88) / 72
y = GetDeviceCaps(GetDC(0), 90) / 72
With Me
.StartUpPosition = 0
.Left = (ActiveWindow.PointsToScreenPixelsX(ActiveCell.Left * x) * 1 / x) + ActiveCell.Width
.Top = (ActiveWindow.PointsToScreenPixelsY(ActiveCell.Top * y) * 1 / y) + ActiveCell.Height
End With
End Sub
Pour qu'un fichier conserve son code VBA, il faut l'enregistrer en *.xlsm
NB: Si tu utilises un classeur avec du code VBA, il faut apprendre un mininum la manière de l'utiliser.
J'ai décrit ce qu'il y a faire précisément.
Il s'agit juste d'ajouter par copier/coller la portion de code VBA du message#11 au bon endroit.
NB: Etant nouveau membre du forum, tu ne connais pas encore ma philosophie sur le forum.
Je ne joins pas de fichier exemple "clé en main" dans le secret espoir d'inciter le demandeur à mettre les mains dans le cambouis pour résoudre sa question.
Si tu relis bien mon message#11, tu as tout les éléments pour solutionner toi-même ta question
Sinon, d'autres ici, qui pratiquent une autre philosopie, joigneront peut-être un classeur avec ma suggestion de code collé au bon endroit
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.