redimmensionner une variable tableau en VBA ?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bérylion

XLDnaute Occasionnel
salut la foule,

je voudrai redimensionner le nombre de ligne de ma variable tableau de la manière suivante :

VB:
dim table1()

private sub test1()
table1 = Range(Range("A7:U7"), Range("A7:U7").End(xlDown)).Value
end sub

private sub test2()
Z = UBound(table1) + 1
ReDim Preserve table1(1 To Z, 1 To 21)
table1(Z, 2) = InputBox("REF ?")
end sub

j'ai bien essayé de transposer la bestiole pour avoir ReDim Preserve table1(1 To 21, 1 To Z) mais rien à faire ?!

à vot' bon coeur...
 
Re : redimmensionner une variable tableau en VBA ?

Bonjour,

Je ne sais pas trop ce que tu veux faire mais ceci augmente bien la deuxième dimension de 1 (la seule qui puisse être modifiée avec Redim Preserve) cette dimension correspondant au nombre de lignes de 21 colonnes du tableau

Code:
Private Sub test1()
Dim table1()
table1 = WorksheetFunction.Transpose(Range(Range("A7:U7"), Range("A7:U7").End(xlDown)).Value)
Z = UBound(table1, 2) + 1
ReDim Preserve table1(1 To 21, 1 To Z)
table1(2, Z) = InputBox("REF ?")
End Sub

Cordialement
 
Re : redimmensionner une variable tableau en VBA ?

Bonjour à tous,

pour redimensionner la 1ère dimension :
Code:
Dim table1(), z
table1 = Range(Range("A7:U7"), Range("A7:U7").End(xlDown)).Value
table1 = Application.Transpose(table1)
z = UBound(table1, 2) + 1
ReDim Preserve table1(LBound(table1, 1) To UBound(table1, 1), _
    LBound(table1, 2) To z)
table1 = Application.Transpose(table1)

bonne soirée
@+
 
Re : redimmensionner une variable tableau en VBA ?

Bonjour à tous,

pour redimensionner la 1ère dimension :
Code:
Dim table1(), z
table1 = Range(Range("A7:U7"), Range("A7:U7").End(xlDown)).Value
table1 = Application.Transpose(table1)
z = UBound(table1, 2) + 1
ReDim Preserve table1(LBound(table1, 1) To UBound(table1, 1), _
    LBound(table1, 2) To z)
table1 = Application.Transpose(table1)

bonne soirée
@+

Salut,

merci mais j'avais essayé sans succès.

j'ai re-essayé avec ton code et j'ai toujours une incompatibilité de type à la ligne ''table1 = Application.Transpose(table1)''

d'autres pistes ??
 
Re : redimmensionner une variable tableau en VBA ?

Bonjour,

comprends pas trop... fonctionne chez moi.... tu n'aurais pas des cellules fusionnées par hasard....

bonne journée
@+

nan, pas de cells fusionnées ?!

j'ai fait un essai tout simple sur un classeur test et ça fonctionne ; c'est rassurant.
reste à trouver pourquoi j'ai cette incompatibilité dans le classeur réel...
je vais commencer par supprimer toutes les mises en forme pour voir comme ça fait

je reviens si je trouve d'ou viens cette erreur ; d'ici la si vous avez des pistes je suis preneur.

@+
 
Re : redimmensionner une variable tableau en VBA ?

Re,

modifie peut être la première instruction comme suit :
Code:
table1 = Range(Range("A7:U7"), Range("A7:U7").End(xlDown))

Merci mais j'ai contourné le problème
apparement c'est les types de données dans les cellules qui pose problème (nombre;date;texte;bouléen...) :
sur un classeur exemple tout fonctionne, je remplace les données bidons par les vraies et la ça couine ?!

du coup je fait des ajouts directement sur la feuille et je redéfinie la table1 dans la foulée :

VB:
Dim table1()
Dim StoreListIndex%

Private Sub CommandButton1_Click()
With Me.ListBox1
  .AddItem InputBox("Référence ?")
  Range("A1048576").End(xlUp).Offset(1, 0) = .ListCount + 6 'ID primaire
   Range("A1048576").End(xlUp).Offset(0, 2) = .List(.ListCount - 1)
table1 = Range(Range("A7:U7"), Range("A7:U7").End(xlDown)).Value
  .Selected(.ListCount - 1) = True
End With
End Sub

vu que les autres valeurs restent inchangées la table reste la même et mes ajouts sont pris en compte.
c'est pas forcément très "propre" mais ça fait la maille : j’achète quand même !

Affaire classée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
907
Retour