Créer un tableau

STDANTIGNY Messages postés 40 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 14 mars 2012 - 21 févr. 2010 à 16:14
STDANTIGNY Messages postés 40 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 14 mars 2012 - 21 févr. 2010 à 19:14
Bonjour,

Je voudrais savoir comment créer un tableau comme l'exemple ci-dessous en dur dans vba, et l'afficher dans une forme pour voir si il est correct.

k Cuivre Alu
PR 143 94
PVC 115 76

Merci d'avance

9 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
21 févr. 2010 à 17:18
Bonjour,

1) si (tu le dis toi-même) tu travailles sous VBA, pourquoi poster dans le thème VB6 ? VB6 n'est pas VBA
2) un tableau dynamique se construit comme ... un tableau dynamique ! le tien est donc un tableau à deux dimensions (3/3)
3) comment veux-tu afficher un tableau dans une "forme" ?

Voici un exemple qui te construira ton tableau et l'affichera directement dans une plage de cellules :

Dim tablo(1 To 3, 1 To 3) As String
tablo(1, 1) "K": tablo(1, 2) "cuivre": tablo(1, 3) = "alu"
tablo(2, 1) "PR": tablo(2, 2) "143": tablo(2, 3) = "94"
tablo(3, 1) "PVC": tablo(3, 2) "115": tablo(3, 3) = "76"
Sheets("feuil1").Range("A1:C3").Value = tablo

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
21 févr. 2010 à 17:47
Et si tu veux le visualiser sans écrire sur une plage de cellules, remplace la ligne commençant par sheets(.......... par :
affiche = ""
For i = 1 To UBound(tablo, 1)
  For j = 1 To UBound(tablo, 2)
    montab IIf(j 3, "", vbTab)
    affiche = affiche & tablo(i, j) & montab
  Next
  affiche = affiche & vbCrLf
Next
MsgBox affiche

et tu le verras, le contenu de ton tableau.

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
STDANTIGNY Messages postés 40 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 14 mars 2012
21 févr. 2010 à 17:58
Merci pour votre réponse !

Oui appelons un chat un chat ! c'est bien pour cela que ce message est posté dans la rubrique "Débutant" !
J'utilise Visual basic 6.0 , je voudrais ne pas utiliser le tableur excel pour créer mes tableaux !!par contre je voudrais visualiser leurs contenu dans une FORM !!! c'est possible ???
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
21 févr. 2010 à 18:01
Sur la Form elle-même ou dans l'un de ses contrôles (et lequel ? Label ? TextBox ? autre ?)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
STDANTIGNY Messages postés 40 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 14 mars 2012
21 févr. 2010 à 18:08
Sur la form elle même ! cela m'evitera de créer des contrôles
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
21 févr. 2010 à 18:16
Utilise alors l'instruction Print (Me.Print)
Et mets auparavant à True la propriété Autoredraw de ta Form
Il te suffira alors d'y imprimer la variable affiche (voir ce qu'elle est dans mon code précédent)

Celi étant dit, c'est plutôt gênant, d'imprimer sur la Form elle-même ....

Tu ferait mieux d'utiliser un Label et, dans le code (la boucle servant à faire afficjhe), remplace partout affiche par Label1.caption (si ton label s'appelle Label1)
Mais si ce n'est que pour visualiser, laisse mon code tel quel et utilise donc, comme je l'ai fait, une simple msgbox ! (ça ne sert rigoureusement à rien, que de faire un tableau et de "doubler" par autre chose ! Tes données, dans ton tableau, sont là et peuvent être utilisées à tout moment ... Pourquoi les mettre en plus ailleurs ? )
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
STDANTIGNY Messages postés 40 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 14 mars 2012
21 févr. 2010 à 19:05
Ok, j'ai essayé les deux, je suis satisfait ! je vois que je suis tombé sur un bon et j'ai un nouveau défit !!!
ce tableau est un extrait d'une norme pour trouver la section d'un câble électrique en fonction de l'intensité admissible et les modes de poses

Les lettres B et C sont des méthodes de reférences
PVC2 ou PVC3 correspondent au type d'isolant PVC avec 2 conducteur ou 3 conducteurs


B PVC3 PVC2
C vide PVC3
Cuivre
1.5 15 17
2.5 21 24
4 28 32
Aluminium
1.5 15 17
2.5 21 24
4 28 32


Je pose le problème, le câble d'ame cuivre (choisi par optionbutton),en methode de référence B (choisi dans une combobox) de type PVC2 (choisi dans une combobox) est parcouru par une intensité de 20A.
Dans la ligne B, colonne PVC2, valeur immédiatement supérieure à 20, c'est 24, ce qui nous donne une section en cuivre de 2.5mm2
J'ai mis en gras le chemin pour trouver la solution

Merci d'avance
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
21 févr. 2010 à 19:10
Aïe !
Principe fondamental sur ce forum : une discussion une question. Questions distinctes discussions distinctes (seule l'observation de cette discipline est susceptible d'aider des forumeurs confrontés à UN problème spécifique).

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
STDANTIGNY Messages postés 40 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 14 mars 2012
21 févr. 2010 à 19:14
Aucun soucis !je peux ouvrir un nouveau message ! dois je le faire ??
0