Pb code VBA Curcell

Fermé
Lucas922 Messages postés 4 Date d'inscription lundi 12 septembre 2016 Statut Membre Dernière intervention 14 février 2017 - 14 févr. 2017 à 16:29
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 14 févr. 2017 à 18:57
Bonjour,
Etant novice en Vba ma macro stop sur le code suivant a l'endroit en gras :
( a noter sur mon fichier lors du beug et que je vais sur curcell.row en gras "32768" est affiché)

'fonction retourne le tableau des références
Function getRef()
Sheets("Reporting").Select
Dim ref() As Integer
'ReDim ref(Application.Subtotal(3, [A3:A15000]))
Dim plage As Range
Dim CurCell As Range
Dim pDoc As Integer
Dim deDoc As Integer

pDoc = Range("A2:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlVisible).Cells(1, 1).Row
deDoc = Range("A65536").End(xlUp).Row

Set plage = Range(Cells(pDoc, 1), Cells(deDoc, 1)).SpecialCells(xlCellTypeVisible)

i = 0

For Each CurCell In plage.Rows
ReDim Preserve ref(i)
ref(i) = Cells(CurCell.Row, "D").Row
i = i + 1
Next
getRef = ref
End Function

J'ai vraiment besoin d'aide cordialement merci beaucoup

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
14 févr. 2017 à 16:40
Bonjour,

Dim ref() As Integer

A declarer en entier Long
0
Lucas922 Messages postés 4 Date d'inscription lundi 12 septembre 2016 Statut Membre Dernière intervention 14 février 2017
14 févr. 2017 à 16:54
Merci pour votre aide,
je suis vraiment novice de chez novice
ce la donnerait quoi après correction?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > Lucas922 Messages postés 4 Date d'inscription lundi 12 septembre 2016 Statut Membre Dernière intervention 14 février 2017
14 févr. 2017 à 17:02
Re,

ce la donnerait quoi après correction?
Integer: -32765 a +32767 donc 32768 trop grand pour integer, prendre Long et cherchez les limites d'un entier long vous comprendrez peut-etre!
0
Lucas922 Messages postés 4 Date d'inscription lundi 12 septembre 2016 Statut Membre Dernière intervention 14 février 2017 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
14 févr. 2017 à 17:14
Merci, je comprends
Lorsque j'intègre la variable erreur de compilation une constante est requise entre les champs en gras


fonction retourne le tableau des références
Function getRef()
Sheets("Reporting").Select
Dim ref() As Integer
'ReDim ref(Application.Subtotal(3, [A3:A15000]))
Dim plage As Range
Dim CurCell As Range
Dim pDoc As Integer
Dim deDoc As Integer

pDoc = Range("A2:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlVisible).Cells(1, 1).Row
deDoc = Range("A65536").End(xlUp).Row

Set plage = Range(Cells(pDoc, 1), Cells(deDoc, 1)).SpecialCells(xlCellTypeVisible)

i = 0

For Each CurCell In plage.Rows
ReDim Preserve ref(i)
ref(i) = Cells(CurCell.Row, "D").Row
Dim ref(i) As Long

i = i + 1
Next
getRef = ref
End Function
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > Lucas922 Messages postés 4 Date d'inscription lundi 12 septembre 2016 Statut Membre Dernière intervention 14 février 2017
14 févr. 2017 à 18:57
Re,

Z'etes vraiment novice, il faut mettre cette declaration a la place de l'autre
0