![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: février 2005
Localisation: Aranc
Version Excel : Excel 2003 (PC)
Messages: 580
|
Bonjour
Est il possible de coller un tableau calculer en VBA sur une feuille de calcul. sans passer par un boucle du type for to next mais plutot dans le style copier coller la raison : le tableau se calcule en 1 seconde mais l'ecrire sur la feuille prends un trentaine de secondes sur un PC à 3.06Ghz et 2giga de ram Merci G.David |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
|
Salut G.David
Bonjour le Forum il serait bon que tu donnes un peu plus d'info sur la configuration de ton tableau ,comment il est chargé, à Transposé ???? pas transposé ??? lol on peut utiliser cette procèdure si ton tableau est chargé sans transposition des colonnes en lignes Code:
WorkSheets('Feuil1').Range('A2').Resize(Ubound(Tablo,1),Ubound(Tablo,2))=Tablo
Code:
WorkSheets('Feuil1').Range('A2').Resize(Ubound(Tablo,2),Ubound(Tablo,1))=Application.Transpose(Tablo)
Bonne journée un petit exemple ,un extrait de quelles lignes ,sans données confidentielles,juste pour voir et comprendre lol , c'est mieux |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: février 2005
Localisation: Aranc
Version Excel : Excel 2003 (PC)
Messages: 580
|
Salut jean -marie
le tableau est un calcul fait sur un feuille de donnée Code:
Dim donnee(200)
'
ChDir 'C:\\david excel\\Jean-pierre'
Workbooks.OpenText Filename:='C:\\david excel\\Jean-pierre\\hELLA GM Emp 53.PRF' _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1)
If Range('a65536').Value = '' Then
fin = Range('a65536').End(xlUp).Row - 3
ElseIf Range('a65536').Value = 'EOF' Then
fin = 65534
ElseIf Range('a65536').Value = 'EOR' Then
fin = 65535
Else
fin = 65536
End If
pas = Int((fin - 10) / 200)
plage = Int(pas / 2)
For t = 11 + plage To fin Step pas
a = Range('a' & t - plage & ':a' & t + plage)
For Each cell In a
u = u + 1
p = p + cell
Next
o = o + 1
donnee(o) = p / u
p = 0
u = 0
Next
c'est pour le poser sur la feuille de calcul que ça coince G.David |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
|
re
bon avec la mise en forme du texte en code sur le forum je ne comprends rien au texte rtien d tel qu'un fichier exemple lol enfin si j'ai compris tu remplies un tableau Donnée(200)qui n'a qu'une colonne sur 200 lignes dans l'exemple donc si tu veux coller ton tableau dans la feuille 4 par exemple tu mets en fin de procèdure après le next Worksheets(Feuil4').range('A2').resize(Ubound(Donn ée,1),ubound(Donnée,2))=Donnéevoir fichier exemple [file name=essaiTranspose.zip size=6262]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essaiTranspose.zip[/file] |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: février 2005
Localisation: Aranc
Version Excel : Excel 2003 (PC)
Messages: 580
|
Bon je crois que si je vois bien ce que je demande je ne dois pas etre clair dans mes explications
le tableau : n'est pas sur un feuillle je converti un fichier PRF (donnée de profil d'une machine a mesurer) en un fichier XL de ses donnees je retir 200 points qui sont des moyennes par zone du fichier mesures (decoupé en 200 secteurs) ces moyenne contitue le tableau en memoire dim donnee(200) c'est ce tableau que je voudrait coller dans une feuille (pour finir de le triturer) mais actuellement le collage des donnée(x) je le fait par une boucle for t= 0 to 200 cells(t+1,10).value=donnee(t) next hors si le calcule du tableau prends moins d'une seconde XL mets une secondes pour ecrire 3 cellules c'est pourquoi je recherche le moyen de coller le tableau en memoire d'un seul bloc sur la feuille comme un copier / coller ( mais sans copier) et je ne sais pas copmment transformer ce tableau memoire en variable j'espère avoir était plus clair Merci G.David |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: février 2005
Localisation: Aranc
Version Excel : Excel 2003 (PC)
Messages: 580
|
Jean marie
j'avais posée la meme question jeudi sur veriti aujourdh'hui() j'ai eu une reponse de The Magic Ti [u] la réponse est excellente (j'aime donner dans le pléonasme quand je suis content) http://vlohr.free.fr/veriti/forum/viewtopic.php?t=300 ici l'adresse du fil encore merci du temps que tu m'a consacré Cordialement G.David |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|