VBA: erreur de débutant en 30s svp!!
Fermé
wesley78
Messages postés
11
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
29 mai 2010
-
28 mai 2010 à 19:17
wesley78 Messages postés 11 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 29 mai 2010 - 29 mai 2010 à 14:16
wesley78 Messages postés 11 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 29 mai 2010 - 29 mai 2010 à 14:16
A voir également:
- VBA: erreur de débutant en 30s svp!!
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Vba dépassement de capacité ✓ - Forum Excel
3 réponses
stevengren
Messages postés
164
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
11 décembre 2012
28 mai 2010 à 19:58
28 mai 2010 à 19:58
Si je comprend bien tu a une fonction nommé copions() et 2 variable une s'appelant vectcopy et l'autre s'appelant vecteurarg
alors lorsque tu appelle ta fonction
copion(la tu lui passe la variable dans ton cas ton vecteur)
ensuite dans ta fonction tu fais une copie de ton vecteur reçu
vectcopy = vecteurarg
et c'est la ton erreur pourquoi fais tu copions = vecteurarg
copions est un fonction et non une variable tu ne peux pas égaler ta fonction a une variable
A partir de la explique moi un peut ce que tu veux faire car tu étais bien partit ?
Veux tu retourner ta valeur?
alors lorsque tu appelle ta fonction
copion(la tu lui passe la variable dans ton cas ton vecteur)
ensuite dans ta fonction tu fais une copie de ton vecteur reçu
vectcopy = vecteurarg
et c'est la ton erreur pourquoi fais tu copions = vecteurarg
copions est un fonction et non une variable tu ne peux pas égaler ta fonction a une variable
A partir de la explique moi un peut ce que tu veux faire car tu étais bien partit ?
Veux tu retourner ta valeur?
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
29 mai 2010 à 13:49
29 mai 2010 à 13:49
Bonjour,
Tu dis...
Tu dimentionne vectcopy comme un tableau mais tu lui attribue une valeur comme si c'est une variable ??
A+
Tu dis...
Dim vectcopy() As Variant vectcopy = vecteurarg
Tu dimentionne vectcopy comme un tableau mais tu lui attribue une valeur comme si c'est une variable ??
A+
wesley78
Messages postés
11
Date d'inscription
vendredi 28 mai 2010
Statut
Membre
Dernière intervention
29 mai 2010
29 mai 2010 à 14:16
29 mai 2010 à 14:16
Bonjour,
Ok merci pour la remarque... elle m'a fait réfléchir 30s et je vois ce que tu veux dire: donc pour "égaler" 2 vecteurs, il faut juste égaler toutes les composantes d'où une boucle. Mais alors là on en revient au problème: je dois pour faire une boucle connnaitre la taille de mon vecteur mais avec n = ubound(vecteurarg,1) j'obtiens des #valeur! je pourrais à la limite faire une boucle do while mais pourquoi le n = ubound(vecteurarg,1) ne marche t il pas?
merci d'avance!
Ok merci pour la remarque... elle m'a fait réfléchir 30s et je vois ce que tu veux dire: donc pour "égaler" 2 vecteurs, il faut juste égaler toutes les composantes d'où une boucle. Mais alors là on en revient au problème: je dois pour faire une boucle connnaitre la taille de mon vecteur mais avec n = ubound(vecteurarg,1) j'obtiens des #valeur! je pourrais à la limite faire une boucle do while mais pourquoi le n = ubound(vecteurarg,1) ne marche t il pas?
merci d'avance!
29 mai 2010 à 13:18
merci de ta réponse! alors effectivement j'ai une fonction à qui je passe en argument un vecteur. Et j'aimerais tout simplement créer une copie de ce vecteur. Donc je crée un autre vecteur : vectcopy
cependant la ligne vectcopy = vecteurarg est la cause des #valeur! VBA n'aime pas ça et je demande pourquoi...
le copions = vecteurarg est l'équivalent (pour moi) d'un return vecteurarg
en fait, de même si j'utilise par exemple
dim n as integer
n = ubound(vecteurarg,1) je vais obtenir des #valeur! ce n'est pas très clair pour moi comment je dois correctement faire appel au vecteur passé en argument! tu vois mon souci?
en soit ce programme est stupide et ne me sert qu'à voir comment marche VBA et je ferai le même genre de tests après avec un tableau etc etc.
Merci