tutoriel création de tableau

  • Initiateur de la discussion Initiateur de la discussion grodep
  • Date de début Date de début

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 !

grodep

XLDnaute Occasionnel
bonjour à tous, voilà afin de ne pas ennuyer en permanence les bonnes volontés de ce forum et afin de (enfin) progresser dans excel, j'aimerai savoir si certains sauraient me rediriger vers un bon tutoriel expliquant comment créer des tableaux en vba. mon idée est de créer des tableaux de taille variables fonction de paramètres que j'entrerais et de pouvoir ensuite le remplir avec différents éléments.

J'ai bien conscience de partir de (pratiquement) zéro, et de m'attaquer a quelque chose d'assez compliqué mais bon j'ai le temps et l'envie, donc tout ce qu'il faut pour progresser...

merci d'emblée à vous tous
 
Re : tutoriel création de tableau

en fait celui là je l'avais déjà trouvé mais j''aurai du préciser que j'en souhaitais d'autres même si celui ci m'a offert des bases simples et pratiques 🙂

accessoirement pour une raison que,bien sur, j'ignore, ce code(fourni en exemple dans le tuto pointé) ne semble pas fonctionner correctement :
Code:
Sub RemplirTab()
Dim I As Byte, Ta(1 To 20)
For I = 1 To 20
Ta(I) = Range("A" & I)
Next I
Range("e1", "e20") = Ta
End Sub
 
Dernière édition:
Re : tutoriel création de tableau

salut

en fait celui là je l'avais déjà trouvé mais j''aurai du préciser que j'en souhaitais d'autres même si celui ci m'a offert des bases simples et pratiques 🙂

accessoirement pour une raison que,bien sur, j'ignore, ce code(fourni en exemple dans le tuto pointé) ne semble pas fonctionner correctement :
Code:
Sub RemplirTab()
Dim I As Byte, Ta(1 To 20)
For I = 1 To 20
Ta(I) = Range("A" & I)
Next I
Range("e1", "e20") = Ta
End Sub

en effet ce code ne fonctionne pas comme il devrait, corrige comme ceci :

Range("e1", "e20") = Application.Transpose(Ta)

je te laisse chercher pourquoi, si tu trouves, tu auras tout compris aux variables tableaux 🙂

bye
 
Re : tutoriel création de tableau

en fait je crains qu'au lieu de ne plus embeter "les gens" en découvrant comment faire des tableaux, le rythme de mes questions va grandement s'accélerer.. d'avance toutes mes excuses si c'est le cas 😛

==>Hervé : je cherche, je cherche, mais pour le moment je trouve pas ... mais je continue à chercher 😛
 
Re : tutoriel création de tableau

salut



en effet ce code ne fonctionne pas comme il devrait, corrige comme ceci :

Range("e1", "e20") = Application.Transpose(Ta)

je te laisse chercher pourquoi, si tu trouves, tu auras tout compris aux variables tableaux 🙂

bye

bon ben malheureusement, je ne trouve pas, j'en déduis donc que je n'ai pas encore tout compris aux variables tableaux(j'en suis meme loin, je pense) .
Edit : Hmm finalement une solution possible : dim ta(1 to 20) dimensionnerait le tableau avec une ligne et 20 colonnes? Et du coup, la plage sélectionnée étant une colonne de 20 lignes, il faut utiliser application.transpose pour afficher les 20 valeurs dans une seule colonne et non plus dans une seule ligne! J'ai bon?

toujours est il que, n'étant pas au bout de mes peines, je ne comprends pas comment afficher le tableau suivant
Code:
m = 14
For i = 2 To S - 1 Step 3
TabloZone(i, 1) = Range("A" & m).Value
m = m + 1
Next i
For i = 3 To S Step 3
For t = 9 To j + 7
TabloZone(i, t) = Rnd
Next t
Next i
Sheets("Feuil2").Select
Range("A1:F13").ClearContents
Range("A1:F13") = TabloZone
dans la colonne B(pourquoi la B et non la A??) j'ai bien les valeurs définies par la 1ere boucle, en revanche les valeurs définies dans la deuxième boucle ne sont pas affichées du tout ...
bref, c'est la mouise chef !!
 
Dernière édition:
Re : tutoriel création de tableau

salut



Edit : Hmm finalement une solution possible : dim ta(1 to 20) dimensionnerait le tableau avec une ligne et 20 colonnes? Et du coup, la plage sélectionnée étant une colonne de 20 lignes, il faut utiliser application.transpose pour afficher les 20 valeurs dans une seule colonne et non plus dans une seule ligne! J'ai bon?

c'est tout bon ^^

tu peux nous fournir un peu plus de détail sur ton deuxième code ?

salut

ps : coucou tata 🙂, tu vois ? je suis de moins en moins bavard (c'est pour faire économiser de l'espace serveur à David^^)
 
Re : tutoriel création de tableau

le deuxieme code "remplit" mon tableau : dans un premier temps, il va chercher les noms dans les cellules A14 et plus et les intègre à raison d'un toutes les 3 lignes dans la premiere colonne de mon tableau.
Ensuite je souhaite que toutes les 3 lignes(mais dans la ligne L+1 par rapport à celle ou ont été mis les noms),dans toutes les colonnes, il y ait une listbox pour remplir la cellule.
Procédant par étape, j'ai voulu dans un premier temps, simplement "remplir" ces cellules(d'ou la fonction rnd). Et pour voir le résultat, il me semblait qu'en inscrivant
Range("A1:F13")=tablozone, je "verrais" mon tableau s'afficher. Et le résultat est celui que je décris, c'est à dire pas du tout celui auquel je m'attendais...
 
Re : tutoriel création de tableau

bon au temps pour moi, clair qu'en demandant a mon tableau d'etre affiché en A1:F13, j'allai s pas voir grand chose...
cependant je ne comprends toujours pas pourquoi avec le code
Code:
 m = 14
For i = 2 To S - 1 Step 3
TabloZone(i, 1) = Range("A" & m).Value
m = m + 1
Next i
le premier nom de ma liste s'affiche en B3 et non pas en A2?
logiquement avec i=2, tablozone(i,1)=Range..., cela devrait remplir la cellule A2, non ?

Serait-ce du à l'option base 1 ?
merci d'avance

Edit: c'est effectivement parceque je n'avais pas précisé option Base 1... promis j'arrete de poser mes questions trop vite 😛^
 
Dernière édition:
- 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
Retour