OVH Cloud OVH Cloud

Application.Match EST CE BIEN NORMAL?

7 réponses
Avatar
aline
je voulais savoir s'il est bien normal que Application.Match retourne
l'erreur 13 en sachan que j'utilise la m=EAme fonction dans un autre
pjet et que =E7a marche bien!!!!!!!!!!!!!!!!!

MERCI BCP POUR L'AIDE

7 réponses

Avatar
Daniel
Bonjour.
CA fonctionne bien et même mieux que WorhsheetFunction.Match. Publie ton
code, le problème est dans la manière de le coder.
Cordialement.
Daniel
"aline" a écrit dans le message de news:

je voulais savoir s'il est bien normal que Application.Match retourne
l'erreur 13 en sachan que j'utilise la même fonction dans un autre
pjet et que ça marche bien!!!!!!!!!!!!!!!!!

MERCI BCP POUR L'AIDE
Avatar
AV
je voulais savoir s'il est bien normal que Application.Match retourne
l'erreur 13 en sachan que j'utilise la même fonction dans un autre
pjet et que ça marche bien!!!!!!!!!!!!!!!!!


Es-tu sur que la valeur cherchée est bien présente dans la plage de recherche ??

AV

Avatar
aline
voici l code


Private Sub CommandButton1_Click()
Dim dat As Date, Arr
Dim pi As Integer, k As Integer, i As Integer, p As Integer


Dim souscoupon As Range, sousindex As Range, table As Range
Dim donnees() As Integer
pi = Application.CountA(Worksheets("Template").Range("datecoupon"))

ReDim donnees(p)
donnees(0) = 1
With Worksheets("Calendrier")
Set table = .Range(.Range("debut"), .Range("debut").Offset(5500, 0))
End With
For i = 1 To pi

dat = DateValue(Worksheets("Template").Range("datecoupon").Cells(i))
Arr = table.Value2
pos = Application.Match(CLng(dat), Arr, 0)

donnees(i) = pos

k = donnees(i - 1)
With Worksheets("Calendrier")
Set souscoupon = .Range(.Range("cpons").Item(k).Address,
.Range("cpons").Item(pos).Address)
Set sousindex = .Range(.Range("indexes").Item(k).Address,
.Range("indexes").Item(pos).Address)
souscoupon.Value = "Q" & i
sousindex.Value = Worksheets("Template").Range("Index").Item(i).Value

End With

Next

End Sub
Avatar
aline
oui elle est bien presente
Avatar
aline
une faute de copie
je redimensionne mon tab donnees à pi et non p
merci pour l'aide % à la fonction Application.Match
Avatar
AV
| oui elle est bien presente

pos = Application.Match(CLng(dat), Arr, 0)


Si j'étais toi je vérifierais la validité de "CLng(dat)" et de "Arr" plutôt que
de chercher l'erreur là où elle n'est pas (dans la fonction)

AV

Avatar
Daniel
Euh, Arr devrait être une variable de type range.
Daniel
"aline" a écrit dans le message de news:

voici l code


Private Sub CommandButton1_Click()
Dim dat As Date, Arr
Dim pi As Integer, k As Integer, i As Integer, p As Integer


Dim souscoupon As Range, sousindex As Range, table As Range
Dim donnees() As Integer
pi = Application.CountA(Worksheets("Template").Range("datecoupon"))

ReDim donnees(p)
donnees(0) = 1
With Worksheets("Calendrier")
Set table = .Range(.Range("debut"), .Range("debut").Offset(5500, 0))
End With
For i = 1 To pi

dat = DateValue(Worksheets("Template").Range("datecoupon").Cells(i))
Arr = table.Value2
pos = Application.Match(CLng(dat), Arr, 0)

donnees(i) = pos

k = donnees(i - 1)
With Worksheets("Calendrier")
Set souscoupon = .Range(.Range("cpons").Item(k).Address,
.Range("cpons").Item(pos).Address)
Set sousindex = .Range(.Range("indexes").Item(k).Address,
.Range("indexes").Item(pos).Address)
souscoupon.Value = "Q" & i
sousindex.Value = Worksheets("Template").Range("Index").Item(i).Value

End With

Next

End Sub