Besoin d aide recherchev et msgbox
scalaze62
Messages postés
7
Statut
Membre
-
scalaze62 Messages postés 7 Statut Membre -
scalaze62 Messages postés 7 Statut Membre -
Bonsoir,
je réalise une simple feuille de Control de sortie de préparation par code unique
En colonne B produit attendu
En D ma zone de produit préparer
Apres recherche, j ai trouvé un code et je l ai adapté.
SI(NB.SI($D$4:$D$200;B4)>1;"Doublon";SIERREUR(RECHERCHEV(B4;$D$4:$D$200;1;0);"Absent"))
comment mettre alors produit Non attendu en msgbox.
Merci pour votre aide à venir.
https://www.cjoint.com/c/HAdxcoE2XrZ
je réalise une simple feuille de Control de sortie de préparation par code unique
En colonne B produit attendu
En D ma zone de produit préparer
Apres recherche, j ai trouvé un code et je l ai adapté.
SI(NB.SI($D$4:$D$200;B4)>1;"Doublon";SIERREUR(RECHERCHEV(B4;$D$4:$D$200;1;0);"Absent"))
comment mettre alors produit Non attendu en msgbox.
Merci pour votre aide à venir.
https://www.cjoint.com/c/HAdxcoE2XrZ
A voir également:
- Besoin d aide recherchev et msgbox
- Recherchev ne renvoie pas la bonne valeur ✓ - Forum Excel
- Recherchev et rechercheh combiné ✓ - Forum Excel
- Si recherchev ✓ - Forum Excel
- Recherchev contient - Forum Excel
- Si ma cellule contient du texte alors rien sinon recherchev - Forum Excel
4 réponses
Bonsoir
La msgbox ne fonctionne qu'en vba
Votre "si" est une fonction Excel
Il faudrait faire une petite macro à la place
Ou si vous savez faire, vous pouvez créer vous même une fonction spéciale qui sera appelée comme les fonctions standards d'excel
La msgbox ne fonctionne qu'en vba
Votre "si" est une fonction Excel
Il faudrait faire une petite macro à la place
Ou si vous savez faire, vous pouvez créer vous même une fonction spéciale qui sera appelée comme les fonctions standards d'excel
Bonsoir LaStroumfette,
Merci pour votre réponse mais je cherche justement à comment créer en vba ce msgbox
pour faire simple,même si pour moi c est compliqué :
si mon produit en D n'est pas prévu en B alors message box " produit non attendu.
cordialement
Merci pour votre réponse mais je cherche justement à comment créer en vba ce msgbox
pour faire simple,même si pour moi c est compliqué :
si mon produit en D n'est pas prévu en B alors message box " produit non attendu.
cordialement
voilà le code que j'ai fait en vba
j'ai essayé de mettre des commentaires pour que ce soit un peu plus clair
il suffit de rajouter un module dans votre document excel et d'y coller le code ci dessous
ensuite dans le document en lui même, dans une cellule, il suffit d'appeler la fonction comme une fonction normale
voici le lien vers le fichier que j'ai modifié https://www.cjoint.com/c/HAftdE5tXsy
par contre pour le changement de couleur je n'ai pas réussi à trouver comment faire, ça bugge
donc le seul moyen que je vois c'est une mise en forme conditionnelle
j'espère que ça vous aidera
j'ai essayé de mettre des commentaires pour que ce soit un peu plus clair
il suffit de rajouter un module dans votre document excel et d'y coller le code ci dessous
ensuite dans le document en lui même, dans une cellule, il suffit d'appeler la fonction comme une fonction normale
voici le lien vers le fichier que j'ai modifié https://www.cjoint.com/c/HAftdE5tXsy
par contre pour le changement de couleur je n'ai pas réussi à trouver comment faire, ça bugge
donc le seul moyen que je vois c'est une mise en forme conditionnelle
j'espère que ça vous aidera
Function test(Val As Range, ZoneControl As Range) As String
Dim i As Double
Dim TxtVal As String
i = 0 'on initialise i à 0
TxtVal = Val.Value
'correspond à NB.SI($D$4:$D$200;B4)>1;"Doublon"
For Each cell In ZoneControl 'balaye toutes les cellules de la colonne D
If cell.Value = Val.Value Then 'si la valeur de la colonne D est égale à celle qu'on cherche, il incrémente i de 1
i = i + 1
End If
Next cell 'passe à la cellule suivante
'i est égal à 1 donc il existe
If i = 1 Then
test = TxtVal 'il affiche la valeur
trouver comment modifier la couleur à cet endroit
Exit Function
End If
'i est supp à un donc il y a un doublon
If i > 1 Then
MsgBox "Doublon" 'affiche la boite de message
test = "doublon" 'inscrit doublon dans la cellule
Exit Function
End If
'i est égal à 0 donc il n'existe pas dans la liste
If i = 0 Then
MsgBox "Référence non attendue" 'affiche la boite de message
test = "absent" 'inscrit doublon dans la cellule
Exit Function
End If
End Function
scalaze62 - 9 janv. 2018 à 22:53
Bonsoir LaStroumfette,
Merci pour le code, j ai réussi à appeler la fonction comme une fonction normale.
après test il y a quelque bug a savoir les fenêtres d alerte s affiche plusieurs fois et ceux même a l'ouverture du fichier.
j ai l impression que la boucle continu malgré la valeur trouvé
et si cellule vide en B la boucle ne s'arrete pas.
Je joint le fichier sur lequel je travail. https://www.cjoint.com/c/HAjvWK7IP0Z
Cordialement.
Bonsoir LaStroumfette,
Merci pour le code, j ai réussi à appeler la fonction comme une fonction normale.
après test il y a quelque bug a savoir les fenêtres d alerte s affiche plusieurs fois et ceux même a l'ouverture du fichier.
j ai l impression que la boucle continu malgré la valeur trouvé
et si cellule vide en B la boucle ne s'arrete pas.
Je joint le fichier sur lequel je travail. https://www.cjoint.com/c/HAjvWK7IP0Z
Cordialement.