Tableau variable multi

  • Initiateur de la discussion Attila
  • Date de début
A

Attila

Guest
Bonjour le forum ^^

Bon encore un ti probleme decidement j'aurais galere avec cette macro

Que j'explique un peu l'histoire :

J'ai une base de donnée de X ligne

Je declare 3 tableau de variable




Sub TabVarReq()


Dim NbRow As Range
Dim NbColum As Range

Set DepTab = Sheets(6).Range("A1") ' Depart de ma restitution des infos
Set NbRow = Sheets(4).Range("C4") ' Nombre de ligne
Set NbColum = Sheets(4).Range("C5") ' Nombre de Colum
Set DepTabVarReq = Sheets(3).Range("A66") ' Depart Tableau Variable Requete

Dim TabVarReq(1 To 10000, 1 To 30) As Variant ' Déclaration du tableau de Variable Req
Dim TabVarInter(1 To 10000, 1 To 30) As Variant
Dim TabVarInter2(1 To 10000, 1 To 30) As Variant

For c = 1 To NbColum
For r = 1 To NbRow
TabVarReq(r, c) = DepTabVarReq(r, c) 'incrementation du tableau de Variable Req
Next r
Next c



LocDa = 50 ' la ou se trouve les infos que je veux
EndLocDa = LocDa + 48
a = 1
b = 1

For co = 1 To 20
For ro = LocDa To EndLocDa
TabVarInter(a, b) = TabVarReq(ro, co) ' incrementation du tab var intermediaire
a = a + 1
Next ro
b = b + 1
a = 1
Next co

'la il me fait bien ce que je veux cad un tablo de var qui contient seulement 'la section dont j'ai besoin ( de la ligne 50 a 98 )


c = 1
d = 1


maintenant je refais un tablo pour recup seulement certaines colonnes et lignes du mon deuxzieme tablo


For col = 1 To 20
Select Case col
Case 6, 8, 9, 10, 11, 12, 13, 14, 15
For Row = 1 To 48
Select Case Row
Case 1, 3, 4, 5, 6, 10, 12, 14, 15, 17, 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48
TabVarInter2(c, d) = TabVarInter(Row, col)
c = c + 1
End Select
Next Row
End Select
d = d + 1
c = 1
Next col

mon probleme est ici... il me prends bien que les colonnes que je lui demande

mais il me cré mon TabVarInter2 a l'identique, il ne me copi que les colonne que je lui demande mais il garde les meme espaces entre les colonnes
mon TabVarInter alors que je voudrais que qu'il me les mette a la suite
TabVarInter2(1,1) = TabVarInter(1,6)
meme si je suis pas tres doué encore ca me parait etre correct comme synthaxe

For e = 1 To 20
For f = 1 To 1000
DepTab.Offset(f, e) = TabVarInter2(f, e)
Next f
Next e

La i devrait me mettre en A1 TabVarInter(1,1) mais il me le colles en col 6


Y a un truc que je captes pas... et me relisant j'ai l'impression que vous allez rien capter non plus :/

J'espere que j'ai assez bien expliqué mon probleme pour que vous puissiez m'aider

Vais quand meme vous expliquer le resultat voulu peut etre ca va vous aider plus

J'ai ma requete, j'en fais un tablo de variable, je situe une ligne ( pour l'instant a la main ) c mon LocDa, a partir de cette ligne faut que je recupere les infos dont j'ai besoin ( les cases que j'ai mis ) et je les recolles dans un onglet a la suite

Humm j'espere que vous m'aurez capter, je vous remercie d'avance ^^
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG