Remplacer la fonction "date" Excel 2016

Bonjour à tous,

Voilà mon soucis est assez simple, j'utilise la fonction "date" pour que la date du jour s'affiche dans une textbox si une checkbox est coché. Comme ca :

If Verif_appels_bp.CheckBox3.Value = True Then Verif_appels_bp.TextBox12.Value = Date

Le problème c'est que je vois que cette fonction génère une erreur sur plusieurs postes utilisé par des collaborateurs, j'arrive bien à régler le soucis en allant dans VBA, outils, références et en décochant "MANQUANT : Microsoft windows common contols 2 6.0 (SP6).

Le truc c'est que le userform en question est amené à évoluer régulièrement, je dois donc faire de nouvelles itérations et les envoyer aux utilisateurs et donc a chaque nouvelle itération le bug se représente.

Je cherche donc une solution pour remplacer cette fonction date, tout simplement.

L'installation de mscomct2.ocx n'est pas envisageable, les utilisateurs sont une quarantaine et nous sommes sur un réseau d'entreprise ou toute modification des dossiers system32 est proscrite.

Merci d'avance

Bonjour,

Quelques essais :

DateDuJour = Int(Now)
DateDuJour = Application.Today()

Bonjour,

Curieux...

Date est une fonction de la bibliothèque VBA, Classe DateTime.

Plusieurs pistes :

1- Essaie en stipulant la bibliothèque :

Remplacer Date par VBA.Date

2- Passer par une cellule du classeur ainsi :

Sub Appel()
    MsgBox maDate(Range("AZ125478"))
End Sub

Public Function maDate(Rng As Range) As Variant
    Rng.Formula = "=TODAY()"
    maDate = Rng.Value
    Rng.Formula = ""
End Function

3- Cocher la référence manquante via un code VBA (plus fastidieux et nécessite selon les cas l'intervention d'un technicien SDSI...)

Bonjour,

ta fonction Date n'a rien à voir avec ton pb, c'est elle qui trinque comme d'autres.

C'est sûrement dû au fait que tu appelles un composant en early binding, et tu imposes la version de la bibliothèque qui n'est pas forcement la même sur tous les postes. Si non trouvée => erreur.

Fait tes déclarations d'objets en late binding et plus de soucis de cet ordre.

Par exemple, remplacer :

Dim AppWord As New Word.Application

par :

Dim AppWord As Object
Set AppWord = CreateObject("Word.Application")

Bon, toi ça doit concerner un ActiveX de Microsoft windows common contols

ou faire une petite recherche google si tu veux plus de détails.

eric

Bonjour,

Curieux...

Date est une fonction de la bibliothèque VBA, Classe DateTime.

Plusieurs pistes :

1- Essaie en stipulant la bibliothèque :

Remplacer Date par VBA.Date

2- Passer par une cellule du classeur ainsi :

Sub Appel()
    MsgBox maDate(Range("AZ125478"))
End Sub

Public Function maDate(Rng As Range) As Variant
    Rng.Formula = "=TODAY()"
    maDate = Rng.Value
    Rng.Formula = ""
End Function

3- Cocher la référence manquante via un code VBA (plus fastidieux et nécessite selon les cas l'intervention d'un technicien SDSI...)

Merci pour vos réponses plus que rapide

Je précise que j'ai bien sur fait des recherches avant de poster mais comme à chaque fois vous êtes vraiment balaise sur ce forum

Ta première solution a tout réglé, j'ai simplement remplacé date par VBA.date et hop plus d'erreur.

Merci infiniment

Rechercher des sujets similaires à "remplacer fonction date 2016"