Tableau en excel

kokise
Messages postés
120
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
21 décembre 2017
- 23 déc. 2005 à 16:38
kokise
Messages postés
120
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
21 décembre 2017
- 2 janv. 2006 à 10:26
Salut tout,

J'ai vraiment besoin d'aide j'avais poser la question hier mais je
n'est pas reçu de réponse satisfesante a vrai dire j'ai créer un
fichier plus précisément j'ai réussi a ouvrir un fichier excel dont je
transfert des données a partir d'une flexgrid malheureusement ces
données doivent apparaitre dans un tableau comme la flexgrid, si
quelqu1 peut m'aider a quadrillé mais données en tableau et si c
possible la possibilité de créer un fichier vierge au lieu de faire
l'appel d'un qui est déjà existant.

Je n'ai trouver aucune source qui traite l'automation excel

9 réponses

ScSami
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
25
24 déc. 2005 à 13:39
D'un, on ne comprends pas de quoi tu parles,
De deux, on ne connaît pas la version que tu utilises,
et de trois, essaye de créer un fichier CSV qu'il te sera loisible d'ouvrir via Excel ou non!!!

Noyeux Joël

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
kokise
Messages postés
120
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
21 décembre 2017

26 déc. 2005 à 10:26
Bonjour

Désolé du retard

Bon je vais essayer de clarifier un peu mieux je travail avec vba sur
un projet et j'ai besoin de faire une etat d'impression plus
précisément une automation excel j'essaye de transferé mes données a
partir d'une msflexgrid d'une forme vers excel j'ai réussi a faire
l'appel d'un fichier excel existant dont j'ai transféré les données mais je
n'arrive pas a tracer un tableau parceq j'en connais pas le code alors
mes données se sont afféctés selon le choix bien sur des cellules comme ce qui suit :
Set MaCellule = MaFeuille1.Range("b6")

MaCellule.Value = Txt_nprag

..............

alors en
grossomodo je veux le code qui dessine un tableau en excel

en fait je te souhaite un "Noyeux joël" a toi aussi et a tout le monde.
0
ScSami
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
25
26 déc. 2005 à 20:07
Qu'entends-tu par "tableau Excel" ???
Parles-tu de "graphique" ou de "feuille Excel" ?!?!???

Parce que les graphs, une fois fait se mettent à jour automatiquement. Sinon, tu peux toujours en créer un facilement (regarde l'aide du VBA avec, éventuellement, "MsCharts" comme objet de recherche...).

Quant-aux feuilles Excels, elles sont d'emblé créées par Excel. Autrement dit, par défaut, tout classeur créé possède le nombre de feuille minimale paramétré dans les options propres à chaque Excel (i.e. 3 si l'utilisateur ne s'est pas donné la peine de paramétrer son outil [Excel]).

Sinon, la syntaxe de ton code est très orienté objet... c'est bien... mais totalement inutile avec le VB (d'où son avantage !!!).
C'est à dire que tu n'est pas obligé de créer une variable objet (avec "Set") pour pointer (faire référence) à une cellule d'une feuille !!!
Voici donc quelques syntaxes possibles :
ActiveSheet.Range("B6").Value = varValeurDeLaCellule
WorkSheets(2).Cells(2, 6).Formula = "Somme(A1:B5)"
...

De plus, permet moi d'insister sur le fait que ce ne soit pas très clair ton affaire!!!
Par exemple, où est ta MsFlexGrid ??? Dans une UserForm du classeur Excel en cours, donc, en VBA ou alors dans un projet VB externe quelconque ???
De plus, qu'entands-tu par "état d'impression" ?????????

Bref, tout ceci est loin d'être claire (surtout sans ponctuation ;-)

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
kokise
Messages postés
120
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
21 décembre 2017

28 déc. 2005 à 11:31
Bonjour t'es vraiment un dur toi mais tous se cache dérrière ce , je plaisante.
bon je réexplique, je travail sur un projet vba, sa c déjà dit :), mon flexgrid est dans une form vb, je fais une requéte de selection, et j'obtient mes informations.
Puis je transfert ses informations qui sont sous forme d'un tableau puisque flexgrid est un tableau, vers un fichier excel pas de graphe pas de feuille mon fichier excel posséde par defaut 3 feuil dedans je veux transférer mes données sous forme d'un tableau, j'ai trouvé une suntaxe qui permet d'encadrer chaque cellule mais c un peu ennuyant de déssiner chaque cellule, alors si c possible de me passer un tuyaux.
La suntaxe est le suivante:
MaCellule.BorderAround xlContinuous, xlThin, xlColorIndexAutomatic
j'espère q cette fois j'été claire.
0

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

Posez votre question
kokise
Messages postés
120
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
21 décembre 2017

28 déc. 2005 à 11:34
désolé pour la police je en suis pas résponsable.
0
ScSami
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
25
29 déc. 2005 à 16:38
Je dois admettre que non, tu n'as toujours pas été très claire!!!

Ton projet est en VBA mais ta Flex est sur une form VB. Donc, ton projet est en VB !!!
Enfin, qu'importe. Non, le problème est que, visiblement, tu arrives bien à transférer tes données de ta Flexgrid dans une feuille Excel, qui, par définition est un tableau !!!

Alors, si j'ai bien compris, ton seul problème est, lors de l'impression, de ne pas avoir les traits !!!
Ben fallait le dire tout de suite m'enfin!!!

Donc, deux solutions :
1) Lors de chaque impression, aller auparavant dans le menu "Fichier" puis cliquer sur "Mise en page". Dans la fenêtre, aller dans le dernier onglet à savoir : "Feuille" (du moins, dans la version 2000 de Office, sinon, cherche un peu, elle doît pas être bien loin cette fonction). Et là tu coches "Quadrillage". Et pof, maintenant le quadrillage compris entre la 1ère cellule (en haut à gauche) et la dernière (en bas à droite) s'imprimera.
2) Faire comme du as dit mais avec une double boucle imbriqué ou alors avec un objet Range :
Set MesCellules = MaFeuille1.Range("A1:D3")

MesCellules.Borders(xlInsideHorizontal).Color = 0
ou xlAutomatic(mais qu'une seule fois)

MesCellules.Borders(xlInsideHorizontal).LineStyle = xlContinuous
MesCellules.Borders(xlInsideHorizontal).Weight = xlThin

MesCellules.Borders(xlInsideVertical).Color = 0
ou xlAutomatic(mais qu'une seule fois)

MesCellules.Borders(xlInsideVertical).LineStyle = xlContinuous
MesCellules.Borders(xlInsideVertical).Weight = xlThin

Range("A1:D3").BorderAround xlContinuous, xlMedium, xlColorIndexAutomatic

Est-ce que cela ta raisoud ton problème ou pas encore ???

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
kokise
Messages postés
120
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
21 décembre 2017

29 déc. 2005 à 19:04
salut et merci pour ta réponse
Pour ton code ça me paraît résonnable et économique j'espère que ça va marcher, ça me fera gagner du temps en tout cas merci bien. Au cas ou si quelqu'un me laissera un message, je ne serai pas présente jusqu'a lundi je serai en vacance alors Bonne année a tous et bonne Prog.
()
0
ScSami
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
25
30 déc. 2005 à 12:34
Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée".
0
kokise
Messages postés
120
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
21 décembre 2017

2 janv. 2006 à 10:26
Salut et bonne année 2006 a tous,
Pour ton résultat ça ne marche pas, en tous cas j'ai remarquer un petit détaille que la methode,
Range("A1:D3").Select
Selection...........
Ne marche pas avec mon programme, car de manière général ce code est d'un macro, et j'ai obsérvé qu'à chaque fois que je mets le code d'un macro dans mon programme il ne fonctionne, pas ce range ne se prend pas en considération, je travail juste cellule par cellule, même le merge ne fonctionne, pas parcequ'il vise plus d'une cellule.
Range("A1:B1").Select
Selection.MergeCells = True

Merci
0