Modification

Résolu/Fermé
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 - Modifié le 29 août 2021 à 17:11
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 - 29 nov. 2021 à 16:01
Bonjour à toutes et à tous

Comme je m'y hélas attendais, la modification n'a pas fonctionné.
J'ai voulu modifier la premiere ligne du tableau TNAM en ce qui concerne les codes jour et conditionnement. Cela n'a pas modifié mais a enregistré une nouvelle ligne juste en dessous.
1) Je vous joints le fichier de SOAN qui m'a servi de modèle (ALS35 n'a pas encore traité ce sujet).
2) Dans mon fichier, je suis parti du modèle de SOAN. Pour la modification, deux solutions possibles : sur le modèle de SOAN (ce qui existe actuellement), ou alors ne modifier que si la colonne NÀM soit à oui (elle devra modifier les codes jour et conditionnement et, éventuellement Code à modifier) et enregistrer les nouvelles données dans le tableau TNAM sans créer de nouvelle ligne. Pour la condition à Oui, merci de me proposer le code possible. De plus, merci de rectifier éventuellement les commentaires de la procédure SearchCAM.
Veuillez excuser mon bavardage mais je préfère dire exactement ce que je veux.
D'avance merci pour votre aide.
Fichier MENUS.xlsm :
https://www.cjoint.com/c/KHDpjZgdVzo
Fichier de SOAN :
https://www.cjoint.com/c/KHDpiQWhkVo

9 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
4 sept. 2021 à 11:24
Bonjour,

A vous de voir si ca vous convient: https://www.cjoint.com/c/KIeju4Gbzef
1
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 4 sept. 2021 à 12:17
Bonjour f894009,

Je viens de faire une premier test qui a été concluant et qui me satisfait pleinement. Je reviendrai ici cette après-midi vers 16 heures car là j'ai d'autres obligations domestiques à effectuer. Merci beaucoup.
Par contre, merci d'étudier la suppression. Actuellement, cela sort une erreur : erreur définie par l'application ou l'objet : dans la procédure cmdSupprimer_Click, au niveau du nom de la feuille (FL02_BDAM.Rows(LgArt).EntireRow.Delete)
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
4 sept. 2021 à 12:20
Re,

Ok
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
29 nov. 2021 à 16:01
Bonjour f894009,

Je reviens avec vous au sujet du fichier du message 18. Par rapport à mon fichier initial, où avez-vous apporté des modifications pour que la modification soit prise en compte sans créer de nouvelles lignes ? Je suis confronté de nouveau à ce problème avec mon fichier actuel Menus 1.xlsm.
https://www.cjoint.com/c/KKDpba21Evb
D'avance merci pour votre aide.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
4 sept. 2021 à 16:52
Re,

Fichier pour suppression ligne code article: https://www.cjoint.com/c/KIeo0vhnWmf
1
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 4 sept. 2021 à 17:48
Par rapport au fichier de ce matin, avez-vous modifier la procédure cmdSupprimer_Click ? Personnellement, je dirais Non. Vous avez créé un module. Dans ce module, les références du range (B3:M7) sont choisies au petit bonheur la chance ou il faut maintenir ces références pour que le programme s'exécute (au final, ma bd articles aura quelque 120 lignes). Comment le programme sait-il qu'il doit exécuter la procédure Macro_1 car, sauf erreur ou omission de ma part, je ne vois aucun appel à cette procédure ? J'ai trouvé la réponse (à confirmer) :
Article existant. Voulez-vous modifier ou supprimer.. Oui Si modification, je modifie ce que j'estime devoir l'être et je valide avec valider CAM, si suppression, je clique sur supprimer. Tout cela est dans l'UserForm UF_CAM, procédure cbCodArt_Change. Ai-je bien appris ma leçon, professeur ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 4 sept. 2021 à 17:23
Re,

Personnellement, je dirais Non.
C'est quoi ca dans le dernier fichier?
Private Sub cmdSupprimer_Click()
     If MsgBox("Souhaitez-vous supprimer l'article ?", vbYesNo) = vbYes Then
        With Feuille_Liste_Bd_articles_menus.ListObjects("TNAM")
            .ListRows(LgArt).Delete
        End With
        Unload Me
     Else
        Exit Sub
     End If
End Sub


Qu'il faut remplacer par celui-ci pour eviter une erreur si click sur sup sans article affiche
Private Sub cmdSupprimer_Click()
    If LgArt > 0 Then
        If MsgBox("Souhaitez-vous supprimer l'article ?", vbYesNo) = vbYes Then
           With Feuille_Liste_Bd_articles_menus.ListObjects("TNAM")
               .ListRows(LgArt).Delete
           End With
           Unload Me
        Else
           Exit Sub
        End If
    End If
End Sub
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
29 août 2021 à 20:41
Bonjour,
En principe, modification implique le remplacement des données d'une ligne par celle qui ont étés saisie dans votre userform.
Pour le moment, ne sachant comment vous sélectionnez la ligne à modifier,
je vais récuperer les fichiers et demain je regarde la chose pour condition à oui
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
29 août 2021 à 21:12
D'après le modèle SOAN, Feuille Accueil, clic sur le bouton de commande Création articles menus; Dans l'userForm UF01_CAM, cbCodeNAM : je choisis NAM03;cbCodArt : je choisis DW08, cbCodeJour : je choisis JO10, cbCodeConditionnement : je choisis CCO31 puis je clique sur le bouton de commande Valider CAM : tous les renseignements sont identiques, alors il ne se passe rien, il n'y a pas de validation; les renseignements fournis sont différents (c'est le cas ici pour code jour et code conditionnement) excepté pour le code Nam et le code article, alors il y a différence, alors les renseignements nouvellement fournis vont remplacer les anciennes valeurs sur la même ligne et dans les différentes colonnes concernées. C'est ainsi que je comprends le modèle de SOAN. Dans le modèle SOAN, vous pouvez faire ces différentes manipulations pour un article après avoir examiné la présentation actuelle de l'article et voir ce que cela est devenu après la validation.
Je vous joins mon fichier MENUS.xlsm car j'ai ajouté une nouvelle procédure (cmdSupprimer_Click) qui sort une erreur.
https://www.cjoint.com/c/KHDtjZWJtpo
À toutes fins utiles, dans modèle SOAN, il y a deux userform tandis que dans mon fichier, il n'y en a qu'un :est-ce une raison pour qu'il y ait des erreurs quant au nom de la feuille BD articles menus ?
Bonnes fin de soirée, nuit et continuation?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
30 août 2021 à 06:55
Bonjour,

Ok, le problème est comment savoir quelle ligne doit être modifiée vu que vous ne choisissez pas une ligne mais vous entrez des données dans l'userform. Sauf erreur de ma part, je n'ai pas encore regarde vos fichiers, mais vu votre description ce serait bien ca
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 30 août 2021 à 12:07
Re,

Dans votre fichier, il n'y a aucun code de commence pour ce que vous demande. Peut-etre normal

Bien, je regarde la chose

Suite:
Private Sub SearchCAM()

                If .Value = CodeNAM Then 'Même Code catégorie
                    If Offset(, 1) = CodArt Then 'Même code article.2, c'est-à-dire deux colonnes en partant de la colonne B

Voulez un test sur toutes les donnees, cette procedure n'est pas complete
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
30 août 2021 à 12:14
Bonjour f894009,

c'est quoi code de commence ?
Qu'entendez-vous par "un test sur toutes les données, cette procédure n'est pas complète" ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 30 août 2021 à 16:30
Re,

En dehors de la procedure Private Sub SearchCAM(), il n'y a aucun code d'ecrit

un test sur toutes les données:
dans votre BD chaque enregistrement est unique ou il pourra avoir plusieurs ?
ex:
NAM03 Desserts weekend DW03 Avocats JO03 Dimanche soir CO03 1 boîte ou 1 pot pour 1 repas samedi 28 août 2021 1 CÀM02 Oui
NAM03 Desserts weekend DW03 Avocats JO10 Samedi et dimanche midis et soirs CO31 Unité : 1 pour 1 repas lundi 30 août 2021 3 CÀM02 Oui

Dans le fichier de SOAN, chaque enregistrement est unique

Dans votre explication de depart:
Donnees indentiques: rien ne se passe
Donnees differentes: modification de la ligne
Donc vous ne pourrez jamais ajouter d'enregistrement !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
30 août 2021 à 16:32
L'exemple que vous prenez est très bien : Le premier DW03 est celui que j'ai voulu modifier sur le code jour et le code conditionnement. Malheureusement, au lieu de le modifier, il m'a créé le second. Comme dans le fichier de SOAN, chaque enregistrement sera unique.
Je ne comprends pas "En dehors de la procedure Private Sub SearchCAM(), il n'y a aucun code d'ecrit"



0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 30 août 2021 à 17:00
Re,

L'exemple que vous prenez est très bien
Sauf qu'il n'aurait jamais du s'ecrire car le code si dessous ne peut pas donner le bon resultat, il toujours en erreur a cause du deuxieme parametre
  'Vérification de la présence d'un article déjà présent.
    On Error Resume Next
    I = WorksheetFunction.Match(cbCodArt.Value, Range("bd articles menus[CAM]"), 0)
    On Error GoTo 0


Je ne comprends pas
Le code pour votre demande est a cree completement,
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 30 août 2021 à 17:38
Sauf erreur ou omission de ma part, j'ai repris le code de SOAN et d'ALS35 en modifiant (bien ou mal) le nom des feuilles et des outils. Je viens de regarder le code d'ALS35 : ce n'est pas bd articles menus mais TNAM qu'il faut mettre. C'est déjà mieux mais pas encore ce que je souhaite : il me sort que cet article existe déjà. Peut-être faut-il transférer cette instruction dans la procédure searchCAM ?
Dans ce cas, je compte sur vous pour créer le code nécessaire et pour modifier l'instruction ci-dessus.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 30 août 2021 à 18:52
Re,

'Vérification de la présence d'un article déjà présent
Pas de modif, supprime car plus utile

J'ai presque fini.
un detail a discuter:
Si meme cbCodeNAM et meme cbCodArt dans la base, je recupere les donnees de la ligne ainsi que le numero de ligne Tableau
Vous changez ou pas kake chose dans les autres donnees, je propose d'ecrire toute la ligne plutot que de tester si il y a eu au moins une modif pour reecrire la ligne
La date en cas de meme meme cbCodeNAM et meme cbCodArt sera celle du jour de creation.
Si il y a modification cette date reste la meme ou doit etre celle du jour de modification. Si differentes alors je devrai tester si au moins une modif et ce sera rock n'roll car il faudra faire les verifs par rapport a la ligne a chaque fois qu'une donnees change avant la validation
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
31 août 2021 à 09:34
Bonjour,

D'apres vous, il n'y aura qu'un seul enregistrement avec DW03?
C'est pour la recherche.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
31 août 2021 à 10:18
Bonjour f894009,
Oui, il n'y aura qu'un seul enregistrement, sinon si tout est identique pour DW3, signaler que le produit existe déjà.
Pour la date, ce sera la date de création, elle ne sera pas modifiable. Certains cb ne seront pas modifiables, mais le prévoir risque d'avoir plusieurs fois de suite la mention , si on la prévoit, "Ce cb est interdit de modification".
J'attends votre fichier pour le tester car je n'ai pas tout compris dans votre message 10.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
31 août 2021 à 10:55
Re,

signaler que le produit existe déjà
Si le produit existe, les cb et autre ont les donnees de cette article.
Par contre, si existe, il serait opportun d'avoir une msgbox avec choix oui/non pour modif des infos de cette article
Si oui alors verrouillage des cb a ne pas modifier
Si non ou fermeture msgbox, raz de cb Article

Pour le post<10>, vous avez apporte les reponses que j'attendais
En cas de choix modif sur click de validation, mon idee est d'enregistre meme si aucune modif plutot que de faire des tests
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
15 sept. 2021 à 12:13
Bonjour f894009,

J'ai repris ton fichier joint et, comme j'ai l'habitude de le faire, je recrée le fichier avec toutes les procédures. Dans le module MRecherche_Article, à quoi correspond NbCam ? Je n'ai rien trouvé qui ait cette appellation. D'avance merci pour le renseignement.
https://www.cjoint.com/c/KIpkmxD8A0q
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
15 sept. 2021 à 13:45
Bonjour,

NbCam = Application.CountIf(.Range("TNAM[CAM]"), Art)       'Article x fois dans la colonne    

Comme ecrit, nombre de fois que le code Article se trouve dans la colonne CAM. Pour le moment, permet de savoir s'il existe au moins une fois meme si ne devrait l'etre qu'une fois dans la colonne, de facon a recuperer la ligne
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
Modifié le 15 sept. 2021 à 22:06
Merci. Dommage que CCM ait changé : je viens de voir que vous m'aviez répondu à 13 heures 45. Je ne suis plus averti de l'arrivée de nouvelles réponses. Si vous avez une solution pour régler ce problème, je suis preneur. J'ai envoyé un message au modérateur au mois de juillet pour lui signaler le problème, mais j'attends toujours sa réponse !

Module MInfos_CAM : j'ai des variables non définies dans mon fichier. Dans le vôtre, rien n'est prévu pour LgArt excepté pour le bouton de commande Supprimer. I est défini comme as Long. Dans le module, il n'est pas utilisé; Par contre, il y a B = 0 qui lui n'est pas défini.
Dans mon fichier : les zones de texte sont déclarés (name) par tbNJ, tbNC, etc dans l'UserForm UF01_CAM. Dans le module MInfos_CAM, il n'accepte pas ces tb, il ne reprend pas le (Name) tel qu'il a été créé : je dois les modfier en tbNomJour, tbNom conditionnement et alors dans le module il reprend bien tel qu'il a été créé. Auriez-vous une explication à me donner ?
Dernière question : seriez-vous d'accord pour lire les commentaires que je fais pour chaque instruction et de les corriger éventuellement, ceci pour tous l'userForm et les modules ou de me dire ce que signifie l'instruction si je mets comme commentaire : je ne sais pas ou à expliquer ?
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
31 août 2021 à 11:21
Je vous fais confiance pour me proposer ce qu'il y a de mieux?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 31 août 2021 à 11:30
Re,

Nombre de lignes maxi dans votre base?
Si assez grand, je vous propose une methode de recherche pour SearchCAM beaucoup plus rapide

Pour le fichier, pas aujourd'hui car je dois faire du multitache en temps partage
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
Modifié le 31 août 2021 à 17:54
1) 120 lignes maximum
2) Comment cela se fait-il que depuis hier je ne suis plus averti de l'arrivée de nouveaux messages ?
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
31 août 2021 à 21:23
multitâche en temps partagé : c'est personnel ou pour CCM ? Sans vouloir être indiscret, cela consiste en quoi ?
0