Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Afficher un message d'erreur

french_guy

XLDnaute Nouveau
Bonjour,
Je souhaite afficher un message d'erreur en fonction d'1 test sur 2 cellules
Si D5=0 et D6<>0, alors afficher une fenetre avec un message d'erreur type "Il ne peut pas y avoir de volume si Status=0"
Comment faire? Dois je passer par une macro?
Et surtout comment etendre ce test a toutes les colonnes (de D a S)?

merci
 

Pièces jointes

  • Test.xls
    13.5 KB · Affichages: 86
  • Test.xls
    13.5 KB · Affichages: 87
  • Test.xls
    13.5 KB · Affichages: 89

job75

XLDnaute Barbatruc
Re : Afficher un message d'erreur

Bonjour,

Il faudrait savoir comment D5 et D6 sont renseignées : manuellement ou par formule ?

Si c'est manuellement, utiliser la Validation de données (menu Données) dans ces 2 cellules.

Si c'est par formules, à quel moment, par quel évènement (entrée dans ue cellule ou autre), vous voulez obtenir ce message ?

Edit : pardon je n'avais pas vu le fichier

A+
 
Dernière édition:

Kobaya2

XLDnaute Nouveau
Re : Afficher un message d'erreur

salut French_guy,

une possibilité avec des formules dans le fichier joint.
 

Pièces jointes

  • Test(1).xls
    15 KB · Affichages: 92
  • Test(1).xls
    15 KB · Affichages: 97
  • Test(1).xls
    15 KB · Affichages: 96

french_guy

XLDnaute Nouveau
Re : Afficher un message d'erreur


D5 et D6 seront rempli par une formule, en provenance d'autres cellules
 

job75

XLDnaute Barbatruc
Re : Afficher un message d'erreur

Re, salut Kobaya2, bienvenue sur XLD,

C'est donc par formules... Il va falloir une macro

Mais vous voulez étendre ça à toutes les colonnes...

Pour qu'il n'y ait qu'un seul message (et pas une foultitude), il faut un évènement qui dépende d'une seule colonne. Je n'en vois que 2 :

- Change

- SelectionChange

Toutes 2 concerneront une ou plusieurs cellules dans chaque colonne, lesquelles ?

A+
 

french_guy

XLDnaute Nouveau
Re : Afficher un message d'erreur

Euh....Suis pas sur de bien comprendre la question (totalement novice en macro et VB...)
En fait, j'ai fait un essai avec une macro sur 1 colonne seulement (W) et ca semble marcher pour cette colonne
Voila une copie de la macro en provenance du vrai fichier (le fichier test n'etait qu'un exemple)
Private Sub Worksheet_Calculate()
If Range("W874").Value = 0 And Range("W877").Value <> 0 Then
MsgBox "This press has volume loaded...You can't have that Press inactive, unless you remove the volume "
End If
End Sub

Mais:
1) Je ne sais pas comment etendre cette macro a toutes les autres colonnes (de N a BU dans le vrai fichier)
2) je suis d'accord qu'il y ait un risque d'avoir une foultitude de messages, ce qui n'est pas l'ideal
3) pour info, c'est en Anglais car je suis Francais mais travaille aux USA

D'avance merci pour l'aide
 

french_guy

XLDnaute Nouveau
Re : Afficher un message d'erreur

La colonne D5 (qui est en fait W874 dans le vrai fichier) est la suivante:
='Serv & Trials'!M27 C'est donc la recopie d'une cellule en provenance d'un autre onglet
Et la colonne D6 (qui est en fait W877 dans le vrai fichier) est la suivante:
=SUM(W894,W909,W924,W939,W954,W969,W984,W999,W1014,W1029)
 

job75

XLDnaute Barbatruc
Re : Afficher un message d'erreur

Re,

Vu votre post #7. Je venais de penser aussi à l'évènement Calculate, avec le risque de nombreux messages.

Ce sont maintenant d'autres lignes et d'autres colonnes...

Si vous ne nous donnez pas une copie (allégée, pas besoin de toutes les lignes) du vrai fichier on ne va pas s'en sortir

A+
 

job75

XLDnaute Barbatruc
Re : Afficher un message d'erreur

Re,

En fait je pense que vous avez eu la bonne intuition avec Calculate.

Avant de partir, j'ai pensé à cette macro (pas testée) :

Code:
Private Sub Worksheet_Calculate()
Dim col As Byte
For col = 14 To 73 'colonnes N à BU
If cells(874, col) = 0 And cells(877, col)  <> 0 Then
MsgBox "This press has volume loaded...You can't have that Press inactive, unless you remove the volume "
Exit For
End If
Next
End Sub

Il n'y aura bien qu'un seul message, mais à chaque recalcul de la feuille.

Si OK pas besoin de fichier.

A+
 
Dernière édition:

french_guy

XLDnaute Nouveau
Re : Afficher un message d'erreur

Je viens de faire un essai sur mon fichier allege, et ca l'air de marcher
Super
Je fais les modifs sur le fichier complet en esperant que ca marche tout aussi bien
Merci beaucoup Job75....Je te tiens au courant!!!
 

job75

XLDnaute Barbatruc
Re : Afficher un message d'erreur

Re,

La macro pouvant je pense se déclancher quand une autre feuille est active, il faut impérativement préciser la feuille pour les cellules étudiées, donc corrigez :

Code:
If [COLOR="Red"]Sheets("Feuil1").[/COLOR]cells(874, col) = 0 And [COLOR="Red"]Sheets("Feuil1").[/COLOR]cells(877, col)  <> 0 Then

EDITION : je pensais être sûr de moi et bien c'est faux. Pour la macro Calculate, LA FEUILLE PAR DEFAUT EST CELLE OU SE TROUVE LA MACRO. Donc inutile de préciser la feuille.

A+
 
Dernière édition:

Discussions similaires

Réponses
14
Affichages
916
Réponses
5
Affichages
468
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…