dimensionner un tableau tampon

  • Initiateur de la discussion kiskool
  • Date de début
K

kiskool

Guest
Bonjour le forum,

ca fait quelque 2 ans que j'ai quitté ce forum (qui a beaucoup changé !!) et que je ne touche plus au VBA mais aujourd'hui c'est le grand jour ... j'ai à nouveau besoin de votre aide pour un ti problème basic.

J'ai juste besoin de dimensionner un tableau VB en dynamique. voici mon code (simplifié) non testé à cause du bug sur la table:

Sub init()

dim Last As Integer
Windows('BNPP A & S Reporting installation.xls').Activate
Range('D2').Select
Last = Range('d65536').End(xlUp).Row

Dim Table() As Integer

For i = 1 To Last
If ActiveCell.Offset(0, i) <> '' Then

AJOUTER UNE LIGNE DE 3 COLONNES A MA TABLE...
(ou la redimensionner en Table (i,2) avec conservation des données)

Table(i, 0) = ActiveCell.Offset(0, i)
Table(i, 1) = ActiveCell.Offset(1, i)
Table(i, 2) = ActiveCell.Offset(2, i)
End If
Next i

End Sub

Vous l'avez compris je veux juste mettre mes colonnes D, C et E dans une table tampon pour les recoller ailleurs. L'outils de données externes ne fonctionnent pas et le 'collage spécial avec lien non plus'...

Merci d'avance
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour KissKool, re Creepy, le Forum

Je me souviens de toi KissKool ;) ça fait un bail déjà

Bon pour la réponse de Creepy, il manque un truc si tu ne veux pas devenir enragé LOL

Option Explicit

Sub init()
Dim Table() As String
Dim Last As Integer
Dim i As Integer, x As Integer
Dim Col As Byte

'Windows('BNPP A & S Reporting installation.xls').Activate

Last = Range('A65536').End(xlUp).Row

For i = 1 To Last
&nbsp; &nbsp;
If Cells(i, 1) <> '' Then
&nbsp; &nbsp; &nbsp; &nbsp;
ReDim Preserve Table(3, x)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Table(0, x) = Cells(i, 1)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Table(1, x) = Cells(i, 2)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Table(2, x) = Cells(i, 3)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x = x + 1
&nbsp; &nbsp;
End If
Next i

'Exemple Pour Renvoyer le Tableau Dynamique dans un New WorkBook
Workbooks.Add
For i = 0 To UBound(Table, 2)
&nbsp; &nbsp;
For Col = 0 To 2
&nbsp; &nbsp; &nbsp; &nbsp; Cells(i + 1, Col + 1) = Table(Col, i)
&nbsp; &nbsp;
Next Col
Next i


End Sub


En effet sans PRESERVER tu risques de te demander pourquoi tu n'as qu'une seule ligne dans ton Tableau...

Bon Aprèm
[ol]@+Thierry[/ol]
 
K

Kiskool

Guest
MERCI à tout les deux. C'est exactement ce que je cherchais !

En effet, en lisant la réponse de Creepy je me souvenais qu'il manquais un truc pour ne pas effacer le contenu du tableau lors du redimensionnement.

Je viens d'arriver dans cette boite et je risque de devoir écrire encore quelques petites macros pour me simplifier la vie, alors surement à bientôt...

++
Kiskool ou Sylsyl (au choix)
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 396
Membres
103 534
dernier inscrit
Kalamymustapha