Bonjour,
soit le code suivant :
la partie que je ne compreds pas est :
pourquoi incrémenter ici? quel est le véritable intérêt? quelle différence y aura t il entre VarTab(1) et VarTab(2)? car d’après ce que j'ai compris Temp correspondrait ici à une seule cellule bien définie et non à un range comportant plusieurs cellules.
merci beaucoup!
soit le code suivant :
Code:
Function CreationTableau(ParamArray Cellules1()) As Variant
'Adapté de:
'http://support.microsoft.com/?kbid=213403
'
Dim VarTab() As Variant
Dim Temp As Variant
Dim i As Integer
Dim w As Integer, X As Integer, y As Integer, z As Integer
i = 1
'Boucle sur les éléments du tableau de paramètres.
For X = 0 To UBound(Cellules1)
If TypeName(Cellules1(X)) = "Range" Then
Set Temp = Cellules1(X)
'Vérifie si le paramètre passé à la fonction est une cellule simple
'ou une plage.
If IsArray(Temp) Then
'Intègre chaque cellule de la plage dansle tableau.
For y = 1 To UBound(Temp.Value)
For z = 1 To UBound(Temp.Value, 2)
'Permet de filtrer les cellules vides.
'If Not IsEmpty(Temp(y, z).Value) Then
ReDim Preserve VarTab(1 To i)
VarTab(i) = Temp(y, z).Value
i = i + 1
'End If
Next z
Next y
Else
'Permet de filtrer les cellules vides.
'If Not IsEmpty(Temp) Then
'Intègre la cellule dans le tableau.
ReDim Preserve VarTab(1 To i)
VarTab(i) = Temp
i = i + 1
'End If
End If
Else
ReDim Preserve VarTab(1 To i)
VarTab(i) = Cellules1(X)
i = i + 1
End If
Next X
CreationTableau = VarTab
End Function
la partie que je ne compreds pas est :
Code:
'Intègre la cellule dans le tableau.
ReDim Preserve VarTab(1 To i)
VarTab(i) = Temp
i = i + 1
pourquoi incrémenter ici? quel est le véritable intérêt? quelle différence y aura t il entre VarTab(1) et VarTab(2)? car d’après ce que j'ai compris Temp correspondrait ici à une seule cellule bien définie et non à un range comportant plusieurs cellules.
merci beaucoup!
Dernière édition: