Valeur de Cellule sous deux conditions
Résolu/Fermé
Tuline
Messages postés
55
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
16 novembre 2018
-
11 oct. 2017 à 16:14
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018 - 13 oct. 2017 à 16:49
Tuline Messages postés 55 Date d'inscription mardi 18 mars 2014 Statut Membre Dernière intervention 16 novembre 2018 - 13 oct. 2017 à 16:49
A voir également:
- Valeur de Cellule sous deux conditions
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Concatener deux cellules excel - Guide
- Verrouiller cellule excel - Guide
- Deux ecran pc - Guide
4 réponses
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
11 oct. 2017 à 17:38
11 oct. 2017 à 17:38
Bonjour
If Worksheets("SPEC").Range("B" & i) = 1 And Worksheets("SPEC").Range("C" & i) = 0 Then
Essaie de mettre "" au lieu de 0 dans la deuxième condition
Si ça ne marche pas, envoies un bout de ton fichier ,sur cjoint.com et joins le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
De plus
1. Worksheets("PACKING").Activate
n'est pas utile
2. l'instruction en début de code
With Worksheets("SPEC")
te permet de simplifier
If .Range("B" & i) = 1 And .Range("C" & i) = "" Then ....
Cdlmnt
If Worksheets("SPEC").Range("B" & i) = 1 And Worksheets("SPEC").Range("C" & i) = 0 Then
Essaie de mettre "" au lieu de 0 dans la deuxième condition
Si ça ne marche pas, envoies un bout de ton fichier ,sur cjoint.com et joins le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".
De plus
1. Worksheets("PACKING").Activate
n'est pas utile
2. l'instruction en début de code
With Worksheets("SPEC")
te permet de simplifier
If .Range("B" & i) = 1 And .Range("C" & i) = "" Then ....
Cdlmnt
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
Modifié le 11 oct. 2017 à 18:24
Modifié le 11 oct. 2017 à 18:24
Ton code doit réagir au changement dans la cellule D16 > procedure évènementielle
Private Sub Worksheet_Change(ByVal Target As Range)
http://www.cjoint.com/c/GJlqxS7yddB
N'oublies pas d'enregistrer ton fichier avec l'extension .xlsm (Fichier/Enregistrer sous/type ...)
Cdlmnt
Lien modifié à 18h24
Private Sub Worksheet_Change(ByVal Target As Range)
http://www.cjoint.com/c/GJlqxS7yddB
N'oublies pas d'enregistrer ton fichier avec l'extension .xlsm (Fichier/Enregistrer sous/type ...)
Cdlmnt
Lien modifié à 18h24
Tuline
Messages postés
55
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
16 novembre 2018
12 oct. 2017 à 09:28
12 oct. 2017 à 09:28
Super !! C'est top !! Merci beaucoup !
Est on obligé de passer par la liste de sélection pour la case D16 ?
A la base cette case est remplie en copiant la valeur depuis un autre onglet.
Merci !
Est on obligé de passer par la liste de sélection pour la case D16 ?
A la base cette case est remplie en copiant la valeur depuis un autre onglet.
Merci !
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
12 oct. 2017 à 13:49
12 oct. 2017 à 13:49
Est on obligé de passer par la liste de sélection pour la case D16 ?
Non, j'ai mis une liste de validation pour être sûr de l'orthographe.
Cdlmnt
Non, j'ai mis une liste de validation pour être sûr de l'orthographe.
Cdlmnt
Tuline
Messages postés
55
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
16 novembre 2018
12 oct. 2017 à 15:28
12 oct. 2017 à 15:28
Mais quand je supprime la liste, ca ne fonctionne plus. Même avec la bonne orthographe
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
12 oct. 2017 à 17:54
12 oct. 2017 à 17:54
Si, ça fonctionne, mais il faut que la donnée en D16 soit écrite exactement comme celle qui est en feuille SPEC (accents, espaces, etc ...), sinon ça ne fonctionne effectivement pas.
Donc, vois comment les données sont écrites dans cet autre onglet"A la base cette case est remplie en copiant la valeur depuis un autre onglet"
http://www.cjoint.com/c/GJmpZ3gsVLB
Cdlmnt
Donc, vois comment les données sont écrites dans cet autre onglet"A la base cette case est remplie en copiant la valeur depuis un autre onglet"
http://www.cjoint.com/c/GJmpZ3gsVLB
Cdlmnt
Tuline
Messages postés
55
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
16 novembre 2018
13 oct. 2017 à 16:27
13 oct. 2017 à 16:27
Bonjour,
Ok j'ai compris la différence.
En fait j'ai créé une case Jaune, dans laquelle on peut sélectionner le pays sur la base de données en onglet SPEC
Et la case D16 vient reprendre la valeur de la case jaune.
Du coup cela ne fonctionne plus. Pourtant le pays est du coup écrit exactement de la même manière.
Une idée ?
Je vous mets le fichier modifié
https://www.cjoint.com/c/GJnoz5WP3zF
D'avance merci
Cordialement
Ok j'ai compris la différence.
En fait j'ai créé une case Jaune, dans laquelle on peut sélectionner le pays sur la base de données en onglet SPEC
Et la case D16 vient reprendre la valeur de la case jaune.
Du coup cela ne fonctionne plus. Pourtant le pays est du coup écrit exactement de la même manière.
Une idée ?
Je vous mets le fichier modifié
https://www.cjoint.com/c/GJnoz5WP3zF
D'avance merci
Cordialement
ccm81
Messages postés
10904
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 décembre 2024
2 428
13 oct. 2017 à 16:34
13 oct. 2017 à 16:34
En fait j'ai créé une case Jaune, dans laquelle on peut sélectionner le pays sur la base de données en onglet SPEC
du coup, c'est C12 qui change de valeur et non D16, donc il te faut modifier l'adresse de celCountry dans la macro
Const celCountry As String = "C12"
Question quend même. Pourquoi faire une liste déroulante en C12 plutot que directement en D16, mais, bon, c'est toi qui voit
Cdlmnt
du coup, c'est C12 qui change de valeur et non D16, donc il te faut modifier l'adresse de celCountry dans la macro
Const celCountry As String = "C12"
Question quend même. Pourquoi faire une liste déroulante en C12 plutot que directement en D16, mais, bon, c'est toi qui voit
Cdlmnt
Tuline
Messages postés
55
Date d'inscription
mardi 18 mars 2014
Statut
Membre
Dernière intervention
16 novembre 2018
13 oct. 2017 à 16:49
13 oct. 2017 à 16:49
Parce que mon fichier est bien plus conséquent et contient notamment un onglet "ADMIN" dans lequel en case C3 nous sélectionnons le pays une fois pour tout le fichier (donnée nécessaire à plusieurs onglets et en plusieurs endroits)
Donc c'est pour éviter d'avoir à sélectionner la donnée une nouvelle fois
J'ai donc modifié sur vos conseils et déplacer la macro dans la worksheets "ADMIN"
Tout est good
un immense merci pour votre précieuse aide !
Donc c'est pour éviter d'avoir à sélectionner la donnée une nouvelle fois
J'ai donc modifié sur vos conseils et déplacer la macro dans la worksheets "ADMIN"
Tout est good
un immense merci pour votre précieuse aide !
11 oct. 2017 à 17:52
Merci pour ton aide.
J'ai essayé la modif mais tjrs pas
Voici le fichier :)
https://www.cjoint.com/c/GJlpZhedeSF
Bien à toi