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

Variable tableau

  • Initiateur de la discussion Initiateur de la discussion goldenboy
  • 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 !

goldenboy

XLDnaute Occasionnel
Bonjour à tous,

Aujourd'hui j'utilise une méthode qui me semble optimisable. 😕

En effet, je souhaite travailler avec les variables tableau, mais je ne sais pas comment supprimer toute la ligne d'un tableau "variable".

Pour parer mon manque de connaissance :
- je stock mes données dans un tableau.
- je traite mes données
- je ré-affiche mes données sur la feuille
- je traite mes données sur la feuille

J'aimerais pouvoir :
- Stocker mes données
- Traiter mes données
- Afficher mes données

Dans l'exemple ci joint, le résultat final est que les quantités égales à 16 sont supprimées.

Merci d'avance de vos lumières.

Bien cordialement.
 

Pièces jointes

Re : Variable tableau

Bonjour goldenboy


(...) je souhaite travailler avec les variables tableau, mais je ne sais pas comment supprimer toute la ligne d'un tableau "variable". (...)
Je ne sais supprimer une ligne d'un tableau.
Je ne vois d'autre solution que de recréer un tableau en extrayant les lignes "utiles" du tableau d'origine :​
VB:
Sub p()
Dim i&, j&, k&, L0&, L1&, C0&, C1&, MonTab(), v()

  With Range("A1")

    MonTab = .CurrentRegion.Value

    L0 = LBound(MonTab, 1): L1 = UBound(MonTab, 1)
    C0 = LBound(MonTab, 2): C1 = UBound(MonTab, 2)

    For i = L0 To L1
      If MonTab(i, 3) = 16 Then MonTab(i, 3) = "": k = k + 1
    Next i

    ReDim v(L0 To L1 - k, C0 To C1)

    k = L0
    For i = L0 To L1
      If MonTab(i, 3) <> "" Then
        For j = C0 To C1: v(k, j) = MonTab(i, j): Next
        k = k + 1
      End If
    Next i

    .CurrentRegion.ClearContents
    .Resize(k - LBound(MonTab, 1), UBound(MonTab, 2)).Value = v

  End With

End Sub
Mais vous aurez peut-être d'autres réponses plus intéressantes.​


Bonne nuit.


ℝOGER2327
#7228


Vendredi 13 Clinamen 141 (Nativité de Maldoror, corsaire aux cheveux d’or - fête Suprême Quarte)
15 Germinal An CCXXII, 9,1772h - abeille
2014-W14-5T22:01:31Z
 
Dernière édition:
- 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
1
Affichages
539
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…