Condition avec taille de vecteur [Résolu]

Signaler
Messages postés
30
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
24 avril 2011
-
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
-
Hello,

Je voudrais pouvoir exécuter un code uniquement dans le cas où mon vecteur a une dimension n. La condition IF... then ça ça va par contre comparer les dimensions du vecteur avec un nombre je ne sais pas faire

Si vous pouviez m'aider ça serait génial.

12 réponses

Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
En Vb6 comme en vba , utilise la fonction UBound
Type One
x As Integer
y As Integer
End Type

Global Vecteur() As One
......
Dim Nb_Vecteur as integer
Nb_Vecteur = Ubound(Vecteur,1) 



Evite si possible de donner Array comme nom de variable, c'est un nom qui prete a confusion.

Tapez le texte de l'url ici.

Bonne soirée CGSI3
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Bonsoir,

"mon vecteur a une dimension n"
Tu veux dire quoi ?
Explique un peu

Voici un vecteur sur 2 dimensions
Messages postés
30
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
24 avril 2011

Ben je stocke des nombres dans mon vecteur quand j'ai stocké 10 nombre par exemple je veux que ça s'inscrive dans ma condition.
Je sais pas si c'est comprehensible...
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Non, c'est pas comprehensible... désolé

C'est pas de la géometrie apparement,
qu'est ce que t'appelle vecteur (un tableau ?)
Tu test les dimensions d'un tableau ?
Met donc un petit bout de code alors pour voir de quoi tu parle
Messages postés
30
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
24 avril 2011

c'est un array
voila ma declaration de variable...
Ce que je veux c'est pouvoir conaitre le nombre de chiffres stockés dans Array.

Type One
x As Integer
y As Integer
End Type

Global Array() As One
Messages postés
30
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
24 avril 2011

cool, merci je vais essayer ca merci pour ta réponse!

Bonne soirée:)
Messages postés
30
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
24 avril 2011

ça marche pas...
j'ai mis

If Ubound(nodearray,1) = node_number then

Il me dit que l'indice est en dehors de la plage

ma declaration des variables est

Global nodearray as one
Global node_number as integer
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Bonjour,

Global nodearray() as one
Global node_number as integer 

redim preserve nodearray(1 to 50) as one


Tu n'as pas déclaré comme tableau ta variable nodearray mais comme une variable toute simple
Les parentheses te permettent de le faire.
La valeur 1, d'Ubound permet juste de spécifier la dimension sur laquelle tu demande la valeur.
Tu peux avoir des tableaux a 2 dimensions.
Au passage c'est une déclaration dynamique, il te faut faire un redim ensuite pour redéfinir la taille de ton tableau, si tu regarde le lien que je t'ai laissé en clickant sur "Tapez le texte de l'URL" tu verra que c'est assez bien expliqué.
Preserve sert a modifier ton tableau tout en préservant tes valeurs, sinon a chaque changement de taille le tableau est effacé.
Elle ne marche que sur la premiere dimension d'un tableau.
Bonne journée CGSI3
Messages postés
30
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
24 avril 2011

En réalité j'avais bien dimensionné mon vecteur, je l'ai juste mal écris sur le site, Mais je ne l'avais pas initialisé.

Global nodearray() as one 'était bien écrit
redim nodearray(1) ' j'avais oublié de le mettre donc pour commencer il avait zéro ligne d'où la fonction ubound ne fonctionnait pas...


Je suis pas très douée... Mais merci beaucoup pour ton aide CGSI3!
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Tiens, pour la peine, mais moi réponse accepté si cela répond a tes question.
Pour info: 4 conseils pour avoir une réponse

- Ne dis pas que t'est pas doué, tout le monde doit un jour ou l'autre en passer par la pour évoluer.
- Pose des questions précises, sache que même les initiés, dont humblement je me considère, ne postent pas une question ou une réponse sans y passer 4 à 5 Minutes histoire de ne pas avoir a re poster.
- Bonjour, Merci etc ne sont pas de trop mais tu as déja compris.
- Regarder dans les tutos que les précédents utilisateurs ont écrits.
(Juste une remarque sur ton pseudo, l'idée d'un ane c'est pas mal, moi j'aurais mis l'ane de schrek en avatar, et j'aurais pris le pseudo L'Ane_Fou ou l'Ane_qui_Parle ... mais c'est une idée perso)
Bonne prog CGSI3
Messages postés
30
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
24 avril 2011

Spéciale dédicace;)
Messages postés
416
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
7 janvier 2018
1
Superbe, l'ami
T'es Magnifique,
Que la force soit avec toi ...
CGSI3