Valeur cellule sous conditions

Résolu/Fermé
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018 - 26 mars 2018 à 16:25
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018 - 28 mars 2018 à 16:43
Bonjour,
je suis bloquée sur une macro.
Je vous mets la sheet excel avec la macro ici :
https://www.cjoint.com/c/HCAoy4ScmEF

J'ai écrit dans le fichier les résultats attendus selon la valeur des cases
Merci beaucoup pour votre aide !

Bonne journée

4 réponses

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é le 28 mars 2018 à 12:01
Bonjour

un peu comme ça ?
Option Explicit
'----------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Taille as string, Genre as string, Test As String
Static Flag As Boolean
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("I117,I118,I139")) Is Nothing Then Exit Sub
'vérif si les 3 cellules sont saisies
If Application.CountA(Range("I117,I118,I139")) < 3 Then Exit Sub

If Flag = False Then
Flag = True 'empeche de reparcourir la procédure _
lors de l'affection dans F142, D43 etd
'TON CODE.....
;.....
.......
Flag = False 'libère le blocage pour une nouvelle action
End If

End Sub

1
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018
28 mars 2018 à 14:08
Ah ca marche parfaitement !! J'ai adapté mon code mais c'est parfait.
Une dernière question :
Je voudrais que lorsqu'on supprime la sélection des cases I117 I118 et I139
Les cases D142 à 146 se mettent à 0
Je ne trouve pas la solution
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
Modifié le 28 mars 2018 à 15:55
Comme d'hab, cellules fusionnées en conflit avec Target.count>1!!!

A l"avenir éviter les cellules fusionnées m^me sans VBA

<code> 'If Target.Count > 1 Then Exit Sub SUPPRIME car cellules I à L fusionnées !!!
    If Intersect(Target, Range("I117,I118,I139")) Is Nothing Then Exit Sub
   'nettoyage si cellules I à L vides
    If Application.CountA(Range("I117,I118,I139")) = 0 Then: Range("D142:D146").ClearContents
    'vérif si les 3 cellules sont saisies
    If Application.CountA(Range("I117,I118,I139")) < 3 Then Exit Sub


1
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018
28 mars 2018 à 16:43
Parfait ! Un grand merci !!!
0
M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299
Modifié le 26 mars 2018 à 18:32
Bonjour

place
Application.EnableEvents = False ---> en début de macro

et

Application.EnableEvents = True --- avant le END SUB
0
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018
28 mars 2018 à 11:30
Merci mais ca ne fonctionne toujours pas :(
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
27 mars 2018 à 09:22
Bonjour

quelle(s) cellule(s) déclenchent la macro

par ex : if not intersect(target, range("la zone de déclenchement")) is nothing then.....

actuellement tu déclenches dès que tu effectues une saisie n'importe où dans la feuille . elle se déclenche 2 fois pour rien (I117, I118, I139)

A mon avis, avec plusieurs saisies de départ, worksheet_change ne semble pas adapté
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
27 mars 2018 à 10:30
Ou alors, écris au départ une instruction qui vérifie que les 3 cellules 117, 118, 139 ne sont toutes pas vides
0
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018
28 mars 2018 à 11:23
Bonjour
merci mais en écrivant quoi du coup ?
0
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018
28 mars 2018 à 11:30
C'est quand il y a une selection faite dans I117, I118 et I139 qu'elle doit se déclencher, puis s'il y a modification de ces valeurs
0