> Tous les forums > Forum Bureautique
 positionnement du retour ligne dans variable tableau en "matrice"
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Boogie Palace
  Posté le 06/12/2018 @ 18:01 
Aller en bas de la page 
Petit astucien

bonsoir le forum

désolé si j'ai utilisé le terme "matrice" à mauvais escient, mais c'est à cause des {}

grâce à cette syntaxe en VBA, on peut remplir une variable tableau 2D (ici 2 lignes et 3 colonnes) en une seule commande :

mavartab = [{"aa","bb","cc";"xx","yy","zz"}]


bien pratique, mais quand le nombre de valeurs augmente et/ou que les valeurs sont du texte un peu long, ça fait une très longue ligne.
je cherche donc à mettre un retour ligne ; j'ai naïvement tenté le tiret bas comme ceci :

mavartab = [{"aa","bb","cc"; _
"xx","yy","zz"}]

mais si ça avait fonctionné, je ne serais pas là ! ;-)
qqn connaît la bonne syntaxe ?
(Excel 2010)




Modifié par Boogie Palace le 06/12/2018 18:02
Publicité
Debrief
 Posté le 07/12/2018 à 08:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

C'est un truc infernal en VBA, je n'ai jamais trouvé de solution , à part utiliser les Array() multi-dimensions dont le système d'indices est spécifique (voir exemple ci-dessous).

Cordialement,
D.

Sub a()
Dim i, j As Integer
Dim mavartab As Variant
mavartab = Array(Array("aa", "bb", "cc", "dd"), _
Array("xx", "yy", "zz"))

'Affiche les limites des tableaux
MsgBox "LBound(mavartab) = " & LBound(mavartab) & " / UBound(mavartab) = " & UBound(mavartab)
For i = LBound(mavartab) To UBound(mavartab)
MsgBox "LBound(mavartab(" & i & ")) = " & LBound(mavartab(i)) & " / UBound((mavartab(" & i & ")) = " & UBound(mavartab(i))
Next i

'Affiche les valeurs des tableaux
For i = LBound(mavartab) To UBound(mavartab)
For j = LBound(mavartab(i)) To UBound(mavartab(i))
MsgBox "mavartab(" & i & ")(" & j & ") = " & mavartab(i)(j)
Next j
Next i

End Sub

Edit: Les initialisations à base d'Array() ont un LBound = 0 (sauf à utiliser Option Base 1 ou mettre une 1ère valeur bidon ("") pour simuler), celles à base de [{...}] ont un LBound = 1.



Modifié par Debrief le 07/12/2018 08:43
Boogie Palace
 Posté le 07/12/2018 à 17:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

merci Debrief pour cette solution des "sous-array", qui permettent en effet les retours lignes.

après ça complique un peu les appels des variables, faut s'y retrouver !

mais cette méthode que tu proposes me donne de nouvelles idées, c'est toujours ça de pris

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
69,99 €Boîtier PC Corsair Carbide Series 275R Airflow avec fenêtre à 69,99 €
Valable jusqu'au 28 Novembre

Amazon propose actuellement le boîtier PC moyen tour avec fenêtre Corsair Carbide Series 275R à 69,99 €. On le trouve ailleurs à partir de 89 €. Le Corsair 275R Airflow est un boîtier ATX moyen-tour qui allie design moderne et flux d’air maximal grâce à un panneau avant lamellé et à une fenêtre en verre trempé. Trois ventilateurs de 120 mm inclus permettent un refroidissement efficace. Le boîtier peut accueillir jusqu’à six ventilateurs ou plusieurs radiateurs mesurant jusqu’à 360 mm. Installez jusqu’à deux disques durs 3,5” et quatre disques SSD 2,5” tandis que la disposition Direct Airflow Path garantit une circulation de l’air sans obstacle vers vos composants. Une fois l’assemblage terminé, le 275R Airflow vous permet de garder votre système propre et ordonné grâce à l’acheminement intuitif et simple des câbles et aux trois filtres à poussière amovibles.

La livraison est gratuite. 


> Voir l'offre
29,99 €Souris Logitech MX Anywhere 2 (Bluetooth, Unifying) à 29,99 €
Valable jusqu'au 29 Novembre

Amazon fait une promotion sur l'excellente souris sans fil Logitech MX Anywhere 2 qui passe à 29,99 € livrée gratuitement alors qu'on la trouve ailleurs à partir de 50 €. Cette souris que vous pourrez emporter partout avec votre PC ou Mac portable offre une double connectivité sans fil unify ou Bluetooth. Son capteur laser Dark field vous permettra de l'utiliser sur n'importe quelle surface. 


> Voir l'offre
-25 €25 € de réduction à partir de 299 € chez Cdiscount avec le code MOINS25EUROS
Valable jusqu'au 29 Novembre

Cdiscount propose actuellement 25 € de réduction à partir de 299 € d'achats. Pour profiter de l'offre, utilisez le code promo MOINS25EUROS. 2500 codes disponibles. Un nouveau est également disponible : -50 € dès 499 € d'achat avec le code 50EUROS.


> Voir l'offre

Sujets relatifs
Ecrire plusieurs données sur une même ligne dans un tableau croisé dynamiqu
Application.Match dans variable tableau à 2 dimens
ajouter automatiquement une ligne dans tableau
insérer un retour ligne dans une formule excel
Retour à la ligne dans un userform
afficher l'index d'une ligne dans un tableau
Copie ligne d'un tableau dans colonne d'un autre
comment partager une ligne dans un tableau ?
[RESOLU] WORD Sauter une ligne dans tableau
selectionner 2 cellules dans une ligne active
Plus de sujets relatifs à positionnement du retour ligne dans variable tableau en "matrice"
 > Tous les forums > Forum Bureautique