Sub ou function non défini
Bonjour,
je rencontre un soucis un peu étrange que je n'explique pas. J'ai une fonction toute simple pour remplacer du texte lorsque je clique sur deux cellules spécifiques d'une page (K79 & K80 en l'occurence) :
Function SabReinit(Target) As String
Dim oRange As Range
Dim TxtRemb As String
TxtRemb = "(remboursé le " & Now() & ")"
If Not Intersect(Target, Range("K79")) Is Nothing Then
PopupSabrina.Show
End If
If Not Intersect(Target, Range("K80")) Is Nothing Then
If MsgBox("Êtes-vous sûr de vouloir réinitialiser ?", vbYesNo, "Réinitialisation") = vbYes Then
For Each oRange In ActiveSheet.Range("C1:D200")
If Not IsEmpty(oRange) And Not IsNumeric(oRange.Value) And Not oRange.HasFormula Then
oRange.Replace What:="(remb)", Replacement:=TxtRemb, MatchCase:=True
oRange.Replace What:="(next remb)", Replacement:="(remb)", MatchCase:=True
oRange.Replace What:="(remb next)", Replacement:="(remb)", MatchCase:=True
End If
Next
End If
End If
End FunctionTout se passe bien quand je l'exécute! En revanche, si je remplace la fonction now() par la fonction aujourdhui() ou la fonction today(), j'ai le mesage Sub ou function non défini.
Mes compétences ne vont pas assez loin pour expliquer pourquoi now() est acceptée et pas today()...
Auriez-vous une idée ?
Bonjour Nico, bonjour le forum,
Now est un mot clé Visual Basic qui renvoie la date et l'heure il correspond à la fonction MAINTENANT() d'Excel.
Date est le mot clé Visual Basic qui correspond à la fonction AUJOURDHUI() d'Excel.
Mais tu ne peux pas utiliser les fonctions Excel dans Visual Basic ou sinon il te faut coder Application.WorksheetFunction. suivi du mot clé correspondant à la fonction (souvent une traduction anglaise) et pas toutes les fonctions Excel sont permises en VBA...
Ok je comprends et effectivement c'était ça le problème.
Merci beaucoup !
Cordialement,
nico91