Double clic amélioré

Bonjour a tous, forum bonjour,

Dans le fichier ci-joint, je recopie sur un double clic des lignes vers un deuxième onglet.

Ca fonctionne pour le transfert onglet (Site global) vers (Liste commande)

Mais hélas après maintes effort, je n'arrive pas en cas d'erreur ou de suppression volontaire

faire marche arrière pour revenir comme juste avant le clic de mon choix.

Ci-joint le fichier ou j'ai mis une bulle pour plus d'infos.

Le but de ce fichier est de préparer des commandes de filtres neufs.

Merci a vous pour votre aide, bon dimanche a tous.

Cordialement Ray

Salut Ray,

je vois qu'il peut y avoir plusieurs codes articles par référence.

Dans 'Liste commande", je vois apparaître plusieurs fois des codes articles identiques...

Est-ce du à tes essais ?

Ne devrait-il pas n'y avoir qu'un équivalent d'un code article pour y reporter chaque nouvelle commande ?

Un complément de précisions s'avère nécessaire, me semble-t-il...

La solution pourrait être, à chaque double-clic en 'Site global' et AVANT de copier les données de la référence/code article vers leur homologue d'en face, de copier les anciennes valeurs de 'Liste commande' en Offset(0,100), par exemple.

En cas d'erreur, un double-clic sur la référence en 'Liste commande' irait rechercher l'Offset pour le remettre en place.

A+

bonsoir curulis57,

Merci pour ta réponse c'est sympa a toi,

Effectivement plusieurs codes identiques mais cette liste est pour les essais

elle sera rectifier et mise a jour après si ca fonctionne.

La solution que tu me proposes m'a l'air bien mais je ne saurai pas la mettre en œuvre

j'ai déjà passer beaucoup de temps et lecture pour en arriver a ce fichier mais appris aussi au passage.

Si tu veux bien m'aider a finaliser et modifier le fichier joint, j'en serai ravi.

je te souhaite la bonne soirée et merci pour ton aide.

Je vois ca dès que possible demain.

Bien cdlt Ray

Salut Ray,

je suis dessus : pas de panique!

A+

Salut curulis57,

Houla t'inquiète pas je panique pas comme ça, j'ai de la patience enfin ca dépends pourquoi LOL

je cherche sur le site une éventuelle solution mais ca m'a l'air compliquer et je fait des essais au

cas ca marcherai, bon ce n'ai pas inutile.

Bonne continuation et merci pour ton aide.

Cdlt Ray

Salut Ray,

journée riche en émotions et contre-temps... Merci pour ta patience !

Concept :

Pour fonctionner correctement, je postule que ton tableau en 'Liste commande' soit identique à celui de 'Liste global', ce qui veut dire que, si tes catégories devaient évoluer dans 'Liste global', il faudra répercuter ces changements en 'Liste commande'.

Voici un premier jet sur cette base:

  • pour permettre à une commande de passer en 'Liste commande', le statut de la commande dans la colonne [K:K] doit être "A COMMANDER" ;
  • pour ce faire, un clic en colonne [K:K] suffit et une MFC met la cellule en FONT rouge ;
  • si tu veux y écrire autre chose, comme je le vois dans d'autres cellules en [K:K], ben... tu y écris ce que tu veux ;
  • dans une de ces cellules contenant, par ex. "Dispo...", un clic te propose une liste de validation "Dispo...","A COMMANDER" ;
Pour commander :
  • sur un double-clic ;
  • soit via la colonne [A:A] (la catégorie entière ou la partie de catégorie depuis la ligne cliquée) ou via la colonne [B:B] pour une seule ligne ;
  • si le statut est "A COMMANDER", la ligne est encadrée de rouge et la commande est passée en 'Liste commande' ;
  • l'ancienne commande y est d'abord sauvegardée - Offset(0,10) - et le statut passe en "Commandé" ;
  • Offset(0,10), donc très visible pour que tu vois ce que j'ai imaginé : en version finale, ce serait plutôt Offset(0,100).
En cas d'erreur :
  • on ne peut décommander qu'une commande à la fois ;
  • en cliquant DROIT sur la ligne voulue ;
  • le statut repasse en "A COMMANDER" et 'Liste commande' retrouve ses anciennes valeurs sauvegardées en Offset(0,10), lesquelles sont effacées ;

Si tu changes une valeur "Quantité" en colonne [I:I] de 'Liste global', le statut est vidé, un éventuel cadre rouge de cette ligne repasse en noir et la sauvegarde éventuelle en 'Liste commande est effacée.

Bien évidemment, Ray, il faudrait, ben... d'abord tester ceci , puis valider exactement le processus de commande et, peut-être m'expliquer si il y a un moyen VBA (un événement détectable) de savoir si 'Liste commande' a été validé, histoire de répercuter cette commande dans 'Liste global' pour réinitialiser l'affichage...

Euh... tu suis ma pensée ?

A+

Bonjour curulis57,

Merci beaucoup pour le fichier c'est gentil a toi.

journée riche en émotions et contre-temps... Merci pour ta patience !

R- Pas de soucis pour la patience.

Concept :

Pour fonctionner correctement, je postule que ton tableau en 'Liste commande' soit identique à celui de 'Liste global', ce qui veut dire que, si tes catégories devaient évoluer dans 'Liste global', il faudra répercuter ces changements en 'Liste commande'.

R- Ok pour le concept

Voici un premier jet sur cette base:

  • pour permettre à une commande de passer en 'Liste commande', le statut de la commande dans la colonne [K:K] doit être "A COMMANDER" ;
  • pour ce faire, un clic en colonne [K:K] suffit et une MFC met la cellule en FONT rouge ;
  • si tu veux y écrire autre chose, comme je le vois dans d'autres cellules en [K:K], ben... tu y écris ce que tu veux ;
  • dans une de ces cellules contenant, par ex. "Dispo...", un clic te propose une liste de validation "Dispo...","A COMMANDER" ;
Pour commander :
  • sur un double-clic ;
  • soit via la colonne [A:A] (la catégorie entière ou la partie de catégorie depuis la ligne cliquée) ou via la colonne pour une seule ligne ;
  • si le statut est "A COMMANDER", la ligne est encadrée de rouge et la commande est passée en 'Liste commande' ;
  • l'ancienne commande y est d'abord sauvegardée - Offset(0,10) - et le statut passe en "Commandé" ;
[b] - Offset(0,10), donc très visible pour que tu vois ce que j'ai imaginé : en version finale, ce serait plutôt Offset(0,100).

R- Pas compris. sauf erreur de ma part, serai version 10 lignes en attendant version finale 100 lignes ????

En cas d'erreur :

  • on ne peut décommander qu'une commande à la fois ;
  • en cliquant DROIT sur la ligne voulue ;
  • le statut repasse en "A COMMANDER" et 'Liste commande' retrouve ses anciennes valeurs sauvegardées en Offset(0,10), lesquelles sont effacées ;

Si tu changes une valeur "Quantité" en colonne [I:I] de 'Liste global', le statut est vidé, un éventuel cadre rouge de cette ligne repasse en noir et la sauvegarde éventuelle en 'Liste commande est effacée.

Bien évidemment, Ray, il faudrait, ben... d'abord tester ceci , puis valider exactement le processus de commande et, peut-être m'expliquer si il y a un moyen VBA (un événement détectable) de savoir si 'Liste commande' a été validé, histoire de répercuter cette commande dans 'Liste global' pour réinitialiser l'affichage...

Euh... tu suis ma pensée ?

R- Si je te suis non pas vraiment , pour le reste j'ai regarder le code un peu compliqué pour moi, sinon une fois en main ca devrais aller comme tout question d'habitude.

Si tu pouvais svp mettre quelques commentaires dans le code si tu a le temps m'aiderai a mieux comprendre le fonctionnement.

Merci a toi pour ton aide, passe une bonne journée.

Bien cdlt Ray

Re j'ai oublier de mettre l'image .

image

A plus tard

Salut Ray,

voilà, avec une petite amélioration et des commentaires dans le code.

- les cadres rouges sont conservés jusqu'à ce qu'une nouvelle "Quantité" soit encodée en colonne "I:I].

ATTENTION : si tu devais, par hasard, devoir commander la même quantité d'un produit que lors de la commande précédente, encode malgré tout cette quantité en [I:I] : Sub Worksheet_Change le détectera et initialisera l'affichage!

Ce changement de valeur en [I:I] postule donc que la commande précédente, nomalement en statut "Commandé" est définitive et non-annulable !

- les sauvegardes sont maintenant repoussées en Offset(0, 100), donc, invisibles lorsque tu actives la feuille 'Liste commande' mais bien présentes.

A+

Salut Ray,

petite... euh non, grosse erreur corrigée ici.

Déso pour ceux qui ont téléchargé le fichier précédent!

L'encodage d'une valeur en colonne [I:I] "Quantité" ne sera prise en compte comme une nouvelle commande QUE si le statut de cette ligne = "Commandé"... ce qui n'était pas le cas dans le fichier précédent!

'si le statut de la commande = "Commandé"

'si tu changes une valeur en colonne [I:I] "Quantité" = la commande en 'Liste commande' est réputée définitive, plus d'annulation possible !

If Not Intersect(Target, Range("I18:I" & iRowB)) Is Nothing Then

If Range("K" & iRow).Value = "Commandé" Then

Worksheets("Liste commande").Range("B" & iRow - 15).Offset(0, 100).Resize(1, 8).Value = "" 'la sauvegarde est effacée

Range("B" & iRow).Resize(1, 8).BorderAround Weight:=xlThin, ColorIndex:=1 'à tout hasard, le cadre est mis en noir

Range("K" & iRow).Value = "" 'le statut est mis à vide

End If

End If

Teste tout ça et dis-moi ce que tu en penses...

A+

Re salut

merci pour le retour du fichier, deux trois courses et je test ça a mon retour

et t'informerai si soucis.

Encore merci

Re curulis57,

Voila j'ai tester et regarder le code pas tout compris mais ca avance, merci pour les commentaires

Pour le programme rien trouver pour le fonctionnement RAS pour l'instant l'utilisation me permettra de voir

si des modifications seront utiles.

Je mets une image "explication dans une bulle" svp et si possible.

Je retourne voir le code, merci avec l'habitude on peut utiliser facilement.

Cdlt Ray

modification

Salut curulis57,

J'ai trouver des exemples de liste déroulante et chercher comment modifier les libellés

des listes déroulantes, donc c'est bon pour moi.

Pour la création d'un bouton de remise a zéro totale de la page, c'est réalisable ou pas ?

Je te souhaite la bonne journée, merci.

Cdlt Ray

Re curulis57,

Je viens de voir que lorsque j'utilise le programme v2 la dernière version.

Quand le programme fonctionne, je n'ai plus accès au menu voir svp photo ci-jointe.

J'ai vu dans le code que tu avais mis deux fois

Cancel=True

J'ai donc mis a la fin de chaque bout de code

Cancel=False

Mais le programme fonctionne plus comme il faut.

J'avais déjà eu le soucis une fois, mais ça n'avais pas résolu le problème a l'époque.

Une solution existe t'elle ???

Merci pour ton aide, bonne après midi a plus tard.

Cdlt Ray

menu

Salut Ray,

je te réponds en soirée...

A+

Re

ok pas de soucis prends le temps qu'il faut.

Cdlt Ray

Salut Ray,

voilà, les Cancel = True, nécessaires aux double-clic et clic-droit pour fonctionner sous macro sont installés de manière à ne pas altérer leur fonctionnement naturel.

La cellule "RESET" est opérationnelle comme souhaité et actionnée via... un double-clic.

  • efface les sauvegardes ;
  • remet les quantités à "0" en 'Liste global' et 'Liste commande'.

A tester... et modifier en fonction de tes souhaits.

A+

Bonjour curulis57,

Merci pour le retour fichier, je viens d'essayer et j'ai bien le menu mais plus rien fonctionne.

J'ai beau cliquer, double cliquer plus rien ne s'affiche.

De même que la colonne K ne s'affiche plus avec les listes déroulantes.

Voila pour le test, je n'ai pas trouver la raison du pourquoi ça ne fonctionne plus

Je te souhaite une agréable et bonne journée.

A plus tard, Cdlt Ray

Salut Ray,

je viens d'essayer : chez moi, ça va et j'ai ajouté quelques tests en plus.

Explique-moi exactement ce que tu essayes, dans quelles circonstances, valeurs diverses en [I:I], [K:K], etc... ?!

A+

Salut curulis57,

Merci de ta réponse, je te mets une copie d'écran.

Donc voila ce qui s'affiche et rien d'autres aucun clic ne m'affiche quoi que ce soit.

et la colonne K reste vide.

L'onglet "Liste commande" est inactif aussi.

Mais j'ai le menu qui fonctionne.

Merci pour ton aide.

Cdlt Ray

soucis 1
Rechercher des sujets similaires à "double clic ameliore"