Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

laurent950

XLDnaute Accro
Bonsoir le forum, le fil,

J’aimerais comprendre la suite d’un tableau alimenté a partir d’une feuille Excel.

Avec l’instruction Redim

Puis coller les valeurs du tableau (en mémoire) dans des cellules d’une feuille Excel.

Ce même tableau existant (en mémoire) j’aimerais lui ajouter une colonne supplémentaire (toujours en mémoire) cette colonne serais une clef de concaténation (à partir de valeur déjà en mémoire) dans le tableau existant.

Avec l’instruction ReDim Preseve.

J’ai commencé quelque choses, joint le code avec le fichier Excel.

Le tableau s’appelle MesEleves.

Code : (Lisible est très propre avec des commentaires dans l'éditeur VBA)

Sub test22()
Dim MesEleves() As Variant
Dim i As Integer
Dim j As Integer 'Nbre éléments du tableau

'============================================================================================================
' Feuil2 pour mettre le resultat
Set F2 = ThisWorkbook.Worksheets("Feuil2")

' Derniere cellule non vide de la colonne A
derCA = Range("a65536").End(xlUp).Row

' Derniere cellule non vide de la ligne 1
derL1 = Range("IV1").End(xlToLeft).Column
'============================================================================================================

' Boucle pour remplir le tableau si la note de l'eleve est égale à 19
' Avec l'instruction redim (pour comprendre)
For j = 1 To derCA 'derL1 Derniere cellule non vide de la ligne 1
For i = 1 To derL1 ' derCA Derniere cellule non vide de la colonne A
'Engestriment de tous les éléments du tableau (Mise en mémoire de celui-ci = MesEleves)
ReDim MesEleves(j, i)
MesEleves(j, i) = Cells(j, i) ' Remplis le tableau (Toutes les cellules de 3 colonnes et 15 lignes)
Debug.Print MesEleves(j, i) ' lecture de la cellule remplis (fenêtre d'excécution éditeur VBA)
Next i
Next j

' =====================================================================================
' Une fois celle-ci dans le tableau, je ne sais pas :
' - copier les valeur du tableau MesEleves dans la Feuil2
' Soit :
' Tous le tableau en une fois. (3 colonnes et 15 lignes)
' ou
' Juste une colonne du tableau (Toutes la colonne éléves)
' ou
' Une ligne du tableau (Salle224 /VALERIE / 12)
' ou
' Par exemple ou jsute une valeur (Jeanne dans une cellule)
' ou
' Par exemple des valeurs a coller dans des cellules :
' - Jeanne = une cellule et 0 = une cellule

' C'est le faite de récuperer des valeur dans le tableau et les
' Coller dans excel.

' ===========================================================================================

' =====>>>> Divers test non concluant ???

' =====>>>> F2.Cells(1, 1) = MesEleves
' =====>>>> F2.Range(F2.Cells(1, 1), F2.Cells(UBound(MesEleves, 1), UBound(MesEleves, 1))) = MesEleves
' =====>>>> F2.Range(F2.Cells(1, 1), F2.Cells(UBound(MesEleves, 1))) = MesEleves



' SUITE AVEC ReDim Preseve

' ===========================================================================================
' **** Comment se servire de l'instruction ReDim Preserve pour completer *****
' **** La dimension du tableau MesEleves est completer ce tableau *****
' **** Sans perdre les donner précedente contenu dans MesEleves *****
' ===========================================================================================


' ===>>> Associer la classe avec la Note = 19 :
' Ici le Tableau contient les Notes 19 (soit 3 fois la Note 19) dans le Tableau MesEleves
' Avec ReDim Preserve (ajouter des valeur aux tableau MesEleves)
' La colonne Clef (A et C) doit être dans la mémoire tableau est être une clef de concatenation
' de la Classe et Note (Uniquement si la note est de strictement = 19)

' =====================================================================================
' Ne fonctionne pas
' je sais pas ajouter la clef de concatenation a la mémoire du tableau
' MesEleves avec l'instruction Redim Preserve (aux tableau existant MesEleves)

For i = 1 To UBound(MesEleves, 2) ' Colonne = 3 LBound(MesEleves, 2) Soit deuxieme dimension
For j = 1 To UBound(MesEleves, 1) ' Ligne = 15 LBound(MesEleves, 1) soit premiere dimension

If MesEleves(j, i) = 19 Then ' Condition si la note est strictment = 19
'Redimension du tableau en conservant ses éléments
' =====================================================================================
x = 46 + i ' ICI JE COMPREND PLUS ?
ReDim Preserve MesEleves(x)
MesEleves(x) = Cells(i, 1) & Cells(i, 3)
Debug.Print MesEleves(x)
' =====================================================================================
End If
Next j
Next i


' =====================================================================================

' Pour la suite j'aimerais à present que le tableau contient maintenant une dimensions
' Suplémentaire soit la clef (A et C) soit la contaténation de :

' Soit : clef (A et C)
' Salle227 / 19 soit = Salle22719
' Salle224 / 19 soit = Salle22419
' Salle227 / 19 soit = Salle22719

' Et coller le resultat des lignes de se tableau redimensioné (MesEleves) en :
' En cellule A10 : point de départ
' Correspondant aux lignes de la clef de concatenation.

' soit:
' Salle22719
' Salle22419
' Salle22719


End Sub

Remerciant le Forum pour cette aide qui me serait bien utile.

Laurent.
 

Pièces jointes

  • RedimPreserveTab.xls
    39 KB · Affichages: 69
Dernière édition:

MichD

XLDnaute Impliqué
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

Bonjour,

Si tu veux remplir rapidement la colonne D:D de ta feuille de calcul, copie ce qui suit et exécute la procédure :
La dernière ligne de la procédure copie d'un seul coup tout le tableau dans une variable Tableau (array)
que tu pourrais utiliser selon le but recherché.

VB:
'------------------------------------
Sub test()
Dim Rg As Range, T As Variant
Application.EnableEvents = False
With Feuil1
    .Range("D1") = .Range("A1") & ", " & .Range("C1")
    Set Rg = .Range("D2:D" & .Range("A65536").End(xlUp).Row)
End With
Rg.Formula = "=" & Rg(1, 1).Offset(, -3).Address(0, 0) & _
    "&" & """,""" & "&" & Rg(1, 1).Offset(, -1).Address(0, 0)
Rg.Value = Rg.Value
Rg.EntireColumn.AutoFit
Rg.HorizontalAlignment = xlCenter
Application.EnableEvents = True

'Et si à la fin, tu veux mettre le tableau A1:D15 dans une variable tableau
T = Feuil1.Range("A1:D15").Value

End Sub
'------------------------------------

Si tu préfère avec un tableau (array), essaie comme ceci :

'--------------------------------------
Sub test1()
Dim T()
T = Range("A1:C15").Value

ReDim Preserve T(1 To 10, 1 To 4)

For a = 1 To UBound(T, 1)
    T(a, 4) = T(a, 1) & ", " & T(a, 3)
Next
        
'Colle le nouveau tableau dans la feuil2
Feuil2.Range("A1").Resize(UBound(T, 1), UBound(T, 2)) = T
Feuil2.Range("A1").Resize(UBound(T, 1), UBound(T, 2)).EntireColumn.AutoFit

End Sub
'--------------------------------------
 
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

Bonjour

en complément de la réponse de MichD, ces quelques pages sur les arrays et les exemples associés devraient t'être utiles :
Ce lien n'existe plus.
Un des gros intérêts des tableaux est justement de pouvoir éviter de boucler sur les cellules de la feuille pour les remplir et dans l'autre sens, il permet de remplir la feuille d'un coup sans bouclette qui prend énormément de temps dès que le nombre de lignes est grand.
 

laurent950

XLDnaute Accro
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

Bonsoir MichD e Misange,

j'ai encore des intérrogations si vous accepter de m'aider encore.

Pour un Tableau de nom = Tab de 28 lignes et 3 colonnes

ReDim Preserve Tab(1 to 15, 1 to 4)

ReDim Preserve Tab(15,4) l'indice n'appartient pas a la selection ?

=====================================================

1 ) Remplis le tableau de la feuille Excel = A1:C28

2) Pour toute les lignes non vides (C'est la colonne 3 pour le Test = Notes)

Concatener les cellules A , B , C (De la ligne en cours dans la boucle)

3 ) coller le tableau dans la feuille 2 (mais sans les lignes vides)

Je ne sais pas faire cela ?

Code :

Sub test1()
Dim T()
T = Range("A1:C28").Value
ReDim Preserve T(1 To 28, 1 To 4) ' Fonctionne pas ReDim Preserve T(28,4) ???
For i = 1 To 28
For j = 3 To 3
If T(i, j) <> Empty Then
T(i, 4) = T(i, 1) & ", " & T(i, 2) & ", " & T(i, 3)
Debug.Print T(i, 4)
End If
Next j
Next i

'Colle le nouveau tableau dans la feuil2 (sans les ligne blanche) ????
Feuil2.Range("A1").Resize(UBound(T, 1), UBound(T, 2)) = T
Feuil2.Range("A1").Resize(UBound(T, 1), UBound(T, 2)).EntireColumn.AutoFit

End Sub


Ps : Est ce que la recherche dans un tableau ce fait comme cela = T(i, j) <> Empty
Pourquoi il y a une ligne non concatener dans monresultat (Cause Empty ??)

Merci pour vos conseilles.

Laurent
 
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

Bonjour

sans répondre à ta question maintenant , deux remarques :
1) Il n'est jamais très recommandé dans excel d'ajouter des lignes vides entre les données pour des raisons de présentation. Comme tu le vois d'ailleurs, ça complique toujours les manipulations. Si tu veux aérer tes tableaux, tu peux tout à fait faire des lignes plus hautes et y centrer ton texte verticalement. Visuellement ce sera aussi facile à lire mais bien plus simple à travailler.
2) pourquoi tu veux absolument passer par une macro ?
Si tu ne mets pas de ligne vide dans ton tableau il te suffit d'écrire en A1 de ta feuille 2
= feuil1!A1 & " " & feuil1!B1 & " " & feuil1!C1 et de tirer cette formule vers le bas.
 

MichD

XLDnaute Impliqué
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

| ReDim Preserve Tab(1 to 15, 1 to 4)

| ReDim Preserve Tab(15,4) l'indice n'appartient pas a la selection ?

En apparence, cela semble être la même chose mais en réalité c'est 2 lignes de code différentes.
Lorsque l'on utilise cette syntaxe, "ReDim Preserve Tab(1 to 15, 1 to 4)" on signifie explicitement que les 2 tableaux sont de base 1, c'est-à-dire que la première donnée dans le tableau se retrouve dans tab(1,1) tandis que dans l'autre syntaxe, "ReDim Preserve Tab(15,4)", la première donnée se retrouve dans Tab(0,0) puisque le tableau est de base 0. Si tu le désires, tu peux déclarer dans le haut du module où se retrouve ta macro la ligne de code suivante : Option Base 1 signifiant que toutes les variables de type tableaux déclarées dans ce module seront de base 1 c'est-à-dire que la première donnée se retrouvera dans Tab(1,1) ET CE, SAUF, si dans ton code tu n'as pas explicitement spécifié par cette syntaxe Redim Preserve Tab(0 to 1). C'est le même principe qui s'applique si tu déclares dans le haut du module Option Base 0

Si tu veux boucler sur un tableau représentant une plage de cellules, tu peux utiliser cette syntaxe

LBound : premier index du tableau
UBound : Dernier index du tableau
(T, 1) = Première dimension du tableau : déplacement dans les lignes a1, b1, c1
(T,2) = Deuxième dimension du tableau : déplacement dans les colonnes : A1, B1, C1 ...

'------------------------------------------
Dim T(), A As Long, B As Integer
T = Feuil1.Range("A1:C5")

For A = LBound(T, 1) To UBound(T, 1) 'lignes
For B = LBound(T, 2) To UBound(T, 2) 'Colonnes
Feuil2.Cells(A, B) = T(A, B)
Next
Next
'------------------------------------------

Comme Misange l'écrit, il n'y a pas vraiment de raison de laisser des lignes vides volontairement dans une feuille de calcul. Cependant, si tu sais que chaque fois qu'une cellule est vide dans la colonne A, la ligne complète est vide, tu peux employer cette ligne de code pour effacer toutes les lignes vides.
On error resume next
Feuil2.Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
 
Dernière édition:

laurent950

XLDnaute Accro
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

Bonjour Misange, et aussi MichD

J'ai lu votre cours, j'ai essayé de comprendre en partant de zéro.

J'ai repris votre exemple MichD est suis arrivé à cela pour le code.

Pour vous répondre je récupère des tableaux d'ici de la dans mon entreprise, les gens travail selon leurs envie et je dois retravailler avec.

Le but est de comprendre la puissance du travail avec la mémoire machine sans penser Excel.

je voulais et veux savoir toute les possibilité du tableau enfin disons déjà le basic récupérer des données, les transférer dans Excel, faire des recherche dans un tableau etc.

J’ai lu tous votre cours et d'autres cours, je pars de rien pour arrivé quelque part je ne sais pas ou ?

J’ai fait des exemples :

Exemple 1 = récupérer une plage d'Excel = T()

Exemple 1 = copier le tableau T() avec en plus une colonne de concaténation (y compris la ligne de titre)

Exemple 2 = copier le tableau Trsf() sans les ligne blanche et avec la concaténation (y compris la ligne de titre modifier)

Exemple 3 = copier le tableau Trsf() augmenter de 2 colonnes supplémentaire (5 et 6) avec des autres clef ===>> ReDim preserve

Exemple 4 = Copier le tableau Trsf() enrichie d'une autres clef en plus des donnée existante ===>> sans ReDim Preserve

J’ai absolument tous argumenter j'y est passé 6 heur de travail depuis se matin.

Je vous remercie encore de votre aide.

Pouvez vous me dire mon niveau est ce que je peux améliorer ce qui est bon ou faux ?

Je ne suis pas très loin de comprendre la bonne construction de se code.

Je vous joins mon fichier Excel. (Même fichier en poste #15)

Laurent
 

Pièces jointes

  • RedimPreserveTab2.xls
    59.5 KB · Affichages: 50
  • RedimPreserveTab2.xls
    59.5 KB · Affichages: 60
  • RedimPreserveTab2.xls
    59.5 KB · Affichages: 54
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

bonjour tous :):):):):)
un exemple copy en feuille 2 pas vu le dernier post:(

Code:
Sub es()
Dim t As Variant, t2() As Variant, x As Long, i As Long, k As Long
On Error Resume Next
t = Range("a1:d" & Cells(Rows.Count, 1).End(xlUp).Row)
x = 1
For i = 1 To UBound(t)
If t(i, 1) <> "" Then
t(i, 4) = t(i, 1) & ", " & t(i, 2) & ", " & t(i, 3)
ReDim Preserve t2(1 To 4, 1 To x)
For k = 1 To 4
t2(k, x) = t(i, k)
Next k: x = x + 1: End If: Next i
Feuil2.[a1].Resize(UBound(t2, 2), UBound(t2, 1)) = Application.Transpose(t2)
Erase t, t2
End Sub
 

MichD

XLDnaute Impliqué
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

Voici 2 autres exemples sur les tableaux (array)
À moins d'avoir une question précise, moi, je m'arrête ici. C'est Misange, le Prof. ;-))


Dans le cadre de ce forum, je ne vais pas écrire un bouquin. Il y en a déjà des très bons. ( Plutôt des chapitres dans un bouquin)

À partir du tableau que tu as publié dans le fichier :

VB:
'-------------------------------------------------
Sub tableau()
Dim T As Variant, A As Long, B As Long
 
With Worksheets("Feuil1")
    'Remplir le tableau des données de la plage
    T = .Range("a1:d" & Cells(Rows.Count, 1).End(xlUp).Row).Value
End With

'Boucle sur le tableau

For A = LBound(T, 1) To UBound(T, 1)
    'Vous avez remarqué, comme je ne boucle pas sur chacune des cellules 
     'de la même ligne, je n'ai pas utilisé For b =  LBound(T, 2) To UBound(T, 2)
    'Vérifier si les colonnes 1 et 3 du tableau ne sont pas vides
    'Colonnes A       'colonne C
    If T(A, 1) <> "" And T(A, 3) <> "" Then
        's'ils les 2 colonnes ne sont pas vide, concaténation
        'des colonnes A & C et résultat dans colonne D
        T(A, 4) = T(A, 1) & ", " & T(A, 3)
    End If
Next A

'Recopie du tableau dans la feuil2

With Worksheets("Feuil2")
    .Range("A1").Resize(UBound(T, 1), UBound(T, 2)) = T
End With

End Sub


'-------------------------------------------------
'Une autre façon de procéder est de mettre le résultat
'de la concaténation dans un autre tableau.
Sub tableau1()

Dim T As Variant, T2 As Variant, A As Long, B As Long, C As Long
 
With Worksheets("Feuil1")
    'Remplir le tableau des données de la plage
    With .Range("a1:c" & Cells(Rows.Count, 1).End(xlUp).Row)
        T = .Value
        'Dimensionner le deuxième tableau selon le nombre de lignes
        'maximale de la plage de cellules.
        ReDim T2(1 To .Rows.Count)
    End With
End With

'Boucle sur le tableau

For A = LBound(T, 1) To UBound(T, 1)
    'Vérifier si les colonnes 1 et 3 du tableau ne sont pas vides
    'Colonnes A       'colonne C
    If T(A, 1) <> "" And T(A, 3) <> "" Then
        's'ils les 2 colonnes ne sont pas vides, concaténation
        'des colonnes A & C et résultat dans le nouveau tableau T2
        C = C +1  'C agit comme compteur et évite d'insérer
        'des lignes vides au mileur du tableau.
        T2(C) = T(A, 1) & ", " & T(A, 3)
    End If
Next A

'Recopie du tableau T2 qui contient seulement les données
'de la colonne 4 dans le tableau des données de la feuille Feuil1

With Worksheets("Feuil1")
    .Range("D1").Resize(UBound(T2, 1)) = Application.Transpose(T2)
End With

End Sub
'-------------------------------------------------
 
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

Bonsoir, Denis.

Pour rendre la lecture du code plus agréable, il est coutume ici d'utiliser les balises [ Highlight=VBA] au début et [/Highlight ] à la fin (sans les premier et dernier espaces. Le résultat :
VB:
Sub tableau()
Dim T As Variant, A As Long, B As Long

With Worksheets("Feuil1")
'Remplir le tableau des données de la plage
T = .Range("a1:d" & Cells(Rows.Count, 1).End(xlUp).Row).Value
End With

'Boucle sur le tableau

For A = LBound(T, 1) To UBound(T, 1)
'Vérifier si les colonnes 1 et 3 du tableau ne sont pas vides
'Colonnes A 'colonne C
If T(A, 1) <> "" And T(A, 3) <> "" Then
's'ils les 2 colonnes ne sont pas vide, concaténation
'des colonnes A & C et résultat dans colonne D
T(A, 4) = T(A, 1) & ", " & T(A, 3)
End If
Next A

'Recopie du tableau dans la feuil2

With Worksheets("Feuil2")
.Range("A1").Resize(UBound(T, 1), UBound(T, 2)) = T
End With

End Sub
VB:
Sub tableau1()

Dim T As Variant, T2 As Variant, A As Long, B As Long

With Worksheets("Feuil1")
'Remplir le tableau des données de la plage
With .Range("a1:c" & Cells(Rows.Count, 1).End(xlUp).Row)
T = .Value
'Dimensionner le deuxième tableau selon le nombre de lignes
'maximale de la plage de cellules.
ReDim T2(1 To .Rows.Count)
End With
End With

'Boucle sur le tableau

For A = LBound(T, 1) To UBound(T, 1)
'Vérifier si les colonnes 1 et 3 du tableau ne sont pas vides
'Colonnes A 'colonne C
If T(A, 1) <> "" And T(A, 3) <> "" Then
's'ils les 2 colonnes ne sont pas vides, concaténation
'des colonnes A & C et résultat dans le nouveau tableau
T2(A) = T(A, 1) & ", " & T(A, 3)
End If
Next A

'Recopie du tableau T2 qui contient seulement les données
'de la colonne 4 dans le tableau des données de la feuille Feuil1

With Worksheets("Feuil1")
.Range("D1").Resize(UBound(T2, 1)) = Application.Transpose(T2)
End With

End Sub


C'est plus sympa, non ? :)
 

MichD

XLDnaute Impliqué
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

Bonjour Misange,

Si je peux me permettre, pour compléter ton tuto, je verrais bien quelques lignes
A ) sur la notion d'un tableau de base 1 ou de Base 0
B ) sur la ligne de code qu'on peut ajouter dans le haut d'un module "Option Base 0" ou "Option Base 1"
C ) que les tableaux représentant une plage de cellule ayant été renseigné par cette méthode
T = range("A1:A5") sont nécessairement des tableaux de base 1 puisque dans une feuille de
calcul, il n'y a ni ligne 0 ou ni colonne 0

Je donne 2 autres exemples dans le cas où l'on peut utiliser un tableau pour recopier ou travailler avec des formules et des constantes dans la plage de cellules :


'Supposons que dans une colonne, tu as des données de type
'A ) Constantes : numérique ou alphanumérique
'B ) Des formules
'C ) Des formules matricielles (Excluant des formules matricielles
'regroupées sur plusieurs formules)

'Voici un exemple comment utiliser un tableau pour tout recopier
'vers une autre plage de cellules, incluant les formules

'Comme il y a des formules matricielles, on ne peut
'pas renseigner d'une seule ligne le tableau comme
'suit en l'absence de formules matricielles.
VB:
'---------------------------------------------------------

'Sans formules matricielles :


Sub test()
Dim T As Variant
T = Range("A1:A").FormulaLocal
'OU
'T = Range("A1:A5").Formula

'Pour la recopie de ce type de tableau,
'il faut boucler sur chacune des cellules
With Range("D1:D" & UBound(T, 1))
    A = A + 1
    For Each C In .Cells
        C.FormulaLocal = T(A, 1)
        'OU
        'C.Formula = T(A, 1)
        'selon ce que l'on a utilisé pour charger le tableau.
    Next
End With
End Sub

'---------------------------------------------------------

'Si la plage contient des formules matricielles,
'il faut utiliser pour charger le tableau et le recopier
Sub test1()
Dim T As Variant, C As Range, A As Long

With Range("A1:A5")
    ReDim T(1 To .Cells.Count)
    A = 1
    For Each C In .Cells
        'vérifie si la cellule contient une formule matricelle
        If C.HasArray Then
            T(A) = "{" & C.Formula
        Else
            T(A) = C.Formula
        End If
        A = A + 1
    Next
End With

'Recopie vers une autre colonne dans une autre feuille ou pas.
A = 0
With Range("G1:G5")
    For Each C In .Cells
        A = A + 1
        If Left(T(A), 1) = "{" Then
           C.FormulaArray = Right(T(A), Len(T(A)) - 1)
        Else
            C.Formula = T(A)
        End If
    Next
End With
End Sub
'---------------------------------------------------------
 
Dernière édition:

laurent950

XLDnaute Accro
Re : Tableau (MesEleves) Redim à compléter avec ReDim Preserve (clef Concatenation)

Bonsoir MichD,

Comme cela si j'ai bien compris ?

Option Base 1
'Option Base 0
'15 lignes sur 4 colonnes
'exemple = ReDim Preserve Trsf(1 to 15, 1 to 4) = tableau de la ligne 1 à 15, colonne 1 à 4
'16 lignes sur 5 colonnes
'exemple = ReDim Preserve Trsf(15, 4) = tableau de la ligne 0 à 15, colonne 0 à 4
'
'Option Base 1
'15 lignes sur 4 colonnes
'exemple = ReDim Preserve Trsf(1 to 15, 1 to 4) = tableau de la ligne 1 à 15, colonne 1 à 4
'15 lignes sur 4 colonnes
'exemple = ReDim Preserve Trsf(15, 4) = tableau de la ligne 1 à 15, colonne 1 à 4

J'aimerais connaitre le niveau de mon code dans le fichier Excel ci joint.
J'ai absolument tous détaillé avec un commentaire a chaque ligne
Est ce que je peux continuer dans cette vois ou je dois crée l'écriture du code
Comme vous ?
Qu’elle erreur je peux rencontrer ? En écrivant comme cela ?
Je pars de 0 j'avais jamais fait des variables tableaux avant.
Aussi qu'elle est le non du livre qui a les exemples sur les variables tableaux ?

MichD je vous remercie de votre aide ainsi que Misange, sans oublier le Fil est le Forum

Laurent
 

Pièces jointes

  • RedimPreserveTab2.xls
    59.5 KB · Affichages: 62
  • RedimPreserveTab2.xls
    59.5 KB · Affichages: 68
  • RedimPreserveTab2.xls
    59.5 KB · Affichages: 65
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 318
Membres
103 176
dernier inscrit
jean.yvesjean.yves