Excel: données (validation)

Résolu/Fermé
ar168 - 3 nov. 2011 à 21:28
 ar168 - 4 nov. 2011 à 13:15
Bonjour,

Pour la rédaction des bons de commandes, j'utilise un fichier Excel: le bon est sur la 1ère feuille, et "le base de donnée" sur la 2ème. Le client effectue son choix via le menu déroulant grâce à la fonction validation des données.

Est-il possible de travailler à l'envers? Autrement dit le client coche la cellule correspondant à son choix dans la 2ème feuille "base de donnée" et l'indication de l'article s'insère dans la première feuille bon de commande, dans une colonne définie en partant de la ligne 10 (par exemple)...

J'ai peu d'espoir que cela soit possible avec Excel, mais...

D'avance merci pour vos astuces


A voir également:

5 réponses

Bonjour,

Le tableau est visible à l'adresse
http://cjoint.com/?0KehEvnx7xF

Actuellement il fonctionne de façon "classique".

Exemple, dans l'onglet "commande", clique sur B10. Un menu déroulant s'ouvre. Choisi un article (seul les 29 premiers articles sont encodés). Il te reste juste à encoder la quantité souhaitée, et le tour est joué!

Très simple!... sauf que certains "clients" veulent une vue d'ensemble des produits disponibles. Cette liste existe, sous l'onglet épicerie. En principe elle est protégée, afin qu'un "petit malin" ne modifie pas cette base de données.

Serait-il possible, en allant sous l'onglet épicerie, de pouvoir cliquer sur un article et que celui-ci s'insère ans l'onglet commande, en B10, le suivant en B11 etc...

Je sais que le client devra de toute façon revenir dans "commande" pour préciser la quantité... mais bon, certains estiment que les chemins détournés sont parfois plus simples! En fait il faudrait à mon avis abandonner Excel et passer sous Acces pour créer un véritable système style e-commerce: tu cliques sur un objet, une fenêtre s'ouvre pour indiquer la quantité, et le tout génère un bon de commande visible, mais impossible à modifier. Exemple: http://www.collectandgo.be/cogo/fr/home

On peut rêver... je me débrouille sous Excel, mais Acces, c'est l'inconnu total!

A nouveau merci pour l'aide et les astuces.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 nov. 2011 à 08:54
Bonjour

macro à installer dans le module "Thisworkbook"
déclenchement par double clic sur l'article choisi

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim secteur As String
secteur = UCase(ActiveSheet.Name)
derlig = Columns("B").Find("*", , , , , xlPrevious).Row
If secteur <> "commande" _
     And Not Intersect(Target, Range("B1:B" & derlig)) Is Nothing _
          And Target.Count = 1 Then
     With Sheets("commande")
          lig = .Columns("B").Find(secteur, .Range("B8"), , , xlPart).Row
          ligvide = .Columns("B").Find("", .Cells(lig, "B")).Row
          .Cells(ligvide, "B") = Target
     End With
End If
End Sub

0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 4/11/2011 à 09:10
ci joint maquette
https://www.cjoint.com/?3KejcvjDCMv

si tu ne connais pas VBA, tu dis pour l'installation de la macro

Le déclenchement "double-clic" a été choisi pour marquer une action volontaire

il serait intéressant d'insérer en ligne 1 des secteurs de produit des étiquettes de champs .

du fait que l'on emploie VBA, on pourrait se dispenser d'écrire tes formules dans la feuille "commande"; à toi de voir...

petite interrogation amicale:
Tu vends de l'alcool aux enfants ?
0
petite interrogation amicale:
Tu vends de l'alcool aux enfants ?


Zut, je suis découvert...

Rassure-toi, c'est à usage (à dose "homéopathique") des cuisines didactiques dans les cours de cuisine!

Pour revenir au bon lui-même, je regarde vos propositions et reviendrai vers vous pour la suite.

Merci à tous.
0
J'ai ouvert la maquette, fais un double-clic sur un article de l'onglet épicerie... et il ne se passe rien
Je dois avoir raté un épisode...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 nov. 2011 à 09:36
1/as tu le ruban développeur de présent sur ton Excel?

2/ Il faut télécharger et non ouvrir le lien
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 nov. 2011 à 09:48
Si l'onglet Développeur n'apparait pas dans le ruban:
Cliquez sur le bouton Office,
puis sur le bouton Options Excel.
Cliquez sur le menu Standard.
Cochez l'option Afficher l'onglet Développeur dans le ruban.
Cliquez sur le bouton OK pour valider.

source:https://silkyroad.developpez.com/Excel/NouveautesExcel2007/#LIII-B-8

puis
bouton office- centre gestion confidentialité - parametres du centre de gestion...-activer les macros
0
balooka Messages postés 8 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 4 novembre 2011
4 nov. 2011 à 09:39
J'aurais fait beaucoup plus simple :
copie des tableaux avec liaison dans la première feuille. On coche les lignes voulues dans les différentes feuilles . On applique un filtre des lignes cochées sur la première feuille.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 nov. 2011 à 09:43
Effectivement très facile avec des enfants...
0
balooka Messages postés 8 Date d'inscription mardi 8 septembre 2009 Statut Membre Dernière intervention 4 novembre 2011
4 nov. 2011 à 09:49
Je n'ai pas compris la question... ou alors j'ai mal expliqué ma solution. Ma manip n'est à faire qu'une fois, après c'est transparent. Il n'y a plus qu'à cocher dans les différentes feuilles, et le reste se fait tout seul.
0

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

Posez votre question
Pour michel_m:

Les macros étaient désactivés... méa culpa!

Maintenant, tout marche à merveille.

Encore une petite question: il est possible d'éviter les doublons dans une feuille. C'est égalent possible avec cette macro?

A nouveau, un GRAND merci.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 nov. 2011 à 11:15
il est possible d'éviter les doublons dans une feuille. C'est égalent possible avec cette macro?

Je regarde, apparemment: oui.

mais en ce moment on a pas mal de coupures ou micro-coupures car on est en "épisode cévenol" dans mon coin :-/
donc, sois patient!
0
Aucune urgence, rien ne presse.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 nov. 2011 à 11:34
et voilà! avec d'autres petites améliorations

Option Explicit

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Secteur As String, Derlig As Integer, Lig As Integer, Ligvide As Integer

Secteur = UCase(ActiveSheet.Name)
Derlig = Columns("B").Find("*", , , , , xlPrevious).Row
If Secteur <> "commande" _
     And Not Intersect(Target, Range("B1:B" & Derlig)) Is Nothing _
          And Target.Count = 1 Then
     With Sheets("commande")
          If Application.CountIf(.Columns("B"), Target) > 0 Then GoTo doublon
          Lig = .Columns("B").Find(Secteur, .Range("B8"), , , xlPart).Row
          Ligvide = .Columns("B").Find("", .Cells(Lig, "B")).Row
          .Cells(Ligvide, "B") = Target
          .Activate
     End With
End If

Exit Sub

doublon:
MsgBox "Article déjà commandé!", vbCritical, "Cuisine didactique"
End Sub
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 nov. 2011 à 11:48
petite remarque:

en relisant ton post:
En fait il faudrait à mon avis abandonner Excel et passer sous Acces pour créer un véritable système style e-commerce: tu cliques sur un objet, une fenêtre s'ouvre pour indiquer la quantité, et le tout génère un bon de commande visible

c'est faisable facilement ( peut-être) en Excel
0
Dans la famille Office: Word et Excel: les bases, y compris le publipostage (c'est déjà pas mal!)

Access, c'est la planète Mars pour moi!

Si tu me dis qu'Excel peut faire le travail que je croyais réservé à Access, je dis BRAVO, mais je t'avoue que tu deviens là le gourou d'une secte, celle des vrais utilisateurs d'Excel.
0