OVH Cloud OVH Cloud

Fonction..

17 réponses
Avatar
Patrice
Bonjour,

J'ai cr=E9=E9 une fonction :

Function synth(place, deb, fin)
Sheets("R=E9cap").Select
Range(place).Select
For i =3D 1 To 15
For j =3D deb To fin
Cells(i + 3, j + 1).Value =3D matable(i, j)
Next j
Next i
End Function
--=20
et quand dans la macro je tape synth(1,2,3).. Excel me=20
signale une erreur.. genre qu'il manque quelque chose.

J'ai oubli=E9 un truc ?

Merci de votre aide

10 réponses

1 2
Avatar
Pounet95
Bonjour,
Il faut que les paramètres passés en argument soient déclarés a minima dans
la procédure
Exemple Dim place as String
Dim deb, fin as Integer
Est-ce répéré ?
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Patrice" a écrit dans le message de
news: 037601c4c8b8$3d0d8390$
Bonjour,

J'ai créé une fonction :

Function synth(place, deb, fin)
Sheets("Récap").Select
Range(place).Select
For i = 1 To 15
For j = deb To fin
Cells(i + 3, j + 1).Value = matable(i, j)
Next j
Next i
End Function
--
et quand dans la macro je tape synth(1,2,3).. Excel me
signale une erreur.. genre qu'il manque quelque chose.

J'ai oublié un truc ?

Merci de votre aide
Avatar
Joël GARBE
Bonjour Patrice,

en général, le message d'ereur ne dit pas :
"genre il manque quelque chose", mais est plus précis....

Tu peux nous en dire plus ?

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Patrice" a écrit dans le message de
news: 037601c4c8b8$3d0d8390$
Bonjour,

J'ai créé une fonction :

Function synth(place, deb, fin)
Sheets("Récap").Select
Range(place).Select
For i = 1 To 15
For j = deb To fin
Cells(i + 3, j + 1).Value = matable(i, j)
Next j
Next i
End Function
--
et quand dans la macro je tape synth(1,2,3).. Excel me
signale une erreur.. genre qu'il manque quelque chose.

J'ai oublié un truc ?

Merci de votre aide
Avatar
Joël GARBE
Bonjour Pounet ;-)

répéré, du verbe répérer ? alias réparer ou repérer ? ou détéré ? ou autre ?

Sans rancune ;-)

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Pounet95" a écrit dans le message de news:

Bonjour,
Il faut que les paramètres passés en argument soient déclarés a minima
dans la procédure
Exemple Dim place as String
Dim deb, fin as Integer
Est-ce répéré ?
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Patrice" a écrit dans le message de
news: 037601c4c8b8$3d0d8390$
Bonjour,

J'ai créé une fonction :

Function synth(place, deb, fin)
Sheets("Récap").Select
Range(place).Select
For i = 1 To 15
For j = deb To fin
Cells(i + 3, j + 1).Value = matable(i, j)
Next j
Next i
End Function
--
et quand dans la macro je tape synth(1,2,3).. Excel me
signale une erreur.. genre qu'il manque quelque chose.

J'ai oublié un truc ?

Merci de votre aide



Avatar
Pounet95
Bonjour Joêl,
Je crois que j'ai voulu dire répAré.
Sans rancune aucune.
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Joël GARBE" a écrit dans le message de news:
4194bb24$0$13367$
Bonjour Pounet ;-)

répéré, du verbe répérer ? alias réparer ou repérer ? ou détéré ? ou autre
?

Sans rancune ;-)

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Pounet95" a écrit dans le message de news:

Bonjour,
Il faut que les paramètres passés en argument soient déclarés a minima
dans la procédure
Exemple Dim place as String
Dim deb, fin as Integer
Est-ce répéré ?
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Patrice" a écrit dans le message
de news: 037601c4c8b8$3d0d8390$
Bonjour,

J'ai créé une fonction :

Function synth(place, deb, fin)
Sheets("Récap").Select
Range(place).Select
For i = 1 To 15
For j = deb To fin
Cells(i + 3, j + 1).Value = matable(i, j)
Next j
Next i
End Function
--
et quand dans la macro je tape synth(1,2,3).. Excel me
signale une erreur.. genre qu'il manque quelque chose.

J'ai oublié un truc ?

Merci de votre aide







Avatar
JpPradier
Bonjour Patrice

Dans une fonction perso, tu ne peux pas agir sur le classeur. Donc tes select produisent une erreur.
Pour t'en passer ecris ta fonction comme ci-dessous.

j-p

Function synth(place, deb, fin)

For i = 1 To 15
For j = deb To fin
Sheets("Récap").Range(place).Cells(i + 3, j + 1).Value = matable(i, j)
Next j
Next i
End Function
Avatar
Patrice
message - erreur de compilation attendu : =

pourtant, quand je remplie la fonction dans ma macro, il
me donne bien le cheminement à suivre pour remplir tout..
je comprends pas.

Si je modifie ma fonction pour qu'elle ait une seule
valeur synth(place as string) par exemple : ça fonctionne,
je bloque donc si je mets plusieurs variable.



-----Message d'origine-----
Bonjour Patrice,

en général, le message d'ereur ne dit pas :
"genre il manque quelque chose", mais est plus précis....

Tu peux nous en dire plus ?

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Patrice" a écrit
dans le message de

news: 037601c4c8b8$3d0d8390$
Bonjour,

J'ai créé une fonction :

Function synth(place, deb, fin)
Sheets("Récap").Select
Range(place).Select
For i = 1 To 15
For j = deb To fin
Cells(i + 3, j + 1).Value = matable(i, j)
Next j
Next i
End Function
--
et quand dans la macro je tape synth(1,2,3).. Excel me
signale une erreur.. genre qu'il manque quelque chose.

J'ai oublié un truc ?

Merci de votre aide


.



Avatar
Joël GARBE
Re ;-)

essayer de déclarer les variables à l'entée de la fonction...

Function synth(byval place as string, byval deb as integer , fin as integer)

et fais en sorte que l'appel à la fonction réponde bien aux critèes :

coucou=synt "AdresseCellule" , Ligne, Colonne

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Patrice" a écrit dans le message de
news: 520301c4c8bc$fceeece0$
message - erreur de compilation attendu :
pourtant, quand je remplie la fonction dans ma macro, il
me donne bien le cheminement à suivre pour remplir tout..
je comprends pas.

Si je modifie ma fonction pour qu'elle ait une seule
valeur synth(place as string) par exemple : ça fonctionne,
je bloque donc si je mets plusieurs variable.



-----Message d'origine-----
Bonjour Patrice,

en général, le message d'ereur ne dit pas :
"genre il manque quelque chose", mais est plus précis....

Tu peux nous en dire plus ?

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Patrice" a écrit
dans le message de

news: 037601c4c8b8$3d0d8390$
Bonjour,

J'ai créé une fonction :

Function synth(place, deb, fin)
Sheets("Récap").Select
Range(place).Select
For i = 1 To 15
For j = deb To fin
Cells(i + 3, j + 1).Value = matable(i, j)
Next j
Next i
End Function
--
et quand dans la macro je tape synth(1,2,3).. Excel me
signale une erreur.. genre qu'il manque quelque chose.

J'ai oublié un truc ?

Merci de votre aide


.



Avatar
Joël GARBE
Précision :

synt(1,2,3) ne peut pas fonctionner, car Range(1) est impossible ....

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Patrice" a écrit dans le message de
news: 520301c4c8bc$fceeece0$
message - erreur de compilation attendu :
pourtant, quand je remplie la fonction dans ma macro, il
me donne bien le cheminement à suivre pour remplir tout..
je comprends pas.

Si je modifie ma fonction pour qu'elle ait une seule
valeur synth(place as string) par exemple : ça fonctionne,
je bloque donc si je mets plusieurs variable.



-----Message d'origine-----
Bonjour Patrice,

en général, le message d'ereur ne dit pas :
"genre il manque quelque chose", mais est plus précis....

Tu peux nous en dire plus ?

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Patrice" a écrit
dans le message de

news: 037601c4c8b8$3d0d8390$
Bonjour,

J'ai créé une fonction :

Function synth(place, deb, fin)
Sheets("Récap").Select
Range(place).Select
For i = 1 To 15
For j = deb To fin
Cells(i + 3, j + 1).Value = matable(i, j)
Next j
Next i
End Function
--
et quand dans la macro je tape synth(1,2,3).. Excel me
signale une erreur.. genre qu'il manque quelque chose.

J'ai oublié un truc ?

Merci de votre aide


.



Avatar
Patrice
J'ai toujours la même erreur...c'est plus dans l'appel de
la fonction que dans la fonction elle même semble t'il
-----Message d'origine-----
Bonjour Patrice

Dans une fonction perso, tu ne peux pas agir sur le
classeur. Donc tes select produisent une erreur.

Pour t'en passer ecris ta fonction comme ci-dessous.

j-p

Function synth(place, deb, fin)

For i = 1 To 15
For j = deb To fin
Sheets("Récap").Range(place).Cells(i + 3, j +
1).Value = matable(i, j)

Next j
Next i
End Function

.



Avatar
JpPradier
D'ailleurs, je ne crois pas que tu puisses remplir une plage non plus ??

j-p
1 2