Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/08/2011, 23h09   #1
Nouveau Membre du Club
 
Homme
Administrateur de base de données
Inscription : mai 2011
Messages : 99
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 99
Points : 29
Points : 29
Par défaut Problème tableau 2 dimensions dynamique

Bonjour forum

Je désire créer un tableau a deux dimention, don le nombre de valeur de la première variable est inconnue et le nombre de la 2e est 11, voici mon code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
last = .Range("Q65536").End(xlUp).Row
x = 0
    For i = 3 To last
        If i = 3 Or Cells(i, 17) <> Cells(i - 1, 17) Then
            x = x + 1
            ReDim Preserve tabsche(x, 11)
            For j = 1 To 11
                tabsche(x, j) = Cells(i, 16 + j)
            Next j
        End If
    Next i
End With
Une erreur survient lorsque x prend la valeur 2, donc au moment ou je désire entré une seconde ligne dans mon tableau l'erreur : "L'indice n'appartient pas à la selection, sur la ligne de code:
Code :
ReDim Preserve tabsche(x, 11)

Merci de votre aide
Beaudelicius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 23h14   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 847
Points : 16 847
Envoyer un message via Skype™ à bbil
aide en ligne

Citation:
ReDim, instruction
(...)
Si vous utilisez le mot clé Preserve, vous ne pouvez redimensionner que la dernière dimension du tableau. Vous ne pouvez en aucun cas modifier le nombre de dimensions. Par exemple, si votre tableau n'a qu'une dimension, vous pouvez la modifier puisqu'il s'agit de la dernière et seule dimension. Toutefois, si le tableau compte plusieurs dimensions, seule la taille de la dernière dimension est modifiable si vous souhaitez préserver le contenu du tableau. L'exemple suivant montre comment augmenter la taille de la dernière dimension d'un tableau dynamique sans effacer les données qu'il contient :
(...)
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 14h24   #3
Nouveau Membre du Club
 
Homme
Administrateur de base de données
Inscription : mai 2011
Messages : 99
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 99
Points : 29
Points : 29
Ok Merci,

J'ai donc monté mon tableau en colonne et utiliser la fonction transpose:

Code :
Range(cells(1,1),cells(ubound(tabsche,2),11)) = application.workcheetsFunction.transpose(tabsche)
Merci
Beaudelicius est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h33.


 
 
 
 
Partenaires

Hébergement Web