Erreur de compilation : membre de méthode ou de données introuvables Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
i
iChoCow
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 19 janvier 2018
Version d'Excel : 2016

Message par iChoCow » 23 janvier 2018, 11:52

Bonjour,

Voici en pièces jointes le message d'erreur lorsque je rentre votre code.
En fait mon but est de créer une liste déroulante dynamique dans le formulaire de saisie.
Par exemple, pour la catégorie "loisirs", je veux uniquement les sous-catégories correspondant à "loisirs".
Les données sont dans la feuille "centre de pilotage", aux plages indiquées.
Pouvez-vous grâce à ceci modifier votre code ?

Cordialement,
Capture.JPG
Capture.JPG (33.65 Kio) Vu 146 fois
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 447
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 23 janvier 2018, 12:47

Bonjour, Bonjour à tous !

A mon avis, si tu fournissais la disposition exacte de tes données dans la feuille Centre de pilotage, Thev t'aurait déjà écrit la procédure adéquate... :wink:

Cordialement.
i
iChoCow
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 19 janvier 2018
Version d'Excel : 2016

Message par iChoCow » 23 janvier 2018, 12:52

Bonjour,

pas de souci, je suis nouveau, je me suis peut-être mal exprimé.

Voici la feuille en question en pièce jointe.

Merci,
Capture.JPG
Avatar du membre
thev
Membre impliqué
Membre impliqué
Messages : 2'576
Appréciations reçues : 215
Inscrit le : 13 juin 2016
Version d'Excel : 2019 FR 64 bits

Message par thev » 23 janvier 2018, 17:01

Bonjour,

ci-joint code non testé. Fournir un fichier serait mieux. En cas d'erreur, indiquer l'instruction en cause.
Private Sub UserForm_Initialize()
    
    With Sheets("Centre de Pilotage")
        Me.cbocat.List = .Range("E3:K3").Value
    End With

End Sub
Private Sub cbocat_change()
    Dim dépense As Range
    
    With Sheets("Centre de Pilotage")
        Set dépense = .Range("E3:K3").Cells(Me.cbocat.ListIndex + 1)
        Me.cbosouscat.List = Range(.Cells(4, dépense.Column), .Cells(13, dépense.Column)).Value
    End With

End Sub
i
iChoCow
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 19 janvier 2018
Version d'Excel : 2016

Message par iChoCow » 23 janvier 2018, 20:39

Bonjour,

Merci beaucoup pour votre aide.

"Erreur d'exécution 70, permission refusée." pour le dernier code. Je ne sais pas du tout ce que cela signifie. :p

Bonne soirée,
i
iChoCow
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 19 janvier 2018
Version d'Excel : 2016

Message par iChoCow » 23 janvier 2018, 20:46

Voici une partie de mon fichier qui suffit pour faire le code normalement.
Cela vous aide ?

Bien cordialement,
FichierForum.xlsx
(63.29 Kio) Téléchargé 4 fois
Avatar du membre
thev
Membre impliqué
Membre impliqué
Messages : 2'576
Appréciations reçues : 215
Inscrit le : 13 juin 2016
Version d'Excel : 2019 FR 64 bits

Message par thev » 23 janvier 2018, 22:14

Bonsoir,
iChoCow a écrit :
23 janvier 2018, 20:39
"Erreur d'exécution 70, permission refusée." pour le dernier code.
A priori, cela provient du fait que la propriété Rowsource est renseignée dans une de vos combobox, cbocat ou cbosouscat.

Par ailleurs, il serait mieux de communiquer un fichier .xlsm et non un fichier .xlsx qui enlève toute la partie macro.
i
iChoCow
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 19 janvier 2018
Version d'Excel : 2016

Message par iChoCow » 23 janvier 2018, 22:40

Oui exact. J'ai été un peu rapide pour envoyer le fichier, j'en ai oublié l'essentiel.
Pour l'instant ça marche ! Cependant je ne peux choisir que la catégorie habitation (qui m'amène grâce à tes magnifiques talents à la bonne sous-catégorie, merci beaucoup) avec ce programme. Bon je vais essayer de me débrouiller un peu seul, donc j'essaie d'afficher toutes les catégories grâce à mes propres moyens mais si je n'y arrive pas, je te recontacterai sans doute...

Merci beaucoup en tout cas.

PS : j'envoie le bon fichier.
FichierForum.xlsm
(63.25 Kio) Téléchargé 5 fois
i
iChoCow
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 19 janvier 2018
Version d'Excel : 2016

Message par iChoCow » 23 janvier 2018, 23:22

Voilà j'ai réussi, voici mon code :
Private Sub UserForm_Initialize()
    For i = 5 To 11
       cbocat.AddItem Cells(3, i)
   Next
End Sub
Private Sub cbocat_change()
    Dim dépense As Range
    
    With Sheets("Centre de Pilotage")
        Set dépense = .Range("E3:K3").Cells(Me.cbocat.ListIndex + 1)
        Me.cbosouscat.List = Range(.Cells(4, dépense.Column), .Cells(13, dépense.Column)).Value
    End With

End Sub
i
iChoCow
Jeune membre
Jeune membre
Messages : 22
Inscrit le : 19 janvier 2018
Version d'Excel : 2016

Message par iChoCow » 24 janvier 2018, 10:15

Allez comprendre pourquoi, le code marchait hier, aujourd'hui il me met "type de paiement, libellé..." dans les catégories. Incroyable.....
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message