babu26
Messages postés44Date d'inscriptionsamedi 8 juin 2013StatutMembreDernière intervention21 janvier 2015
-
22 sept. 2014 à 19:32
jordane45
Messages postés37864Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 7 décembre 2023
-
25 sept. 2014 à 09:59
Bonjour,
Je souhaite augmenter la ta taille de mes tableaux (sous Excel).
Je définit les variables : Nom$() et Tél() as double)
Au lancement d'excel, via workbook_open,
je fais :
Redim Nom (1000): Redim Tél(1000,9) qui fonctionne.
Plus tard, j'ai besoin d'augmenter ces dimensions de 500, sans nécessairement ré-initialiser les contenus acquis.
je fais :
Redim Preserve Nom(Ubound(Nom)+ 500) qui semble fonctionner
Redim Preserve Tél(Ubound(Tél)+ 500,9) qui est ignoré
Mon approche est sûrement mauvaise ? Quelle serait mon erreur ?
Merci d'avance, Bab
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 22 sept. 2014 à 19:42
Bonjour,
citation (aide VBA)
"mot clé Preserve ne permet de redimensionner un tableau qu'en modifiant la limite supérieure ; toute modification de la limite inférieure provoque une erreur"
NHenry
Messages postés15090Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 6 novembre 2023158 22 sept. 2014 à 19:43
L'aide de Redim est claire, tu ne peux changer que la dernière dimension.
Dans ton cas, je te conseillerais l'usage d'une structure :
Public Type MonType
Nom as String
Tel(0 To 9) as Double
End Type
Public MonTab() As MonType
...
MonTab(x).Nom
babu26
Messages postés44Date d'inscriptionsamedi 8 juin 2013StatutMembreDernière intervention21 janvier 2015 25 sept. 2014 à 09:42
Ton aide a été appréciée.
Je n'avais jamais usé de cette fonctionnalité, mais je compte l'étudier de plus près.
Mon problème est résolu (Cf réponse de 'pijaku')
Merci à toi et à plus, peut-être. Bab
Salut
EXemple de contenu répétitif
Toto,475485513,321487204,,,,,,,,
Lulu,123456789,234567890,674859612,,,,,,,
Mimi,,,,,,,,,
des noms suivis de 0 à 9 N° de téléphone (sans le 0 initial).
ucfoutu me propose l'utilisation de Type comme
Public Type MonType
Nom as String
Tel(0 To 9) as Double
End Type
Public MonTab() As MonType
...
MonTab(x).Nom
que je n'ai jamais utiliser. Comment initialiser ces variables à partir d'un fichier :
EXemple
Boucle: j=0: if not EOF(1) then
j=j+1
input #1,nomLu : .... Toto -> nom(j)
for i=1 to 9:input#1,telLu: telLu -> Tel(j,i) : next i
goto boucle
end if
EST-correct ?
Merci, et à + Bab
pijaku
Messages postés12263Date d'inscriptionjeudi 15 mai 2008StatutModérateurDernière intervention15 mars 202314 25 sept. 2014 à 09:00
babu26
Messages postés44Date d'inscriptionsamedi 8 juin 2013StatutMembreDernière intervention21 janvier 2015 25 sept. 2014 à 08:35
Salut
Je n'ai jamais utiliser de Type.
Public Type MonType
Nom as String
Tel(0 To 9) as Double
End Type
Public MonTab() As MonType
...
MonTab(x).Nom
Comment initialiser ces variables à partir d'un fichier :
EXemple de fichier à contenu répétitif
...
Toto,475485513,321487204,,,,,,,,
Lulu,123456789,234567890,674859612,,,,,,,
Mimi,,,,,,,,,
...
EXemple de chargement des variables
Boucle:
j=0
if not EOF(1) then
j=j+1
input #1,nomLu : .... Toto -> nom(j)
for i=1 to 9:input#1,telLu: telLu -> Tel(j,i) : next i
goto boucle
end if
EST-correct ?
Merci, et à + Bab
jordane45
Messages postés37864Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 7 décembre 2023343 25 sept. 2014 à 09:59
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)