XL 2019 Problème de conditions - Export données - vba

thespeedy20

XLDnaute Occasionnel
Bonjour à tous, le forum,

Je dois créer une attestation de fréquentation pour des élèves...
Je sélectionne le nom de l'élève via une listbox dans un userform et je dois remplir le formulaire comme ceci :

si le cours ou les cours est de base(B), ils doivent se mettre dans la plage C21:F25
si le cours ou les cours est complémentaire(C), ils doivent se mettre dans la plage : C26:F29

j'ai un petit soucis avec la condition, je n'arrive pas à l'imbriquer dans le code ?
et j'ai petit soucis, j'ai de temps en temps une erreur de type argument ou appel de procédure incorrect sur la ligne suivante :

VB:
Range("B21").Resize(UBound(tabloR, 2), 5) = Application.Transpose(tabloR)

Je vous remercie pour votre aide

OLi
 

Pièces jointes

  • H5.xlsm
    34.2 KB · Affichages: 22
Solution
Bonsoir,

Voila, j'ai résolu le problème par moi-même...

VB:
                If tablo(ln, 5) = "B" Then
                
                ReDim Preserve tabloR(4, k + 1)
                tabloR(1, k) = tablo(ln, 2)
                tabloR(2, k) = Left(tablo(ln, 3), 1)
                tabloR(3, k) = Mid(tablo(ln, 3), 2, 2)
                tabloR(4, k) = tablo(ln, 4)
                k = k + 1
                Range("B21").Resize(UBound(tabloR, 2), 5) = Application.Transpose(tabloR)
              
               Else
                
                ReDim Preserve tabloO(4, p + 1)
                tabloO(1, p) = tablo(ln, 2)
                tabloO(3, p) = tablo(ln, 3)
                tabloO(4, p) = tablo(ln, 4)
                p = p + 1...

thespeedy20

XLDnaute Occasionnel
Bonsoir,

Voila, j'ai résolu le problème par moi-même...

VB:
                If tablo(ln, 5) = "B" Then
                
                ReDim Preserve tabloR(4, k + 1)
                tabloR(1, k) = tablo(ln, 2)
                tabloR(2, k) = Left(tablo(ln, 3), 1)
                tabloR(3, k) = Mid(tablo(ln, 3), 2, 2)
                tabloR(4, k) = tablo(ln, 4)
                k = k + 1
                Range("B21").Resize(UBound(tabloR, 2), 5) = Application.Transpose(tabloR)
              
               Else
                
                ReDim Preserve tabloO(4, p + 1)
                tabloO(1, p) = tablo(ln, 2)
                tabloO(3, p) = tablo(ln, 3)
                tabloO(4, p) = tablo(ln, 4)
                p = p + 1
                Range("B26").Resize(UBound(tabloO, 2), 5) = Application.Transpose(tabloO)

OLi
 

Discussions similaires

Réponses
7
Affichages
368

Statistiques des forums

Discussions
312 305
Messages
2 087 070
Membres
103 453
dernier inscrit
Choupi