elisenda21
Messages postés2Date d'inscriptionlundi 17 mars 2008StatutMembreDernière intervention18 mars 2008
-
18 mars 2008 à 09:48
elisenda21
Messages postés2Date d'inscriptionlundi 17 mars 2008StatutMembreDernière intervention18 mars 2008
-
18 mars 2008 à 11:11
Bonjour,
voilà mon pb. J'ai défini un type de variable de la manière suivante :
Type Nouv_Type
Données1 As String
Données2 As Byte
Données3 As Byte
Données4 As String
End Type
Puis dans une boucle For, ma macro va chercher les valeurs de mes différents champs (dans des cellules Excel, enregistrées dans des variables temporaires) pour définir ma variable Nouv_type:
For compteur= 1 To X
Dim Nom_var As Nouv_Type
With Nom_var
.Données1 = var_tp_1
.Données2 = var_tp_2
.Données3 = var_tp_3
.Données4 = var_tp_4
End With
Next
Ce que je veux faire : je voudrais que le nom de la variable "Nom_var" créée fasse apparaitre la valeur du compteur (pour ne pas être écrasée à chaque boucle j'ai besoin de stocker ces infos) : je ne sais pas comment le coder puisqu'il n'est pas possible de concatener une chaine de caractères et un "byte"... et que VB n'accepte que des constantes (et pas des variables comme mon compteur)
Autre solution : j'ai essayé d'enregistrer les variables créées dans une matrice mais VB m'affiche une erreur d'incompatibilité de format...
quelqu'un a t il une idée pour m'aider s'il vous plait ? J'ai déjà cherché tout l'après midi hier et je n'ai rien trouvé...
(le but étant de stocker les infos enregistrées dans les différents champs de ma variable pour pouvoir y faire appel de manière simple plus tard dans mon code)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 18 mars 2008 à 10:16
salut,
euh... mais pourquoi boucler avec var_tp_1.2.3.4 qui semblent fixes?
et quel problème as-tu rencontré avec une matrice?
déclare un tableau sous le type
dim atDonnees() as Nouv_Type
ensuite au dessus du for tu le dimentionnes
redim atDonnees(1 to X)
et tu récupères ensuite en boucle
For compteur= 1 To X
With atDonnees(compteur)
.Données1 = var_tp_1
.Données2 = var_tp_2
.Données3 = var_tp_3
.Données4 = var_tp_4
End With
Next compteur
si tu as une erreur là, c'est que c'est tes var_tp_1.2.3.4 qui ne sont pas correctement typées
(d'ailleurs çà devrait plus être var_tp as Nouv_Type aussi)
ps : macro? excel? VB6 ? c'est pas VBA plutôt?....
+
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
elisenda21
Messages postés2Date d'inscriptionlundi 17 mars 2008StatutMembreDernière intervention18 mars 2008 18 mars 2008 à 11:11
Merci beaucoup, ça fonctionne en déclarant le tableau (c'est ce que je n'avais pas fait...!)
Les réponses aux questions posées :
c'était bien du VBA Excel dans une macro
les variables var_tp_1.2.3.4 changent de valeur pour chaque i (la macro les remplit avec les valeurs de certaines cellules d'un tableau excel) -> ce ne sont pas donc pas des constantes...
Merci encore c'est génial ça fonctionne !
Bonne fin de journée!