Relation test logique et valeur vrai

Résolu/Fermé
KIF45 Messages postés 12 Date d'inscription jeudi 15 mars 2018 Statut Membre Dernière intervention 17 mars 2018 - 15 mars 2018 à 19:11
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 - 27 mars 2018 à 20:36
Bonjour à tous,
J'ai besoin d'un coup de pousse pour la problématique suivante :
j'ai deux colonnes:
Une qui se nomme "présence" avec comme critère "0" ou "1"
L'autre qui se nomme "date"
J'aimerai pouvoir faire apparaître automatiquement dans les cellules de la colonne "date", la date du jour de saisie quand j'écris la valeur "0" dans la colonne "présence".
Have you got a idea please???
Merci d'avance ....
A voir également:

10 réponses

via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
15 mars 2018 à 19:25
Bonjour KIH45

Par formule (avec AUJOURDHUI par ex) c'est possible mais la date ne sera pas fixée et changera le jour suivant
Il faut passer par une macro
Exemple de macro pour inscrire la date en col E si 0 entré en colonne D
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 And Target.Value = 0 Then 'si entrée dans colonne D et entrée de 0
Range("E" & Target.Row) = Date 'met la date du jour en col E
End If
End Sub

Macro à mettre dans le worksheet de la feuille concernée (ALT+F11 pour ouvrir éditeur VBA - double clic sur la feuille concernée dans l’arborescence et copier-coller de la macro dans la page blanche - fermer l'éditeur)

Cdlmnt
Via
0
KIF45 Messages postés 12 Date d'inscription jeudi 15 mars 2018 Statut Membre Dernière intervention 17 mars 2018
15 mars 2018 à 19:47
Merci bcp Via55,
Je m'en doutais un peu après avoir tenter et tenter...Tu as bien cerné le pb en tout cas...j'aimerai que la date de saisie reste fixe à partir du jour de la saisie "0"...La macro ça fait peur (pour moi en tout cas) mais merci infiniment pour le protocole macro...Très sympa de ta part...L'informatique c'est satanique (pour les novices)...Mais faut être solide...Je m'y mets !!!!
0
J'ai essayé de copier coller la macro dans le worksheet de la page concernée. ..mais rien ne se passe dans la colonne F qd je tape 0 dans la colonne C.... j'ai bien modifié les noms de colonnes dans ta macro ????
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
Modifié le 16 mars 2018 à 16:43
Bonjour Kif45

1) Tu as bien mis la macro dans une page de l'éditeur VBA ?
2) Ta macro modifiée pour correspondre aux colonnes d'entrée C et de sortie F doit correspondra à cela , est ce bien le cas ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Value = 0 Then 'si entrée dans colonne c et entrée de 0
Range("F" & Target.Row) = Date 'met la date du jour en col F
End If
End Sub

Si malgré tout rien ne fonctionne poste un exemple de ton fichier avec sa macro sur mon-partage.fr, fais créer un lien que tu copies et reviens coller ici, je regarderai ça

0
REF_EQUIP DESC_EQUIP PRESENCE STATUT MOTIF DATE
2102 Conteneur 1500L 1 En service
2103 Conteneur 1500L 1 En service
2104 Conteneur 1500L 1 En service
2105 Conteneur 1500L 1 En service
2106 Conteneur 1500L 1 En service
Total conteneurs 5
Total pourcentage 100

Voila mon type de fichier excel : pour le moment tous les conteneurs ont une présence de "1" en colonne "C" et donc si un jour pour une raison ou une autre l'un d'entre eux passe en présence "0" il a alors un statut "En réparation" en colonne "D" et j'aimerai aussi que la date du jour de cette saisie "0" s'incrémente automatiquement dans la colonne date "F"....Bon! je viens d'essayer la copie de ta nouvelle macro et EUREKA ça marche...Mai mais mais...parce que je suis un peu chiant...La réparation du conteneur va durer un certain temps...Et quand je repasse à "1" dans la colonne présence "C" la date inscrite dans la colonne date "F" ,avec ta macro, reste présente et égale à celle du jour de présence "0"...Admettons qu'on la garde dans la colonne "F" pour avoir une "date de début" de réparation...Peut on avoir une 2ème colonne intitulée "date de fin" en "G" qui incrémente automatiquement la date du jour de saisie "1" en colonne présence "C"...Suis je clair???...En gros peut on avoir 2 macro sur une même feuille..."0" en "C"= "date du jour" en "F" et "1" en "C"= "date du jour" en "G"........Si tu es inspiré, je suis preneur !!!!
Et encore un gros big up pour ton assistance !!!
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
16 mars 2018 à 19:47
Re

Oui c'est possible
En ce cas modifie ainsi la macro :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 
If Target.Value = 0 Then Range("F" & Target.Row) = Date 
If Target.Value = 1 Then Range("G" & Target.Row) = Date 
End If
End Sub


Cdlmnt
Via
0
KIF45 Messages postés 12 Date d'inscription jeudi 15 mars 2018 Statut Membre Dernière intervention 17 mars 2018
17 mars 2018 à 11:11
Slt Via55

https://mon-partage.fr/f/1NDgds5f/

C'est mon fichier avec ta dernière macro...Il y a un pti bug quand je saisie "0" ou "1" dans la colonne "présence"...Je te laisse tester par toi même (ex de message : erreur de compilation, erreur de syntaxe et qd tu veux fermer la feuille de macro = cette commande va arrêter le débogueur)....Tu peux prendre la feuille excel "C.2650l,2000l) la seule avec une colonne "F" date début et une autre colonne date fin "G".....
0
KIF45 Messages postés 12 Date d'inscription jeudi 15 mars 2018 Statut Membre Dernière intervention 17 mars 2018
17 mars 2018 à 11:12
Et merci bien évidemment !!!
0
KIF45 Messages postés 12 Date d'inscription jeudi 15 mars 2018 Statut Membre Dernière intervention 17 mars 2018
17 mars 2018 à 13:02
https://mon-partage.fr/f/ZUJaaOzs/

Voici le fichier réactualisé...Si tu veux faire des essais, ne tiens pas compte des tableaux en rouge...J'ai mis une fonction DATEDIF dans la nouvelle colonne "H" =Délai Intervention pour faire la différence entre les deux dates (début et fin) colonnes "F et G" (date du jour de saisie "0" en "C" ou saisie "1" en "C" pour la fin de réparation et donc de nouveau en service)...J'ai enlevé ta macro précédente car en modifiant ma liste déroulante elle me faisait des bugs cités ci-dessus dans message précédent...J'espère que tu auras une solution...Merci Via55
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
17 mars 2018 à 11:17
Re,

Désolé l'erreur vient de moi, il manque un then à la fin de la 1ere ligne de la macro
Rectifie la ainsi et tout ira bien
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then
If Target.Value = 0 Then Range("F" & Target.Row) = Date 
If Target.Value = 1 Then Range("G" & Target.Row) = Date 
End If
End Sub

Cdlmnt
Via
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
17 mars 2018 à 13:22
Re

Ton fichier en retour
https://mon-partage.fr/f/KOXJBAzt/

J'ai réintégré la macro corrigée et modifié ta formule DATEDIF pour gérer l'erreur lorsqu'il a une date de début et pas de date de fin (affichage de blanc en ce cas au lieu du message d'erreur)

Cdlmnt
Via
0
KIF45 Messages postés 12 Date d'inscription jeudi 15 mars 2018 Statut Membre Dernière intervention 17 mars 2018
17 mars 2018 à 16:54
Ben di don Via55 "CHAMPION DU MONDE"....Macro copiée sur toutes les feuilles, formules DATE copiée sur toutes les plages....et oh miracle ça marche!!! Bon j'ai du m'y reprendre à plusieurs fois car le fichier d'origine a été crée sur excel 2003 et perd des fonctions lors de l'enregistrement(et oui tu lis bien...2003...J'ai demandé la version 2010 au boulot pour enfin pouvoir travailler presque correctement)...Je suis en Master RPII en contrat pro et les stagiaires (même si j'ai 47ans) n'ont pas forcement le beau rôle...Bref quand tu penses que l'année dernière encore je mesurais les tableaux excel avec un double décimètre sur l'écran quand la prof disait (votre tableau doit faire 20cm.....oui oui je t'autorise à te fendre la gueule) et bien je continue de progresser...Mais la macro ce n'est pas pour bientôt...Merci encore pour tout Via55 !!!
Sinon, si tu as encore un peu de temps libre...j'aurai 2 autres énigmes à te soumettre toujours sur le même fichier....Dis moi si tu es open !!!
0

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

Posez votre question
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
Modifié le 17 mars 2018 à 17:23
Re,

Champion du monde faut pas abuser ☺
Bravo pour ta persévérance en tout cas
Et bien sûr soumet moi tes énigmes, j'essayerai de les résoudre avec plaisir si c'est dans mes cordes

0
Cool...le jeu continue...Si je suis persévérant...Toi tu aimes les challenges...Bon! trêve de compliments et voici la problématique...Pour essayer de fournir au responsables de service un fichier excel digne de ce nom j'aimerai y mettre les choses suivantes :
https://mon-partage.fr/f/VqJ5eOEr/
Dans mes colonnes MOTIF j'ai une liste déroulante sur les 3 feuilles....Mais j'aimerai pouvoir mettre dans la même cellule des motifs différents(ex: vanne, soudure et pattes), j'ai essayé de voir sur des vidéos mais ça m'a l'air assez complexe...De plus (et c'est la 2ème énigme!!!) j'aimerai, que dans la feuille SYNTHÈSE on puisse à chaque fois qu'on sélectionne un motif ou plusieurs dans les colonnes MOTIF des différents conteneurs, ils se comptabilisent au fur et à mesure dans les colonnes respectives de la feuille synthèse(Nbre motifs 2650l ou 1300l ou 900l etc....ex : si je saisis soudure et étriers dans une cellule de réf_equip 2650l et ensuite soudure dans une autre cellule réf_equip 2650l je voudrai voir 1 + 1 donc 2 dans la cellule soudure de la colonne "Nbre motifs 2650l" de la feuille synthèse ainsi que 1 dans la cellule étriers de la colonne Nbre motifs 2650l...Vois tu ce que je veux te dire?...On passe un cap là non ???
0
https://mon-partage.fr/f/VqJ5eOEr/
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
17 mars 2018 à 21:49
re,

Effectivement un peu plus complexe, mais on va relever le challenge !
Il faut passer par une macro (et plus une liste de choix) pour pouvoir une sélection multiple possible et ensuite renvoyer les choix faits dans la cellule
La totalisation dans Synthèse elle n''est qu'une affaire de formules
Explications dans le fichier
https://mon-partage.fr/f/e04LDEjh/

Cdlmnt
Via
0
Oups...Je crois bien que mon double décimètre est définitivement obsolète...Bon ben la nuit porte conseil...Et dire que tu m'as pondu ça entre quoi le dessert et le digesto....Pffffff scotché !!!!! Merci mec !!! Je te redis demain...
0
Slt Via55!
Bon j'essaie de débobiner le trésor !
Alors quand je fais ALT F11 - Arborescence VBA - useform - propriété je ne vois pas les 2 lignes Multiselect et Rowsource...Dois je les écrire moi même???
Sinon les motifs "Vanne et Soudure" de la colonne "C2650l,2000l" de la feuille2 se comptabilisent bien automatiquement dans la colonne "Nbre motif 2650l", en revanche les motifs "Couvercle,Pattes,Etriers,Oreilles et Instable" ne varient pas dans leur cellule respective de la colonne "Nbre motis 2650l"dans la feuille synthèse quand je les ajoute à partir du Useform choix multiple de la colonne motif feuille "C2650l,2000l)....(voir ex avec les nouvelles entrées de motifs feuille "C2650l,2000l" dans le lien partagé)...
Dans la feuille synthèse quand clic dans la cellule B2 la formule s'affiche et tu as bloqué la cellule $A2 ...OK...et les plages sélectionnées E2:E94 et B2:B94...OK...Mais quand clic en B3 dans la formule on a $A3...OK...mais les plages deviennent E3:E95 et B3:B95...et là je ne comprends pas pourquoi on a plus les plages E2:E94 et B2:B94....
Sinon, encore et je m'excuse de mon incompréhension, je ne pige pas cette phrase ("Les * remplacent le texte pouvant se trouver avant ou après le mot cherché")...
Dernière petite question : Si je suis amené à supprimer des références de conteneurs (parce que plus utilisables) donc des lignes en moins, est ce que je plante toute la macro et les plages de formules ???
Mon imagination sans ton savoir...n'a plus rien à voir !!!
0
https://mon-partage.fr/f/39PByuv4/
0
Slt Via55!
Bon j'essaie de débobiner le trésor !
Alors quand je fais ALT F11 - Arborescence VBA - useform - propriété je ne vois pas les 2 lignes Multiselect et Rowsource...Dois je les écrire moi même???
Sinon les motifs "Vanne et Soudure" de la colonne "C2650l,2000l" de la feuille2 se comptabilisent bien automatiquement dans la colonne "Nbre motif 2650l", en revanche les motifs "Couvercle,Pattes,Etriers,Oreilles et Instable" ne varient pas dans leur cellule respective de la colonne "Nbre motis 2650l"dans la feuille synthèse quand je les ajoute à partir du Useform choix multiple de la colonne motif feuille "C2650l,2000l)....(voir ex avec les nouvelles entrées de motifs feuille "C2650l,2000l" dans le lien partagé)...
Dans la feuille synthèse quand clic dans la cellule B2 la formule s'affiche et tu as bloqué la cellule $A2 ...OK...et les plages sélectionnées E2:E94 et B2:B94...OK...Mais quand clic en B3 dans la formule on a $A3...OK...mais les plages deviennent E3:E95 et B3:B95...et là je ne comprends pas pourquoi on a plus les plages E2:E94 et B2:B94....
Sinon, encore et je m'excuse de mon incompréhension, je ne pige pas cette phrase ("Les * remplacent le texte pouvant se trouver avant ou après le mot cherché")...
Dernière petite question : Si je suis amené à supprimer des références de conteneurs (parce que plus utilisables) donc des lignes en moins, est ce que je plante toute la macro et les plages de formules ???
Mon imagination sans ton savoir...n'a plus rien à voir !!!
https://mon-partage.fr/f/39PByuv4/
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
Modifié le 18 mars 2018 à 15:53
Bonjour Kif4

J'ai été un peu rapide dans mes explications, je reprends :

1) Quand tu double-clic sur Userform1 dans l'arborescence de l’éditeur l'userform s'affiche à droite pour modifications et en principe la fenêtre Propriétés s'affiche en dessous de l'arborescence à gauche. Si elle n'est pas affichée tu clic droit dans l'UF à droite et Propriétés
Les Propriétés qui s'affichent sont celles de l'UF et ce qu'on veut ce sont les Propriétés de la liste de choix, alors tu clic gauche dans le blanc de la liste dans l'UF et ses Propriétés doivent s'afficher à gauche identiques à la copie d'écran que j'en ai faite et que j'ai mis en image dans la feuille du fichier pour te montrer
Dans cette image j'ai mis en jaune les 2 lignes importantes que j'avais remplies, tu n'as donc rien à faire
sauf si tu modifiais la longueur de la liste des motifs dans l'onglet Synthèse il faudrait modifier le Rowsource des Propriétés de la Listbox en conséquence (pour l'instant j'ai mis dans RowSource Synthèse!A2:A8)

2) Les motifs des lignes 2 à 6 de la feuille C2650l,2000l ne sont pas comptabilisés car concernent Atelier FS et non Conteneur 2650L, c'est normal
Par contre tu as parfaitement raison j'ai fais une grosse erreur j'ai oublié de bloquer les références des plages avec des $, la bonne formule est
=SOMMEPROD((NON(ESTERREUR(TROUVE($A2;'C.2650l,2000l'!$E$2:$E$94))))*('C.2650l,2000l'!$B$2:$B$94="Conteneur 2650L"))

Par contre si tu veux simplement comptabiliser les motifs sans tenir compte de ce qu'il y a en colonne B tu peux employer une formule plus simple :
=NB.SI('C.2650l,2000l'!$E$2:$E$94;"*"&$A2&"*")

3) Pour les *, comme dans la formule ci-dessus ils servent à indiquer à Excel que le mot cherché (Vanne par ex) peut être précédé ou suivi d'autre chose
=NB.SI('C.2650l,2000l'!$E$2:$E$94;"Vanne") ne compte que les cellules contenant uniquement Vanne
=NB.SI('C.2650l,2000l'!$E$2:$E$94;"Vanne*") compte les cellules commençant par Vanne avec rien ou autre chose après
=NB.SI('C.2650l,2000l'!$E$2:$E$94;"*Vanne") compte les cellules se terminant par Vanne avec quelque chose ou rien avant
=NB.SI('C.2650l,2000l'!$E$2:$E$94;"*Vanne*") compte les cellules contenant Vanne (Vanne seul ou non)

Puisque le mot recherché est variable en fonction de celui indiqué en colonne A on fait une concaténation
  • "&$A2&"*" qui retournera pour Excel d'abord *Vanne* puis *Couvercle* etc


4) Si tu supprimes des lignes dans les feuilles, par exemple que ton tableau ne descende que jusqu'à 80 au lieu de 94 ce n'est pas grave la formule trouvera les résultats
par contre si tu rajoute des lignes, par exemple si tu fais aller ton tableau jusqu'à la ligne 100 il faudra modifier les formules pour indiquer les plages $E$2:$E$100 et $B$2:$B$100)

5) Indiquer de manière précise les plages permet de limiter les calculs (et donc le temps de traitement) et est obligatoire avec la fonction SOMMEPROD
Par contre avec des tableaux pas longs comme les tiens et dans les formules NB.SI, NB.SI.ENS etc tu peux mettre la colonne entière, donc si tu supprimes ou ajoutes des lignes ça n'a pas d'importance, ainsi tu peux parfaitement écrire :
=NB.SI('C.2650l,2000l'!$E:$E;"*"&$A2&"*")

Mais comme apparemment tu dois avoir plusieurs équipements par feuille comme dans la 3eme feuille avec Conteneur 900, 600 et 300 il faut :
- soit utiliser SOMMEPROD (ou NB.SI.ENS après 2007) sur toute la plage de la colonne(tu peux même par sécurité dépasser la hauteur du tableau en prévision de lignes à rajouter et mettre $E$2:$E$120 par ex) pour dénombrer en fonction de l'équipement en colonne B (en ce cas pas de modifs à faire si ajout ou suppression de lignes)
- soit utiliser chaque fois un NB.SI avec indication de la plage précise concernant tel type d'équipement, par ex
=NB.SI('C.900,600,300l'!$E$2:$E$34;"*"&$A2&"*") pour les conteneurs 900L (en ce cas formule plus simple mais qu'il faut modifier à chaque fois que tu ajoutes ou supprimes des lignes pour avoir la bonne plage)

Voilà, en espérant avoir été plus clair ☺
A ta disposition si tu as d'autres interrogations
Bonne fin de WE

0
T'es un chef, je viens de rentrer ...Je regarde ça demain en espérant que je vais piger...Mais on dirait que je progresse un peu hein??? En tout cas avec de telles explications je ne peux que progresser...Encore merci...t'assures !!!
0
Slt Via55
J'espère que tu vas bien!!!
J'en suis à 3 plantages avant de pouvoir t'envoyer le mess...Zen soyons zen!!!
J'ai enfin office 2010 au taf...
0
J'ai essayé ta formule de comptage motif dans feuille de synthèse mais sans succès... J'ai peut être fait une erreur...aperçu dans cellule "B2" feuille de synthèse...
0
J'ai changé le nom des feuilles car plus besoin de C.2000l,1600l,1500l...en espérant que ça n'a pas effacer ta macro dans le fichier...
0
Dernier point et pas des moindres... Dans les cellules des colonnes "Nbre de motifs" de la feuille de synthèse...Les valeurs additionnées s'annulent quand je repasse en "1" et que je supprime les "date de fin et début" (car la réparation est résolue) dans les colonnes motifs des différents feuilles... J'aimerai, si tu peux le faire, garder les précédents comptes et ajouter les nouveaux motifs (ex : phase 1
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
20 mars 2018 à 19:28
Bonjour Kif45

Ca va merci, toi aussi je pense

Je regarderai tout ça dès que possible d'ici la fin de semaine mais il faut que tu me renvoies ton nouveau fichier, car là je ne peux pas voir ce que tu as fait dans B2 !
0
https://mon-partage.fr/f/iSZnlVp8/

Oui ça va même si le site CCM commence à me faire péter un cable...Bref je m'étale !!! Voici comme demander le nouveau fichier... A la prochaine !!!
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
20 mars 2018 à 21:14
Re,

Ton fichier en retour https://mon-partage.fr/f/jjrUGiX5/

Dans ta formule ça ne fonctionnait pas car tu mettait "Vanne" & "A2 & "Vanne" au lieu de "*"&A2&"*" donc au lieu de chercher Vanne au milieu d'une chaine de texte Excel cherchait VanneVanneVanne !!

Quoi qu'il en soit plus besoin de formules comme je l'explique dans le fichier puisque comme il faut additionner les motifs au fur et à mesure cela ne peut se faire que par macro

Cdlmnt

Via
0
Slt via
Pas d'alerte d'arrivée sur ton message. ..donc j'en prends connaissance à l'instant. ..jsuis au taf .je Regarde ça ce soir... encore merci pour le temps que tu m'as consacré. ..a+
0
Oups je n'ai plus la liste choix multiple du useform qui s'affiche quand je double clic dans une cellule de la colonne motif...ni la date automatique du jour quand je tape 0 ou 1 dans une cellule de la colonne état. ...
0
https://mon-partage.fr/f/J3QwHBVZ/
SLT via 55 ... Oups je n'ai plus la liste choix multiple du useform qui s'affiche quand je double clic dans une cellule de la colonne motif...ni la date automatique du jour quand je tape 0 ou 1 dans une cellule de la colonne état. ... Si tu as 5mn sinon laisse tomber c'est pas grave !!!
0
via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
27 mars 2018 à 20:36
Bonsoir KIF

Je n'avais pas vu ton message d'hier

Pour la liste de choix c'est normal car il n'y plus la macro Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) dans chacune des feuilles !
Tu as du reprendre un ancien fichier et pas celui que je t'ai renvoyé dans mon message 31
Reprends les macros de ce fichier et tout ira bien ☺
Pour la date automatique ça fonctionne apparemment (chez moi du moins)

Tiens moi au courant
0