begin process at 2010 02 10 13:39:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Créer un tableau avec une valeur répété


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Créer un tableau avec une valeur répété

mardi 12 août 2008 à 08:43:36 | Créer un tableau avec une valeur répété

ZedMaTrix

Bonjour à tous.

Je me pose une question : Est-il possible de créer un tableau (Variant) avec une valeur donné à répéter dans chaque cases ?
Par exemple, je veux créer un tableau de 10 lignes contenant le nombre 15:

myVariant = Array(15, 15, 15, 15, 15, _
                              15, 15, 15, 15, 15)

Est ce possible de faire ca plus simplement ? En donnant par exemple la taille du tableau et la valeur à insérer dans chaque cellules ?
( Sans créer une fonction biensur, sinon je créer une fonction pour le faire avec une boucle. )

ZedMaTriX
mardi 12 août 2008 à 13:34:41 | Re : Créer un tableau avec une valeur répété

gillardg

dim tableau(50) as integer ' moi j'ai mis integer mais ....
for a = 0 to 49
tableau(a)=15
next a

mardi 12 août 2008 à 14:41:51 | Re : Créer un tableau avec une valeur répété

ZedMaTrix

Ouais, exactement ce que je voulais éviter.

Donc pour toi, a par créer une fonction, il n'y a pas de fonction dans VB pour créer un tableau avec une valeur prédéfini ?

ZedMaTriX
mardi 12 août 2008 à 15:00:06 | Re : Créer un tableau avec une valeur répété

gillardg

1 j'ai pas créé de fonction
2 mon code est clair et simple ET en plus ça réponds à la question posée

End Sub

mardi 12 août 2008 à 18:02:46 | Re : Créer un tableau avec une valeur répété

bonjourcheval

Pour Gillardg, créé une fonction :

Public function ...()

end function

Donc il n'en a pas créé. Mais oui, tu es obliger de précéder par boucle. Il n'y a pas d'autres options. Ou sinon, comme tu l'as fais plus haut,

myVariant = Array(15, 15, 15, 15, 15, _
                              15, 15, 15, 15, 15)

Mais ça peut ?etre long si on a un array de 300 espaces...

Walla


jeudi 14 août 2008 à 11:17:05 | Re : Créer un tableau avec une valeur répété

ZedMaTrix

Réponse acceptée !
Heu... ok.

Donc Pour faire simple: Je parlais de créer une fonction car je vais coller des petites boucles comme celle de Gillardg un peu partout dans mon code. Je vais plustot créer une fonction qui va contenir cette boucle. Bref.

Donc on va conclure que VB ne contient pas de fonction propre ( j'ai trouver avec VarPtr un moyen de le faire mais bon.. est-ce plus rapide qu'une boucle ? ) pour remplir un tableau avec une valeur.

Merci à vous.

ZedMaTriX
jeudi 14 août 2008 à 19:12:45 | Re : Créer un tableau avec une valeur répété

bonjourcheval

Bon, je viens de chercher ce que faisait VarPtr ...

http://support.microsoft.com/kb/199824

Il est rare qu'un programmeur Visual Basic doive obtenir des informations de bas niveau sur une variable, telles que son adresse mémoire. Toutefois, certaines fonctions API requièrent ce type d'informations. Cet article décrit les fonctions Visual Basic qui peuvent aider un programmeur Visual Basic à obtenir ces informations :

VarPtr - Renvoie l'adresse d'une variable.

VarPtrArray - Renvoie l'adresse d'un tableau.

StrPtr - Renvoie l'adresse du tampon de chaîne UNICODE.

VarPtrStringArray - Renvoie l'adresse d'un tableau de chaînes.

ObjPtr - Renvoie le pointeur vers l'interface référencée par une variable objet.





VarPtr

Dans Visual Basic, les tableaux sont stockés en tant que SAFEARRAY. Pour obtenir l'adresse de la structure SAFEARRAY, vous devez utiliser la fonction VarPtrArray. Les exemples ci-dessous illustrent les déclarations appropriées dans Visual Basic 5.0 et dans Visual Basic 6.0, respectivement :

Declare Function VarPtrArray Lib "msvbvm50.dll" Alias "VarPtr" _
(Var() as Any) As Long

Declare Function VarPtrArray Lib "msvbvm50.dll" Alias "VarPtr" _
(Var() as Any) As Long

Pour obtenir l'adresse d'un SAFEARRAY, passez le nom du SAFEARRAY (parenthèses incluses) à la fonction VarPtrArray :

Dim lngSafeArrayAddress as Long
Dim lngArrayOfLongs(9) as Long


Ça cré des tableaux dynamique remplit de x fois la meme variable? Je ne suis pas certain du tout! Si oui, montre moi comment tu as fait. Ça pourrait toujours m'être utile!!!


lngSafeArrayAddress = VarPtrArray(lngArrayOfLongs())

Restrictions : La fonction VarPtrArray ne peut pas être utilisée pour obtenir l'adresse d'un tableau de chaînes, parce que Visual Basic utilise la conversion UNICODE/ANSI pour les chaînes. Si vous utilisez VarPtrArray sur un tableau de chaînes, vous obtiendrez l'adresse d'une copie ANSI temporaire du tableau. Pour plus d'informations, consultez les informations relatives à la fonction VarPtrStringArray.



jeudi 14 août 2008 à 19:14:13 | Re : Créer un tableau avec une valeur répété

bonjourcheval

Le premier post affichait de facon étrange la fin... Voici le repost

http://support.microsoft.com/kb/199824

Il est rare qu'un programmeur Visual Basic doive obtenir des informations de bas niveau sur une variable, telles que son adresse mémoire. Toutefois, certaines fonctions API requièrent ce type d'informations. Cet article décrit les fonctions Visual Basic qui peuvent aider un programmeur Visual Basic à obtenir ces informations :

VarPtr - Renvoie l'adresse d'une variable.

VarPtrArray - Renvoie l'adresse d'un tableau.

StrPtr - Renvoie l'adresse du tampon de chaîne UNICODE.

VarPtrStringArray - Renvoie l'adresse d'un tableau de chaînes.

ObjPtr - Renvoie le pointeur vers l'interface référencée par une variable objet.





VarPtr

Dans Visual Basic, les tableaux sont stockés en tant que SAFEARRAY. Pour obtenir l'adresse de la structure SAFEARRAY, vous devez utiliser la fonction VarPtrArray. Les exemples ci-dessous illustrent les déclarations appropriées dans Visual Basic 5.0 et dans Visual Basic 6.0, respectivement :

Declare Function VarPtrArray Lib "msvbvm50.dll" Alias "VarPtr" _
(Var() as Any) As Long

Declare Function VarPtrArray Lib "msvbvm50.dll" Alias "VarPtr" _
(Var() as Any) As Long

Pour obtenir l'adresse d'un SAFEARRAY, passez le nom du SAFEARRAY (parenthèses incluses) à la fonction VarPtrArray :

Dim lngSafeArrayAddress as Long
Dim lngArrayOfLongs(9) as Long


lngSafeArrayAddress = VarPtrArray(lngArrayOfLongs())

Restrictions : La fonction VarPtrArray ne peut pas être utilisée pour obtenir l'adresse d'un tableau de chaînes, parce que Visual Basic utilise la conversion UNICODE/ANSI pour les chaînes. Si vous utilisez VarPtrArray sur un tableau de chaînes, vous obtiendrez l'adresse d'une copie ANSI temporaire du tableau. Pour plus d'informations, consultez les informations relatives à la fonction VarPtrStringArray.




Ça cré des tableaux dynamique remplit de x fois la 
meme variable? Je ne suis pas certain du tout! Si oui,
 montre moi comment tu as fait. Ça pourrait toujours
 m'être utile!!!


 


Cette discussion est classée dans : créer, possible, valeur, tableau, répété


Répondre à ce message

Sujets en rapport avec ce message

comment créer un tableau... [ par mike ] Voilà en fait je voudrais créer un tableau dans lequel une valeur tirée au hasard ne revienne plus ensuite! Par exemple si je fais un programme de lot Fonction qui renvois un tableau de valeur [ par pingouin84k ] Bonjour,Est il possible qu'une fonction (créée par mes soins) renvois un tableau de valeur ?Si c'est possible pouvez vous me dire comment dois-je décl Créer un tableau en automatique [ par flyfranky ] Bonjour tous le monde,Débutant en VBA, j'ai besoin d'aide (et pas qu'un peu).J'ai fait un tableau de façon manuelle pour definir quand faire un contro Vérifier dans une macro si une valeur déterminée se trouve dans un tableau d'Excel [ par MagicDoctor ] Bonsoir à tous, Je voudrais, au moyen d'une macro savoir si une certaine valeur, par exemple "zaza" se trouve dans une colonne d'un tableau d'une feu algo tri tableau [ par JMO ] Bonsoir à tous,Question quasi similaire à un récent post (Tableau Excel de tyju).Avec le tableau ci-dessous (Participants), j'obtiens un résultat par Créer/Placer un composant par code [ par maerkidj ] Bonjour à tous et à toutes,J'ai développé un logiciel de gestion de stocks avec lequel on peut créer des commandes et tout... mon problème c'est qu'il Tableau Excel dans un formulaire [ par woywezu ] bonjour, j'aimerai savoir si il est possible d'afficher une feuille excel dans un formulaire.si oui comment.?escque avec le webbrowser c'est possible? Tableau d'integer et valeur max [ par olivier857 ] Bonjour à tous,Je cherche à créer un tableau d'integer, a y stocker des données dans une boucle puis récupérer la valeur max du tableau de données.Mai Commandbutton personnalisés [ par ticrain ] Bonjour les enfants, voilà j'aimerai créer si c'est possible des commandbutton "personnalisés". Rappelons que les formes des commandbuttons sont de fo probleme avec le code vba importation des fichiers [ par h_adil ] bonjour,ya quelque jours une personne ( que je remercie ) ma envoyer le code ci dessous. pour faciliter l'importation des fichiers(importe


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales