Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

création tableau VBA

  • Initiateur de la discussion Initiateur de la discussion awa123
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

awa123

XLDnaute Occasionnel
Bonjour,

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:
Re : création tableau VBA

d'après ce que je comprends (mais bon je comprends souvent pas très bien), le code test si le paramètre passé à la fonction est une cellule simple ou une plage, (bon déjà la je comprends pas tout mais bon) suivant le cas soit il est créer un tableau à une dimension ou à deux dimensions
bonne fin de journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
780
Réponses
15
Affichages
786
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
293
Réponses
5
Affichages
911
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…