Declaration des variables

KTM

XLDnaute Impliqué
Salut chers tous
Le code ci dessous fonctionne parfaitement si declaration de variables non obligatoire.
Mais quand on passe à declaration de variables obligatoire il y a problème
Pouvez vous aider à declarer mes variables dDate , temp, p ?

Sub copy()

dDate = Range("B2").Value
temp = CDbl(DateSerial(Year(dDate), Month(dDate), 1))
p = Application.Match(temp, Range("C4:N4"), 0)
If Not IsError(p) Then
[c5].Offset(, p - 1).Resize(10).Value=[a5:A14].Value
End If

End Sub





MERCI!!!!!
 

Efgé

XLDnaute Barbatruc
Bonjour

Pour trouvez les types de variables, il faut mettre un point d'arret sur le End Sub. Dans la fenêtre variable locale tu vois les types pris en compte.
Pour ton exemple, sans support, je dirais
Dim dDate as Date
Dim Temp as Double
Dim P as Long

Cordialement
 

Efgé

XLDnaute Barbatruc
Re
Sur le sujet : le classeur de notre requin, que je salut même s'il ne passe plus guère....

Cordialement
 

job75

XLDnaute Barbatruc
Bonjour KTM, Efgé, le forum,

Ceci va mieux :
VB:
Sub Copy()
Dim dDate As String, temp As Long, p As Variant
dDate = CStr([B2])
If Not IsDate(dDate) Then Exit Sub
temp = CDbl(DateSerial(Year(dDate), Month(dDate), 1))
p = Application.Match(temp, [C4:N4], 0)
If IsNumeric(p) Then [B5].Offset(, p).Resize(10) = [A5:A14].Value
End Sub
Bonne journée.
 

KTM

XLDnaute Impliqué
Bonjour KTM, Efgé, le forum,

Ceci va mieux :
VB:
Sub Copy()
Dim dDate As String, temp As Long, p As Variant
dDate = CStr([B2])
If Not IsDate(dDate) Then Exit Sub
temp = CDbl(DateSerial(Year(dDate), Month(dDate), 1))
p = Application.Match(temp, [C4:N4], 0)
If IsNumeric(p) Then [B5].Offset(, p).Resize(10) = [A5:A14].Value
End Sub
Bonne journée.
Super
job75 = Symbole de l'efficacité
 

Discussions similaires

Réponses
3
Affichages
146

Statistiques des forums

Discussions
314 078
Messages
2 105 448
Membres
109 365
dernier inscrit
y-b