ESSAIS -MENUS : Feuille Accueil produits

Résolu/Fermé
BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024 - Modifié le 23 avril 2021 à 19:03
Le Pingou Messages postés 12184 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 11 novembre 2024 - 24 avril 2021 à 22:32
Bonjour :
Dans le code de la feuille Accueil produits, procédure Worksheet_Change :
cboModifierproduit.additem Elé.offset(0,-3)
0 = chiffre représentant une colonne ? En réalité, c'est une ligne.
-3 = chiffre représentant une ligne ? En réalité, c'est une colonne.Pourquoi précédé du signe moins ? Reculer de trois lignes ou avancer de trois lignes sur la droite ou la gauche ? Par rapport à quelle ligne de départ ? En réalité, il reste sur la même ligne et recule de trois colonnes vers la gauche

cboModifierProduits.list(activesheet.cboModifierProduit.listCount -1, 1)=Ele.row

-1 Pourquoi précédé du signe moins ? Reculer ou avancer d'une colonne sur la droite ou la gauche ? Par rapport à quelle colonne ?
1 il s'agit d'une ligne ? Mais de laquelle ?

Pour ce qui est de la suppression, ce sera les mêmes considérations ?

Que représente exactement Elé qui est déclaré comme de type range ? Pour moi, tout est basé sur la feuille Produits, TableProduits. D'avance merci pour votre aide. À mon avis, tout se joue sur les colonnes Nom catégorie et Code produit.

https://www.cjoint.com/c/KDxqsFursxo

A voir également:

3 réponses

Le Pingou Messages postés 12184 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 11 novembre 2024 1 448
23 avril 2021 à 22:42
Bonjour,
En principe ‘Ele’ est une variable qui reçoit la valeur de la colonne des catégories de votre table Produits utilisée dans la boucle (For Each Ele ………. Next Ele)

Au fait c'est quoi le problème?
1
BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024
Modifié le 24 avril 2021 à 08:50
Bonjour Le Pingou,

Le problème est de savoir à quoi correspondent les chiffres, pourquoi certains sont précédés du signe moins.
J'ai déjà trouvé que le premier chiffre correspond à une ligne, le second à une colonne. Chiffre colonne précédé d'un moins : reculer de trois colonnes vers la gauche (-3) à partir de la colonne Nom catégorie (nom comprise dans le décompte). Chiffre ligne précédé d'un moins : monter d'une ligne vers le haut (-1). Si pour la colonne j'ai compris le signe moins, pour la ligne, je n'ai pas compris car on aboutit sur la ligne du nom des colonnes. Tout se passe à partir de la feuille Produits, TableProduits, colonne Nom catégorie. Partie ajouter le numéro de ligne (-1, 1) : pour cette instruction, je n'ai pas compris. J'ai trouvé tout cela, à confirmer ou à infirmer, grâce à la propriété de range offset.
0
jkrplz Messages postés 14 Date d'inscription samedi 23 mai 2020 Statut Membre Dernière intervention 24 avril 2021 3 > BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024
24 avril 2021 à 10:31
Bonjour,

For Each Ele In Application.Range("TableProduits[Nom catégorie]")

Ele va parcourir le tableau "TableProduits" ligne par ligne, dans la colonne "Nom catégorie"
Ele va donc prendre les valeurs "DMR" puis "DS" etc....

cboModifierProduit.AddItem Ele.Offset(0, -3)

"cboModifierProduit" est le nom de la première liste déroulante sous "Choix Produit"
"AddItem" : cela va ajouter les éléments à la liste

AddItem.Ele : cela précise que l'élément à ajouter correspond à l'élément contenu dans Ele. Seulement dans la liste on ne veut pas ajouter "DMR" "DS" etc... On veut ajouter les éléments de la colonne "Intitulé" du tableau. Cette colonne se situe 3 colonnes à gauche de la colonne actuelle "Nom catégorie" (d'où le -3) et nous de devons rester sur la même ligne (d'où le 0). Finalement on obtient Offset(0, -3) qui signifie décaler de trois colonnes vers la gauche depuis la colonne "Nom catégorie" mais rester sur la même ligne.
0
BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024 > jkrplz Messages postés 14 Date d'inscription samedi 23 mai 2020 Statut Membre Dernière intervention 24 avril 2021
24 avril 2021 à 10:36
Merci jkrplz

et l'instruction ajouter le numéro de ligne qui suit le next ele, que signifie-t-elle ? J'avoue que je ne l'ai pas comprise.
0
jkrplz Messages postés 14 Date d'inscription samedi 23 mai 2020 Statut Membre Dernière intervention 24 avril 2021 3 > BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024
24 avril 2021 à 11:20
Pour cboModifierProduit.List(ActiveSheet.cboModifierProduit.ListCount - 1, 1) = Ele.Row
Voir ma deuxième réponse ci-dessous.

Jkrplz
0
jkrplz Messages postés 14 Date d'inscription samedi 23 mai 2020 Statut Membre Dernière intervention 24 avril 2021 3
Modifié le 24 avril 2021 à 10:43
cboModifierProduit.List(ActiveSheet.cboModifierProduit.ListCount - 1, 1) = Ele.Row

Ici on ajoute Ele.Row qui est le numéro de la ligne dans la feuille contenant le tableau de l'élément en train d'être ajouté à la liste déroulante.

La liste déroulante contient 2 colonnes, la colonne 0 dans laquelle se situent les éléments "DMR01-1" etc... et la colonne 1 dans laquelle doivent se situer les numéros de ligne de ces éléments. Le 1 dans cboModifierProduit.List(ActiveSheet.cboModifierProduit.ListCount - 1, 1) signifie deuxième colonne de la liste.

.ListCount compte le nombre d'éléments dans la liste. Lorsque le premier élément est ajouté, .ListCount renvoie donc 1. Sauf que dans la liste, le premier élément est 0, le deuxième est 1 etc... Donc pour ajouter le premier numéro de ligne (Elo.Row) au bon endroit, on doit l'ajouter dans la première ligne et deuxième colonne de la liste, ListCount vaut 1 mais ListCount -1 vaudra 0 c'est ce qui nous intéresse pour la ligne de la liste. Et c'est dans la deuxième colonne de cette liste ce qui donne .List(.ListCount - 1, 1)

Je sais pas si je suis clair :D
1
BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024
24 avril 2021 à 11:57
Oui cela va. Le code de cette feuille devient plus clair. Dans mon prochain forum, je me fixerai sur ThisWork.
0
BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024
24 avril 2021 à 20:09
J'ai modifié les commentaires pour les combo boxes Modifier et supprimer du code de la feuille Accueil produits. Je pense avoir respecté tant tes indications que celles de Le Pingou. Après confirmation de vous deux ou de l'un d'entre vous, je créerai un nouveau forum concernant ThisWorkbook.
https://www.cjoint.com/c/KDysjbQdWqo
0
Le Pingou Messages postés 12184 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 11 novembre 2024 1 448 > BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024
24 avril 2021 à 21:28
Bonjour,
Eh bien pour moi je ne sais pas ou sont les commentaires dont vous parlez ...!!!

Salutations.
Le Pingou
0
BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024 > Le Pingou Messages postés 12184 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 11 novembre 2024
24 avril 2021 à 21:53
Dans le code de la feuille Accueil produits, procédure Worksheet_Change, après Si la cellule C5 est vide et également après Si la cellule C7 est vide.
0
Le Pingou Messages postés 12184 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 11 novembre 2024 1 448 > BUDGETS Messages postés 1479 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 5 novembre 2024
24 avril 2021 à 22:32
Bonjour,
Oui à première vue cela semble correcte, cependant je suppose que le programme n’est pas de votre cru et que vous voulez simplement comprendre les diverses instructions.
Je ne vais pas poursuivre. Désolé.
Salutations.
Le Pingou
0
Le Pingou Messages postés 12184 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 11 novembre 2024 1 448
24 avril 2021 à 11:57
Bonjour jkrplz,
Merci pour votre intervention (j'ai les mêmes informations).
1