[VBA] valeur de retour d'une fonction toujours à 0
4 réponses
Jean-Luc GARNIER
Bonjour,
Je viens de coder une fonction qui lit une liste de mots clé dans une
cellule (Feuille1) et les remplace par des valeurs issues de différentes
cellules (Feuille2), pour alimenter un tableau en mémoire. But de
l'opération: envoyer par mail une synthèse des modifications...
Pb: la fonction qui contruit la liste renvoie le nombre de mots clé traités.
Or, quel que soit le nombre de mots clé, la valeur vue par la fonction
appelante est toujours 0! Je suis un peu sous l'eau, donc je dois rater
quelque chose de basique ! Le fait de travailler sur plusieurs feuilles
peut-il provoquer ce genre d'erreur ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LE TROLL
Bonjour,
Faudrait voir tes 2 fonctions, l'appelante et l'appelée ???
Mais, plus simple, les procédures avec une variable globale:
'_point d'entrée dim nbMots as long
sub procedure_principale() nbMots=0 call procedure_compte_envoie_mots() msgbox nbMots end sub
sub procedure_compte_envoie_mots() dim i as long for i = 1 to x step y ... envoie les mots... nbMots = nbMots + 1 next i end sub ----
Un exemple sur les fonction (plus compliqué)
Function appelant(nombre As Long) nombre = 0 Call appele(nombre) MsgBox nombre End Function
Function appele(nombre As Long) Dim i As Long For i = 1 To 10 Step 1 nombre = nombre + 1 Next i End Function
Mais, en VB, on n'a pas besoin d'utiliser les fonctions, le basic ne les utilise pas, le VB les accepte pour ne pas dépayser ceux qui viennent du C, ou qui ont un apprentissage mathématique de la programmation... la procédure suffit, d'autant que... la fonction bouffe moins de variable, mais plus de code, et la procédure, plus de variable et moins de code, alors bof, comme tout ça va en mémoire, on ne gagne rien, à part compliquer les choses avec la structure des fonctions...
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
| Bonjour, | | Je viens de coder une fonction qui lit une liste de mots clé dans une | cellule (Feuille1) et les remplace par des valeurs issues de différentes | cellules (Feuille2), pour alimenter un tableau en mémoire. But de | l'opération: envoyer par mail une synthèse des modifications... | | Pb: la fonction qui contruit la liste renvoie le nombre de mots clé traités. | Or, quel que soit le nombre de mots clé, la valeur vue par la fonction | appelante est toujours 0! Je suis un peu sous l'eau, donc je dois rater | quelque chose de basique ! Le fait de travailler sur plusieurs feuilles | peut-il provoquer ce genre d'erreur ? | | Exemple de code sur demande... | | Merci d'avance pour toute aide ! | | -- | Jean-Luc, Auriol, FRANCE
Bonjour,
Faudrait voir tes 2 fonctions, l'appelante et
l'appelée ???
Mais, plus simple, les procédures avec une
variable globale:
'_point d'entrée
dim nbMots as long
sub procedure_principale()
nbMots=0
call procedure_compte_envoie_mots()
msgbox nbMots
end sub
sub procedure_compte_envoie_mots()
dim i as long
for i = 1 to x step y
... envoie les mots...
nbMots = nbMots + 1
next i
end sub
----
Un exemple sur les fonction (plus compliqué)
Function appelant(nombre As Long)
nombre = 0
Call appele(nombre)
MsgBox nombre
End Function
Function appele(nombre As Long)
Dim i As Long
For i = 1 To 10 Step 1
nombre = nombre + 1
Next i
End Function
Mais, en VB, on n'a pas besoin d'utiliser les
fonctions, le basic ne les utilise pas, le VB les
accepte pour ne pas dépayser ceux qui viennent du
C, ou qui ont un apprentissage mathématique de la
programmation... la procédure suffit, d'autant
que... la fonction bouffe moins de variable, mais
plus de code, et la procédure, plus de variable et
moins de code, alors bof, comme tout ça va en
mémoire, on ne gagne rien, à part compliquer les
choses avec la structure des fonctions...
--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Jean-Luc GARNIER"
<jean-luc.garnier(at)gemalto.com> a écrit dans le
message de news:
500F7A81-5744-4C07-8AE5-C85E1697571D@microsoft.com...
| Bonjour,
|
| Je viens de coder une fonction qui lit une liste
de mots clé dans une
| cellule (Feuille1) et les remplace par des
valeurs issues de différentes
| cellules (Feuille2), pour alimenter un tableau
en mémoire. But de
| l'opération: envoyer par mail une synthèse des
modifications...
|
| Pb: la fonction qui contruit la liste renvoie le
nombre de mots clé traités.
| Or, quel que soit le nombre de mots clé, la
valeur vue par la fonction
| appelante est toujours 0! Je suis un peu sous
l'eau, donc je dois rater
| quelque chose de basique ! Le fait de travailler
sur plusieurs feuilles
| peut-il provoquer ce genre d'erreur ?
|
| Exemple de code sur demande...
|
| Merci d'avance pour toute aide !
|
| --
| Jean-Luc, Auriol, FRANCE
Faudrait voir tes 2 fonctions, l'appelante et l'appelée ???
Mais, plus simple, les procédures avec une variable globale:
'_point d'entrée dim nbMots as long
sub procedure_principale() nbMots=0 call procedure_compte_envoie_mots() msgbox nbMots end sub
sub procedure_compte_envoie_mots() dim i as long for i = 1 to x step y ... envoie les mots... nbMots = nbMots + 1 next i end sub ----
Un exemple sur les fonction (plus compliqué)
Function appelant(nombre As Long) nombre = 0 Call appele(nombre) MsgBox nombre End Function
Function appele(nombre As Long) Dim i As Long For i = 1 To 10 Step 1 nombre = nombre + 1 Next i End Function
Mais, en VB, on n'a pas besoin d'utiliser les fonctions, le basic ne les utilise pas, le VB les accepte pour ne pas dépayser ceux qui viennent du C, ou qui ont un apprentissage mathématique de la programmation... la procédure suffit, d'autant que... la fonction bouffe moins de variable, mais plus de code, et la procédure, plus de variable et moins de code, alors bof, comme tout ça va en mémoire, on ne gagne rien, à part compliquer les choses avec la structure des fonctions...
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
| Bonjour, | | Je viens de coder une fonction qui lit une liste de mots clé dans une | cellule (Feuille1) et les remplace par des valeurs issues de différentes | cellules (Feuille2), pour alimenter un tableau en mémoire. But de | l'opération: envoyer par mail une synthèse des modifications... | | Pb: la fonction qui contruit la liste renvoie le nombre de mots clé traités. | Or, quel que soit le nombre de mots clé, la valeur vue par la fonction | appelante est toujours 0! Je suis un peu sous l'eau, donc je dois rater | quelque chose de basique ! Le fait de travailler sur plusieurs feuilles | peut-il provoquer ce genre d'erreur ? | | Exemple de code sur demande... | | Merci d'avance pour toute aide ! | | -- | Jean-Luc, Auriol, FRANCE
LE TROLL
Tiens, une autre possibilité, j'avais oublié, utiliser la fonction sous forme de variable, bof...
Function un() Call fonction2 MsgBox fonction2 End Function
Function fonction2() As Long Dim i As Long fonction2 = 0 For i = 1 To 9 Step 1 fonction2 = fonction2 + i Next i End Function
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
| Bonjour, | | Je viens de coder une fonction qui lit une liste de mots clé dans une | cellule (Feuille1) et les remplace par des valeurs issues de différentes | cellules (Feuille2), pour alimenter un tableau en mémoire. But de | l'opération: envoyer par mail une synthèse des modifications... | | Pb: la fonction qui contruit la liste renvoie le nombre de mots clé traités. | Or, quel que soit le nombre de mots clé, la valeur vue par la fonction | appelante est toujours 0! Je suis un peu sous l'eau, donc je dois rater | quelque chose de basique ! Le fait de travailler sur plusieurs feuilles | peut-il provoquer ce genre d'erreur ? | | Exemple de code sur demande... | | Merci d'avance pour toute aide ! | | -- | Jean-Luc, Auriol, FRANCE
Tiens, une autre possibilité, j'avais oublié,
utiliser la fonction sous forme de variable,
bof...
Function un()
Call fonction2
MsgBox fonction2
End Function
Function fonction2() As Long
Dim i As Long
fonction2 = 0
For i = 1 To 9 Step 1
fonction2 = fonction2 + i
Next i
End Function
--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Jean-Luc GARNIER"
<jean-luc.garnier(at)gemalto.com> a écrit dans le
message de news:
500F7A81-5744-4C07-8AE5-C85E1697571D@microsoft.com...
| Bonjour,
|
| Je viens de coder une fonction qui lit une liste
de mots clé dans une
| cellule (Feuille1) et les remplace par des
valeurs issues de différentes
| cellules (Feuille2), pour alimenter un tableau
en mémoire. But de
| l'opération: envoyer par mail une synthèse des
modifications...
|
| Pb: la fonction qui contruit la liste renvoie le
nombre de mots clé traités.
| Or, quel que soit le nombre de mots clé, la
valeur vue par la fonction
| appelante est toujours 0! Je suis un peu sous
l'eau, donc je dois rater
| quelque chose de basique ! Le fait de travailler
sur plusieurs feuilles
| peut-il provoquer ce genre d'erreur ?
|
| Exemple de code sur demande...
|
| Merci d'avance pour toute aide !
|
| --
| Jean-Luc, Auriol, FRANCE
Tiens, une autre possibilité, j'avais oublié, utiliser la fonction sous forme de variable, bof...
Function un() Call fonction2 MsgBox fonction2 End Function
Function fonction2() As Long Dim i As Long fonction2 = 0 For i = 1 To 9 Step 1 fonction2 = fonction2 + i Next i End Function
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
| Bonjour, | | Je viens de coder une fonction qui lit une liste de mots clé dans une | cellule (Feuille1) et les remplace par des valeurs issues de différentes | cellules (Feuille2), pour alimenter un tableau en mémoire. But de | l'opération: envoyer par mail une synthèse des modifications... | | Pb: la fonction qui contruit la liste renvoie le nombre de mots clé traités. | Or, quel que soit le nombre de mots clé, la valeur vue par la fonction | appelante est toujours 0! Je suis un peu sous l'eau, donc je dois rater | quelque chose de basique ! Le fait de travailler sur plusieurs feuilles | peut-il provoquer ce genre d'erreur ? | | Exemple de code sur demande... | | Merci d'avance pour toute aide ! | | -- | Jean-Luc, Auriol, FRANCE
Jean-Luc GARNIER
Merci !
A vrai dire, plusieurs 'save' suivis de 'open', sans rien d'autre et tout s'est remis à marcher... Le coup classique !
-- Jean-Luc, Auriol, FRANCE
"LE TROLL" wrote:
Bonjour,
Faudrait voir tes 2 fonctions, l'appelante et l'appelée ???
Mais, plus simple, les procédures avec une variable globale:
'_point d'entrée dim nbMots as long
sub procedure_principale() nbMots=0 call procedure_compte_envoie_mots() msgbox nbMots end sub
sub procedure_compte_envoie_mots() dim i as long for i = 1 to x step y ... envoie les mots... nbMots = nbMots + 1 next i end sub ----
Un exemple sur les fonction (plus compliqué)
Function appelant(nombre As Long) nombre = 0 Call appele(nombre) MsgBox nombre End Function
Function appele(nombre As Long) Dim i As Long For i = 1 To 10 Step 1 nombre = nombre + 1 Next i End Function
Mais, en VB, on n'a pas besoin d'utiliser les fonctions, le basic ne les utilise pas, le VB les accepte pour ne pas dépayser ceux qui viennent du C, ou qui ont un apprentissage mathématique de la programmation... la procédure suffit, d'autant que... la fonction bouffe moins de variable, mais plus de code, et la procédure, plus de variable et moins de code, alors bof, comme tout ça va en mémoire, on ne gagne rien, à part compliquer les choses avec la structure des fonctions...
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
| Bonjour, | | Je viens de coder une fonction qui lit une liste de mots clé dans une | cellule (Feuille1) et les remplace par des valeurs issues de différentes | cellules (Feuille2), pour alimenter un tableau en mémoire. But de | l'opération: envoyer par mail une synthèse des modifications... | | Pb: la fonction qui contruit la liste renvoie le nombre de mots clé traités. | Or, quel que soit le nombre de mots clé, la valeur vue par la fonction | appelante est toujours 0! Je suis un peu sous l'eau, donc je dois rater | quelque chose de basique ! Le fait de travailler sur plusieurs feuilles | peut-il provoquer ce genre d'erreur ? | | Exemple de code sur demande... | | Merci d'avance pour toute aide ! | | -- | Jean-Luc, Auriol, FRANCE
Merci !
A vrai dire, plusieurs 'save' suivis de 'open', sans rien d'autre et tout
s'est remis à marcher... Le coup classique !
--
Jean-Luc, Auriol, FRANCE
"LE TROLL" wrote:
Bonjour,
Faudrait voir tes 2 fonctions, l'appelante et
l'appelée ???
Mais, plus simple, les procédures avec une
variable globale:
'_point d'entrée
dim nbMots as long
sub procedure_principale()
nbMots=0
call procedure_compte_envoie_mots()
msgbox nbMots
end sub
sub procedure_compte_envoie_mots()
dim i as long
for i = 1 to x step y
... envoie les mots...
nbMots = nbMots + 1
next i
end sub
----
Un exemple sur les fonction (plus compliqué)
Function appelant(nombre As Long)
nombre = 0
Call appele(nombre)
MsgBox nombre
End Function
Function appele(nombre As Long)
Dim i As Long
For i = 1 To 10 Step 1
nombre = nombre + 1
Next i
End Function
Mais, en VB, on n'a pas besoin d'utiliser les
fonctions, le basic ne les utilise pas, le VB les
accepte pour ne pas dépayser ceux qui viennent du
C, ou qui ont un apprentissage mathématique de la
programmation... la procédure suffit, d'autant
que... la fonction bouffe moins de variable, mais
plus de code, et la procédure, plus de variable et
moins de code, alors bof, comme tout ça va en
mémoire, on ne gagne rien, à part compliquer les
choses avec la structure des fonctions...
--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Jean-Luc GARNIER"
<jean-luc.garnier(at)gemalto.com> a écrit dans le
message de news:
500F7A81-5744-4C07-8AE5-C85E1697571D@microsoft.com...
| Bonjour,
|
| Je viens de coder une fonction qui lit une liste
de mots clé dans une
| cellule (Feuille1) et les remplace par des
valeurs issues de différentes
| cellules (Feuille2), pour alimenter un tableau
en mémoire. But de
| l'opération: envoyer par mail une synthèse des
modifications...
|
| Pb: la fonction qui contruit la liste renvoie le
nombre de mots clé traités.
| Or, quel que soit le nombre de mots clé, la
valeur vue par la fonction
| appelante est toujours 0! Je suis un peu sous
l'eau, donc je dois rater
| quelque chose de basique ! Le fait de travailler
sur plusieurs feuilles
| peut-il provoquer ce genre d'erreur ?
|
| Exemple de code sur demande...
|
| Merci d'avance pour toute aide !
|
| --
| Jean-Luc, Auriol, FRANCE
A vrai dire, plusieurs 'save' suivis de 'open', sans rien d'autre et tout s'est remis à marcher... Le coup classique !
-- Jean-Luc, Auriol, FRANCE
"LE TROLL" wrote:
Bonjour,
Faudrait voir tes 2 fonctions, l'appelante et l'appelée ???
Mais, plus simple, les procédures avec une variable globale:
'_point d'entrée dim nbMots as long
sub procedure_principale() nbMots=0 call procedure_compte_envoie_mots() msgbox nbMots end sub
sub procedure_compte_envoie_mots() dim i as long for i = 1 to x step y ... envoie les mots... nbMots = nbMots + 1 next i end sub ----
Un exemple sur les fonction (plus compliqué)
Function appelant(nombre As Long) nombre = 0 Call appele(nombre) MsgBox nombre End Function
Function appele(nombre As Long) Dim i As Long For i = 1 To 10 Step 1 nombre = nombre + 1 Next i End Function
Mais, en VB, on n'a pas besoin d'utiliser les fonctions, le basic ne les utilise pas, le VB les accepte pour ne pas dépayser ceux qui viennent du C, ou qui ont un apprentissage mathématique de la programmation... la procédure suffit, d'autant que... la fonction bouffe moins de variable, mais plus de code, et la procédure, plus de variable et moins de code, alors bof, comme tout ça va en mémoire, on ne gagne rien, à part compliquer les choses avec la structure des fonctions...
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
| Bonjour, | | Je viens de coder une fonction qui lit une liste de mots clé dans une | cellule (Feuille1) et les remplace par des valeurs issues de différentes | cellules (Feuille2), pour alimenter un tableau en mémoire. But de | l'opération: envoyer par mail une synthèse des modifications... | | Pb: la fonction qui contruit la liste renvoie le nombre de mots clé traités. | Or, quel que soit le nombre de mots clé, la valeur vue par la fonction | appelante est toujours 0! Je suis un peu sous l'eau, donc je dois rater | quelque chose de basique ! Le fait de travailler sur plusieurs feuilles | peut-il provoquer ce genre d'erreur ? | | Exemple de code sur demande... | | Merci d'avance pour toute aide ! | | -- | Jean-Luc, Auriol, FRANCE
LE TROLL
Ah ben, tant mieux: "la solution était ailleurs"... X files :o)
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
| Merci ! | | A vrai dire, plusieurs 'save' suivis de 'open', sans rien d'autre et tout | s'est remis à marcher... Le coup classique ! | | -- | Jean-Luc, Auriol, FRANCE | | | "LE TROLL" wrote: | | > Bonjour, | > | > Faudrait voir tes 2 fonctions, l'appelante et | > l'appelée ??? | > | > Mais, plus simple, les procédures avec une | > variable globale: | > | > '_point d'entrée | > dim nbMots as long | > | > sub procedure_principale() | > nbMots=0 | > call procedure_compte_envoie_mots() | > msgbox nbMots | > end sub | > | > sub procedure_compte_envoie_mots() | > dim i as long | > for i = 1 to x step y | > ... envoie les mots... | > nbMots = nbMots + 1 | > next i | > end sub | > ---- | > | > Un exemple sur les fonction (plus compliqué) | > | > Function appelant(nombre As Long) | > nombre = 0 | > Call appele(nombre) | > MsgBox nombre | > End Function | > | > Function appele(nombre As Long) | > Dim i As Long | > For i = 1 To 10 Step 1 | > nombre = nombre + 1 | > Next i | > End Function | > | > Mais, en VB, on n'a pas besoin d'utiliser les | > fonctions, le basic ne les utilise pas, le VB les | > accepte pour ne pas dépayser ceux qui viennent du | > C, ou qui ont un apprentissage mathématique de la | > programmation... la procédure suffit, d'autant | > que... la fonction bouffe moins de variable, mais | > plus de code, et la procédure, plus de variable et | > moins de code, alors bof, comme tout ça va en | > mémoire, on ne gagne rien, à part compliquer les | > choses avec la structure des fonctions... | > | > -- | > Romans, logiciels, email, site personnel | > http://irolog.free.fr/joe.htm |
| > <jean-luc.garnier(at)gemalto.com> a écrit dans le | > message de news: | >
| > | Bonjour, | > | | > | Je viens de coder une fonction qui lit une liste | > de mots clé dans une | > | cellule (Feuille1) et les remplace par des | > valeurs issues de différentes | > | cellules (Feuille2), pour alimenter un tableau | > en mémoire. But de | > | l'opération: envoyer par mail une synthèse des | > modifications... | > | | > | Pb: la fonction qui contruit la liste renvoie le | > nombre de mots clé traités. | > | Or, quel que soit le nombre de mots clé, la | > valeur vue par la fonction | > | appelante est toujours 0! Je suis un peu sous | > l'eau, donc je dois rater | > | quelque chose de basique ! Le fait de travailler | > sur plusieurs feuilles | > | peut-il provoquer ce genre d'erreur ? | > | | > | Exemple de code sur demande... | > | | > | Merci d'avance pour toute aide ! | > | | > | -- | > | Jean-Luc, Auriol, FRANCE | > | > | >
Ah ben, tant mieux: "la solution était
ailleurs"... X files :o)
--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Jean-Luc GARNIER"
<jean-luc.garnier(at)gemalto.com> a écrit dans le
message de news:
99F378B3-3155-4432-9ADC-8BEAF18EF005@microsoft.com...
| Merci !
|
| A vrai dire, plusieurs 'save' suivis de 'open',
sans rien d'autre et tout
| s'est remis à marcher... Le coup classique !
|
| --
| Jean-Luc, Auriol, FRANCE
|
|
| "LE TROLL" wrote:
|
| > Bonjour,
| >
| > Faudrait voir tes 2 fonctions, l'appelante
et
| > l'appelée ???
| >
| > Mais, plus simple, les procédures avec une
| > variable globale:
| >
| > '_point d'entrée
| > dim nbMots as long
| >
| > sub procedure_principale()
| > nbMots=0
| > call procedure_compte_envoie_mots()
| > msgbox nbMots
| > end sub
| >
| > sub procedure_compte_envoie_mots()
| > dim i as long
| > for i = 1 to x step y
| > ... envoie les mots...
| > nbMots = nbMots + 1
| > next i
| > end sub
| > ----
| >
| > Un exemple sur les fonction (plus compliqué)
| >
| > Function appelant(nombre As Long)
| > nombre = 0
| > Call appele(nombre)
| > MsgBox nombre
| > End Function
| >
| > Function appele(nombre As Long)
| > Dim i As Long
| > For i = 1 To 10 Step 1
| > nombre = nombre + 1
| > Next i
| > End Function
| >
| > Mais, en VB, on n'a pas besoin d'utiliser les
| > fonctions, le basic ne les utilise pas, le VB
les
| > accepte pour ne pas dépayser ceux qui viennent
du
| > C, ou qui ont un apprentissage mathématique de
la
| > programmation... la procédure suffit, d'autant
| > que... la fonction bouffe moins de variable,
mais
| > plus de code, et la procédure, plus de
variable et
| > moins de code, alors bof, comme tout ça va en
| > mémoire, on ne gagne rien, à part compliquer
les
| > choses avec la structure des fonctions...
| >
| > --
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
| > <jean-luc.garnier(at)gemalto.com> a écrit dans
le
| > message de news:
| >
500F7A81-5744-4C07-8AE5-C85E1697571D@microsoft.com...
| > | Bonjour,
| > |
| > | Je viens de coder une fonction qui lit une
liste
| > de mots clé dans une
| > | cellule (Feuille1) et les remplace par des
| > valeurs issues de différentes
| > | cellules (Feuille2), pour alimenter un
tableau
| > en mémoire. But de
| > | l'opération: envoyer par mail une synthèse
des
| > modifications...
| > |
| > | Pb: la fonction qui contruit la liste
renvoie le
| > nombre de mots clé traités.
| > | Or, quel que soit le nombre de mots clé, la
| > valeur vue par la fonction
| > | appelante est toujours 0! Je suis un peu
sous
| > l'eau, donc je dois rater
| > | quelque chose de basique ! Le fait de
travailler
| > sur plusieurs feuilles
| > | peut-il provoquer ce genre d'erreur ?
| > |
| > | Exemple de code sur demande...
| > |
| > | Merci d'avance pour toute aide !
| > |
| > | --
| > | Jean-Luc, Auriol, FRANCE
| >
| >
| >
Ah ben, tant mieux: "la solution était ailleurs"... X files :o)
-- Romans, logiciels, email, site personnel http://irolog.free.fr/joe.htm ------------------------------------------------------------------------------------ "Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
| Merci ! | | A vrai dire, plusieurs 'save' suivis de 'open', sans rien d'autre et tout | s'est remis à marcher... Le coup classique ! | | -- | Jean-Luc, Auriol, FRANCE | | | "LE TROLL" wrote: | | > Bonjour, | > | > Faudrait voir tes 2 fonctions, l'appelante et | > l'appelée ??? | > | > Mais, plus simple, les procédures avec une | > variable globale: | > | > '_point d'entrée | > dim nbMots as long | > | > sub procedure_principale() | > nbMots=0 | > call procedure_compte_envoie_mots() | > msgbox nbMots | > end sub | > | > sub procedure_compte_envoie_mots() | > dim i as long | > for i = 1 to x step y | > ... envoie les mots... | > nbMots = nbMots + 1 | > next i | > end sub | > ---- | > | > Un exemple sur les fonction (plus compliqué) | > | > Function appelant(nombre As Long) | > nombre = 0 | > Call appele(nombre) | > MsgBox nombre | > End Function | > | > Function appele(nombre As Long) | > Dim i As Long | > For i = 1 To 10 Step 1 | > nombre = nombre + 1 | > Next i | > End Function | > | > Mais, en VB, on n'a pas besoin d'utiliser les | > fonctions, le basic ne les utilise pas, le VB les | > accepte pour ne pas dépayser ceux qui viennent du | > C, ou qui ont un apprentissage mathématique de la | > programmation... la procédure suffit, d'autant | > que... la fonction bouffe moins de variable, mais | > plus de code, et la procédure, plus de variable et | > moins de code, alors bof, comme tout ça va en | > mémoire, on ne gagne rien, à part compliquer les | > choses avec la structure des fonctions... | > | > -- | > Romans, logiciels, email, site personnel | > http://irolog.free.fr/joe.htm |
| > <jean-luc.garnier(at)gemalto.com> a écrit dans le | > message de news: | >
| > | Bonjour, | > | | > | Je viens de coder une fonction qui lit une liste | > de mots clé dans une | > | cellule (Feuille1) et les remplace par des | > valeurs issues de différentes | > | cellules (Feuille2), pour alimenter un tableau | > en mémoire. But de | > | l'opération: envoyer par mail une synthèse des | > modifications... | > | | > | Pb: la fonction qui contruit la liste renvoie le | > nombre de mots clé traités. | > | Or, quel que soit le nombre de mots clé, la | > valeur vue par la fonction | > | appelante est toujours 0! Je suis un peu sous | > l'eau, donc je dois rater | > | quelque chose de basique ! Le fait de travailler | > sur plusieurs feuilles | > | peut-il provoquer ce genre d'erreur ? | > | | > | Exemple de code sur demande... | > | | > | Merci d'avance pour toute aide ! | > | | > | -- | > | Jean-Luc, Auriol, FRANCE | > | > | >