Beug avec redim preserve
Résolu/Fermé
A voir également:
- Vba redim preserve 2 dimensions
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- 2 comptes whatsapp - Guide
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- 3 bip long 2 bip court hp - Forum BIOS
5 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
Modifié par pijaku le 14/08/2014 à 13:56
Modifié par pijaku le 14/08/2014 à 13:56
Bonjour,
Vous utilisez ReDim Preserve pour pouvoir créer un tableau dynamique. Il faut savoir que seule la seconde dimension du tableau peux être incrémentée.
Par conséquent :
Remarque : Tu peux redimensionner et préserver ton tableau en une fois, si tu connais ces bornes à l'avance.
Ainsi :
Cordialement,
Franck
Vous utilisez ReDim Preserve pour pouvoir créer un tableau dynamique. Il faut savoir que seule la seconde dimension du tableau peux être incrémentée.
Par conséquent :
dim tableau() as Variant redim preserve tableau(1 to 2,1 to 2) redim preserve tableau(1 to 2,1 to 3)
Remarque : Tu peux redimensionner et préserver ton tableau en une fois, si tu connais ces bornes à l'avance.
Ainsi :
Dim tableau() As Variant
ReDim Preserve tableau(1 To 13, 1 To 5)
Cordialement,
Franck
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
14 août 2014 à 14:00
14 août 2014 à 14:00
Bonjour,
vous ne pouvez redimensionner que la derniere dimension:
vous ne pouvez redimensionner que la derniere dimension:
redim preserve tableau(1 to 2,1 to 2)
redim preserve tableau(1 to 2,1 to 3)
merci beaucoup, dans mon cas j'ai juste besoins d'inverser les dimensions mais imaginons que je veuille changer les deux dimension
par exemple :
dim tableau() as variante
redim preserve tableau (1 to 2,1 to 2)
redim preserve tableau (1 to 3,1 to 3)
comment devrai je faire ?
par exemple :
dim tableau() as variante
redim preserve tableau (1 to 2,1 to 2)
redim preserve tableau (1 to 3,1 to 3)
comment devrai je faire ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
14 août 2014 à 14:21
14 août 2014 à 14:21
Dans ce cas, la seule solution à ma connaissance est de passer par un tableau intermédiaire, d'effacer ton tableau et de le redimensionner.
Comme le montre cet exemple :
Comme le montre cet exemple :
Sub test() Dim tableau() As Variant, Temporaire() As Variant ReDim Preserve tableau(1 To 2, 1 To 3) For i = 1 To 2 For j = 1 To 3 tableau(i, j) = "Liste " & i & j Next j Next i ReDim Preserve Temporaire(1 To 2, 1 To 3) Temporaire = tableau Erase tableau ReDim Preserve tableau(1 To 3, 1 To 3) For i = 1 To 2 For j = 1 To 3 tableau(i, j) = Temporaire(i, j) Next j Next i Erase Temporaire tableau(3, 1) = "ajout1" tableau(3, 2) = "ajout2" tableau(3, 3) = "ajout3" Debug.Print tableau(1, 2) & " - " & tableau(2, 3) & "- " & tableau(3, 2) End Sub
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
14 août 2014 à 14:18
14 août 2014 à 14:18
Re,
mais imaginons que je veuille changer les deux dimension Pas possible
mais imaginons que je veuille changer les deux dimension Pas possible
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok merci
mais c'est quand meme mal fait...
mais c'est quand meme mal fait...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
14 août 2014 à 14:56
14 août 2014 à 14:56
Peut être que tu n'as pas vu ma réponse : https://forums.commentcamarche.net/forum/affich-30657091-beug-avec-redim-preserve#6