XL 2010 Remplissage des combobox ModifierRéférentielsMenus et SupprimerRéférenti

BUDGETS

XLDnaute Impliqué
Bonsoir,
Comme n'ai toujours pas trouvé de personne qui m'explique les différentes instructions des différents macros, je me démerde comme je peux.
Dans le fichier comptabilité10, feuille accueil, ligne Modifier référentiels menus, cellule D5, on choisit le titre référentiels menus à modifier;dans la cellule E5, la liste des référentiels menus dont À modifier est à oui, apparait. Question unique : où se trouve le code qui permet d'afficher la liste des référentiels menus qui sont à modifier(modifier = Oui) dans le combo cbo01 référentiel menus ? Inutile deme proposerun nouveau programme, seule la réponse à ma question posée m'intéresse.
D'avance merci.
Bonnes soirée et continuation à toutes et à tous.
https://cjoint.com/c/HKdrCSLekB8
 

ChTi160

XLDnaute Barbatruc
Bonsoir Christian
je vois que tu perds patience !
une réponse qui j'espère est la bonne Lol
pour ce qui est du remplissage de ton ComboBox1 il se fait via la Procédure Worksheets_Change de la Feuille "Accueil"
a ce niveau
VB:
If Not Intersect(Target, Range("D5")) Is Nothing Then 'si Target=D5 alors
    'on efface le combobox juste à coté
    For Each ele In Application.Range("TabData[Titre référentiel menus]") 'pour chaque élément de la colonne "Titre référentiel menus" de la table "TabData"
        If ele = Range("D5") And ele.Offset(0, 7) = "Oui" Then 'si élément = Target et que en colonne "A modifier" = oui
            ActiveSheet.ComboBox1.AddItem ele.Offset(0, -2) 'on ajoute l'élément dans le combobox <------ICI
        End If
    Next ele
    If ComboBox1.ListCount = 0 Then 'si on n'a rien ajouté ==> le combo est vide
        ComboBox1.AddItem "Pas de référentiel à modifier" 'on met un message
    End If
     ComboBox1.ListIndex = 0 'on ne sélectionne rien dans le combo 
End If
Il faudrait aussi penser a Vider , le Combobox1 avant de le remplir (mais la n'est pas la Question Lol
pour ce qui est de cette Ligne de Code
si tu ne veux rien faire apparaître (rien Sélectionner)
il faut :
ComboBox1.ListIndex = -1 'on ne sélectionne rien dans le combo
et non ComboBox1.ListIndex = 0
0 etant le premier Index du Combobox
Bonne soirée
jean marie
 
Dernière édition:

BUDGETS

XLDnaute Impliqué
Bonsoir Jean-Marie,

Merci pour ta réponse.
En gros, c'est bien ce que je pensais. Je t'envoie mon fichier personnel qui ne répond pas au code. Peut-être y a-t-il une erreur dans le code de ma feuille accueil référentiels menus;mais j'ai beau à lire et à relire le code avec celui de comptabilité 10, je ne vois aucune différence.
D'autre part, merci de m'avoir signalé de vider le combobox avant de le remplir : comb0box1.clear ?
Mon combo box modifier référentiels menus affiche 1, 2, 3 et non DWE01, DWE02, etc. De plus, quand je clique sur modifier référentiels menus, erreur : l'indice n'appartient pas à la sélection (dans sub modifierréférentielsmenus, ligne typealiment=split(Intitulé, "-")(1).
Si cela ne dérange pas de trop et si ce n'est pas abuser de trop de ta gentillesse, si tu penses devoir modifier une instruction dans mon fichier personnel (Menus.xlsm), fais-le et essaie d'exécuter le programme pour voir s'il répond correctement. D'avance merci pour ton aide précieuse et ta compréhnsison.
https://www.cjoint.com/c/HKdsDqTLnk8
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re
une premier modification
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet
If Not Intersect(Target, .Range("C5")) Is Nothing Then
 With .cboModifierRéférentielsMenus
         .Clear
    For Each ele In Application.Range("TabRéfMenus[Titre référentiels menus]")
        If ele = Target.Value And ele.Offset(0, 14) = "Oui" Then
         .AddItem ele.Offset(0, 1)
        End If
    Next ele
    If .ListCount = 0 Then
       .AddItem "Pas de référentiel à modifier"
    End If
       .ListIndex = IIf(.ListCount = 1, 0, -1)
 End With
End If
If Not Intersect(Target, .Range("C7")) Is Nothing Then
 With .cboSupprimerRéférentielsMenus
      .Clear
    For Each ele In Application.Range("TabRéfMenus[Titre référentiels menus]")
        If ele = Target.Value Then
           .AddItem ele.Offset(0, 1)
        End If
    Next ele
    If .ListCount = 0 Then
       .AddItem "Pas de référentiel à supprimer"
    End If
       .ListIndex = IIf(.ListCount = 1, 0, -1)
 End With
End If
End With
End Sub
le Offset n'était pas Bon -2 au lieu De 1
je regarde le reste
jean marie
 

ChTi160

XLDnaute Barbatruc
Re
que doit afficher le Combobox ".cboModifierRéférentielsMenus" quelle colonne est prise en compte ?
car tu mets
affiche 1, 2, 3 et non DWE01, DWE02 ,Etc
et tu parles d'intitulé et tu fais :
VB:
Numéro_référentiels_Menus = CInt(Split(Intitulé, "-")(0))
TypeAliment = Split(Intitulé, "-")(1)
Intitulé : semblant correspondre a des Données comme dans la Colonne "Intitulé".
ce qui n'est pas pareil ! le Offset est encore différent Lol
Explique nous un peu ce qui est vraiment a faire et quelles données doivent être traitées ?
de plus tu mets :
= "Pas de référentiels à modifer" Then Exit Sub
'pas de s à référentiel et un i à Modifier
au lieu de :
= "Pas de référentiel à modifier" Then Exit Sub
ça ne peut pas fonctionner Lol
dans l'attente .
merci
jean marie
 

BUDGETS

XLDnaute Impliqué
Le combo box Modifier référentiels menus doit afficher le contenu de la colonne intitulé du tableau référentiels menus (TabRéfMenus) si À modifier est à oui
Le combo box Supprimer référentiels menus doit afficher le contenu de la colonne Intitulé du tableau référentiels menus(TabRéfMenus) selon le choix fait en cellule C7
 

BUDGETS

XLDnaute Impliqué
Le combo box Modifier référentiels menus doit afficher le contenu de la colonne intitulé du tableau référentiels menus (TabRéfMenus) si À modifier est à oui selon le choix fait dans la cellule C5. Puis on clique sur le bouton Modifier référentiels menus afin s'arriver sur la feuille MRM.
 

BUDGETS

XLDnaute Impliqué
Ok
Je regarde cela des que possible.
Jean marie
Bonjour Jean-Marie,

J'espère que tu vas bien et que tu as passé une bonne journée.
Code de la feuille accueil : ligne activesheet.cboModifierRéférentielsMenus.additem ele.offset(0,-2) : j'ai modifié -2 en 1;miracle : mon combo box correspond à ce que je cherchais. Question : à quoi correspondant ces deux chiffres ? Par contre, clic sur le bouton Modifier référentiels menus entraîne une erreur : incompatibilité de type (code du module 1, sub modifierréférentielsmenus, ligne numéro_référentiels_menus=cint(split(intitulé, "-")(0)). Que signifie incompatibilité de type ?
 

Fichiers joints

ChTi160

XLDnaute Barbatruc
Re Christian
je pense que toi tu comprends ce que tu veux dire , mais pas Moi Lol
tu dis
Question : à quoi correspondant ces deux chiffres
quels chiffres ?
le : cboModifierRéférentielsMenus
Contient donc les éléments de la Colonne "5"(E)
soit des Données du genre (DMR01 ; DWE01 ; DWE02 ; DWE03)
et dans la procédure :
ModifierRéférentielsMenus
tu as :
Intitulé = ActiveSheet.cboModifierRéférentielsMenus
Numéro_référentiels_Menus = CInt(Split(Intitulé, "-")(0))
TypeAliment = Split(Intitulé, "-")(1)
puis tu recherches dans
VB:
Numéro_référentiels_Menus = CInt(Split(Intitulé, "-")(0))
a récupérer les Chiffres qui composent l'intitulé .
donc tu devrais avoir dans le ComboBox
cboModifierRéférentielsMenus
les éléments de la Colonne 1(A) soit des Données du genre (0001-DMR ; 0001-DWE ; 0002-DWE ; 0003-DWE)
donc dis moi ce qu'il en est ?
avant que j'avance Lol
jean marie
 

BUDGETS

XLDnaute Impliqué
Code de la feuille accueil : ligne activesheet.cboModifierRéférentielsMenus.additem ele.offset(0,-2) il s'agit du 0,2 contenus dans la parenthèse.
Par contre, je n'ai rien compris au reste de ton message. Mon problème, c'est l'incompatibilité de type quand je clique sur le bouton Modifier référentiels menus afin de faire apparaître la feuille shMRM
 

BUDGETS

XLDnaute Impliqué
Re Christian
je pense que toi tu comprends ce que tu veux dire , mais pas Moi Lol
tu dis

quels chiffres ?
le : cboModifierRéférentielsMenus
Contient donc les éléments de la Colonne "5"(E)
soit des Données du genre (DMR01 ; DWE01 ; DWE02 ; DWE03)
et dans la procédure :

tu as :
puis tu recherches dans
VB:
Numéro_référentiels_Menus = CInt(Split(Intitulé, "-")(0))
a récupérer les Chiffres qui composent l'intitulé .
donc tu devrais avoir dans le ComboBox

les éléments de la Colonne 1(A) soit des Données du genre (0001-DMR ; 0001-DWE ; 0002-DWE ; 0003-DWE)
donc dis moi ce qu'il en est ?
avant que j'avance Lol
jean marie
Code de la feuille accueil : ligne activesheet.cboModifierRéférentielsMenus.additem ele.offset(0,-2) il s'agit du 0,2 contenus dans la parenthèse, le 2 ayant transformé en 1.
Par contre, je n'ai rien compris au reste de ton message. Mon problème, c'est l'incompatibilité de type quand je clique sur le bouton Modifier référentiels menus afin de faire apparaître la feuille shMRM
 

BUDGETS

XLDnaute Impliqué
J'ai relu ton message. C'est bien cela, dans le combobox ModifierRéférentielsMenus je dois avoir lesdonnées de la colonne A tu tableau référentiels menus (TabRéfMenus)
 

BUDGETS

XLDnaute Impliqué
Re Christian
je pense que toi tu comprends ce que tu veux dire , mais pas Moi Lol
tu dis

quels chiffres ?
le : cboModifierRéférentielsMenus
Contient donc les éléments de la Colonne "5"(E)
soit des Données du genre (DMR01 ; DWE01 ; DWE02 ; DWE03)
et dans la procédure :

tu as :
puis tu recherches dans
VB:
Numéro_référentiels_Menus = CInt(Split(Intitulé, "-")(0))
a récupérer les Chiffres qui composent l'intitulé .
donc tu devrais avoir dans le ComboBox

les éléments de la Colonne 1(A) soit des Données du genre (0001-DMR ; 0001-DWE ; 0002-DWE ; 0003-DWE)
donc dis moi ce qu'il en est ?
avant que j'avance Lol
jean marie
Bonjour Jean-Marie,

J'espère que tu vas bien.
Ma question d'hier concernant 0,-2 ou 0,1) est toujours d'actualite.
Feuille Accueil référentiels menus : ligne Modifier référentiels menus : clic dans la liste déroulante de la cellule C5 pour choisir le titre référentiels menus à modifier : le combo box modifier référentiels menus donne la liste de tous les référentiels dont la colonne À modifier est à oui : je clique sur l'un des référentiels puis je clique sur le bouton de commande (contrôles de formulaire) Modifier référentiels menus;là, je programme doit aller sur la feuille M R M, ce qu'il ne fait pas. Comment faire pour que le programme y aille ?
Incompatibilité de type : j'ai modifié Cint en CVar et je n'ai plus le message d'erreur.
D'une manière générale, je ne comprends toujours pas pourquoi mon programme ne fonctionne pas correctement puisque j'ai repris tous les codes du fichier initial qui m'a servi de modèle en apportant les modifications nécessaires quant aux noms définis, nom du tableau, nom des combo boxes, etc.
Enfin, dernière précision, dans la mesure du possible, je souhaiterais que mon programme soit totalement opérationnel pour le 16 novembre 2018 au plus tôt, pour le 01 décembre 2018 au plus tard afin que je puisse créer mon programme saisie des menus et l'exécuter afin de créer mes menus de l'année 2019.
Merci pour ton aide.
Je te souhaite bonnes journée et continuation.
https://cjoint.com/c/HKfjna7cNJ8
 

BUDGETS

XLDnaute Impliqué
Bonjour Jean-Marie,

J'espère que tu vas bien.
Ma question d'hier concernant 0,-2 ou 0,1) est toujours d'actualite.
Feuille Accueil référentiels menus : ligne Modifier référentiels menus : clic dans la liste déroulante de la cellule C5 pour choisir le titre référentiels menus à modifier : le combo box modifier référentiels menus donne la liste de tous les référentiels dont la colonne À modifier est à oui : je clique sur l'un des référentiels puis je clique sur le bouton de commande (contrôles de formulaire) Modifier référentiels menus;là, je programme doit aller sur la feuille M R M, ce qu'il ne fait pas. Comment faire pour que le programme y aille ?
Incompatibilité de type : j'ai modifié Cint en CVar et je n'ai plus le message d'erreur.
D'une manière générale, je ne comprends toujours pas pourquoi mon programme ne fonctionne pas correctement puisque j'ai repris tous les codes du fichier initial qui m'a servi de modèle en apportant les modifications nécessaires quant aux noms définis, nom du tableau, nom des combo boxes, etc.
Enfin, dernière précision, dans la mesure du possible, je souhaiterais que mon programme soit totalement opérationnel pour le 16 novembre 2018 au plus tôt, pour le 01 décembre 2018 au plus tard afin que je puisse créer mon programme saisie des menus et l'exécuter afin de créer mes menus de l'année 2019.
Merci pour ton aide.
Je te souhaite bonnes journée et continuation.
 

Fichiers joints

Discussions similaires


Haut Bas