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

XL 2019 Après modifications, j'ai des complication dans vba.

Paulle

XLDnaute Occasionnel
Bonjour,

J'avais débuté ce fichier et mis au point avec l'aide des membres du forum.

J'ai voulu améliorer mon fichier et les problèmes sont apparues.

Sur la feuille "Tantiemes" j'ai ajouté 3 colonnes "Pl_Chauffage" "Pl_Asc_A" "Pl_Asc_B".

J'ai modifié la liste déroulante.

Dans le Module 1, j'ai ajouté 3 lignes.
Case "Pl_Chauffage": Tbl = Array("Chauffage")
Quand je clique sur Chauffage, les lignes jusqu'à 134 sont masquées et impossible de les afficher.

Pour les lignes suivantes :
Case "Pl_Asc_A": Tbl = Array("Ascenseur A")
Case "Pl_Asc_B": Tbl = Array("Ascenseur B")

J'ai : Erreur d'exécution 9: L'indice n'appartient pas à la sélection.

J'y ai passé plusieurs heures sans y parvenir, c'est pourquoi je sollicite votre aide.
Merci.
 

Pièces jointes

  • Repartition05H.xlsm
    46.5 KB · Affichages: 7

vgendron

XLDnaute Barbatruc
tes zones "A Ascenseur" et "B Ascenseur" ne sont pas définies dans le gestionnaire de nom

je ne comprend pas ce que fait ton fichier...
j'ai du mal à voir quelles sont les données d'entrée, et celle de sortie.
dans ta feuille décompte, il y a à la fois des formules et à la fois des donnée "importées" par ta macro..
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Paulle, Vgendron,
Je ne vois pas comment ça peut marcher.
Si je choisis A, je rapatrie les valeurs de Tantiemes dans Decompte, puis je filtre sur Escalier avec comme valeur A. Ca, ça marche.
Si je choisis Chauffage, je rapatrie les valeurs de Tantiemes dans Decompte, ça, c'est ok. Puis je filtre sur Escalier avec Chauffage. Le retour est vide puisque dans la première colonne qui est filtrée il n'y a jamais Chauffage.
On pourrait peut être filtrer sur le field=7 avec contenu non nul. Tout dépend de ce que vous voulez voir.
Un essai en PJ, on filtre sur l'item 7 avec des valeurs >0 :
VB:
    With loDecompte
        ' annulation des filtre précedents
        .Range.AutoFilter field:=7
        ' copies des valeurs de tantièmes
        .ListColumns("Tantiemes").DataBodyRange.Value = loTantièmes.ListColumns(LeQuel).DataBodyRange.Value
        '
        ' au besoin filtrer le tableau Decompte
        '
        If LeQuel <> "Pl_Sol_et_cloture" Then
            .Range.AutoFilter _
                    field:=7, Criteria1:=">0", _
                    Operator:=xlFilterValues

        End If
    End With
Mais est ce que ça correspond au besoin ???
 

Pièces jointes

  • Repartition05H (1).xlsm
    40.7 KB · Affichages: 3

Paulle

XLDnaute Occasionnel
vgendron,
j'ai défini les zones "A Ascenseur" et "B Ascenseur".

sylvanu,
Cela me convient.

Si je suis un peu long à répondre, c'est que j'essaie de comprendre en même temps.

Il y a encore les Ascenseurs A et B que je n'ai pas réussi à régler.
Le nouveau fichier joint avec les zones nommées et la solution du chauffage.

Merci pour votre aide.
 

Pièces jointes

  • Repartition03F1.xlsm
    47.2 KB · Affichages: 7

Paulle

XLDnaute Occasionnel
Pour moi, il y a une erreur générée pour Ascenseur_A et Ascenseur_B.
J'ai mis les copies en PJ.
 

Pièces jointes

  • Capture d’écran 2022-05-16 162940.jpg
    224.6 KB · Affichages: 23
  • Capture d’écran 2022-05-16 162848.jpg
    151.9 KB · Affichages: 22

Paulle

XLDnaute Occasionnel
je viens de découvrir un dysfonctionnement auquel je n'ai pas trouvé la solution.
Quand je sélectionne "Sol et cloture" les lignes 128 à 134 sont masquées dans la feuille Decompte.
J'ai beaucoup à apprendre.
Merci.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Apparemment je n'ai pas de souci. Peut être avez vous un filtre actif suivant les configurations précédentes.
Essayez cette version, je supprime tous les filtres potentiels et pas seulement celui de la 7eme colonne.
 

Pièces jointes

  • Repartition03F1 (2).xlsm
    40.8 KB · Affichages: 4

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…