[RESOLU] MsgBox avec condition sur 2 colonnes

  • Initiateur de la discussion Initiateur de la discussion Kim75
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Kim75

XLDnaute Occasionnel
Bonjour le forum,

Avec ma tête engourdie je bloque sur cette macro :
Je voulais juste afficher un message d’alerte au cas où :
- Une cellule dans la colonne H égale à « X » est trouvée
Et que parallèlement à la même ligne dans la colonne I
- La valeur est différente de « Réunion » ou de « Passage »
Ce serait sympa si quelqu'un pouvait corriger cette bêtise 🙁

Cordialement, Kim.
 

Pièces jointes

Dernière édition:
Re : MsgBox avec condition sur 2 colonnes

Bonjour,

ceci peut être :


Code:
Sub Macro_1()
Dim ws As Worksheet, c As Range
Set ws = Sheets("BD")
For Each c In Range(ws.[H2], ws.[H65000].End(xlUp)) ' H65000
    If c = "X" And (c.Offset(, 1) <> "Passage" Or c.Offset(, 1) <> "Reunion") Then
        MsgBox "Dans l'onglet BD, des bureux inaffectés sont mal renseignés," & _
        vbCrLf & vbCrLf & "Merci de renseigner la colonne I de la valeur Passage ou Réunion !", vbOKOnly + vbExclamation, "  Attention !": Exit Sub ' Exit si trouvé
    End If
Next c
End Sub
 
Re : MsgBox avec condition sur 2 colonnes

Pilou,

Ta macro ne fonctionne pas, alors que je n'y rien modifié,
J'ai modifié juste les données dans la colonne I, et fait en sorte qu'elles soient conformes
C'est à dire qu'à côté des valeurs "X", en colonne I, il n'y ait que des valeurs "Réunion" ou Passage"
Dans ce cas là, l'alerte ne devrait pas s'afficher, car les données sont conformes par définition

Par ailleurs ne marche pas aussi cette macro qui affiche la valeur 8 au lieu de 0 dans ce fichier

Code:
MsgBox Application.CountIfs(ws.[H:H], "X", ws.[I:I], "<>" & "Réunion") + Application.CountIfs(ws.[H:H], "X", ws.[I:I], "<>" & "Passage")

Kim.
 

Pièces jointes

Dernière édition:
Re : [Resolu] MsgBox avec condition sur 2 colonnes

Tiens pilou

Voici le fichier avec le code que tu proposes et qui ne marche pas
Mais bon j'ai finalement pu le faire marcher avec la fonction :
Code:
Application.CountIfs(ws.[H:H], "X", ws.[I:I], "<>" & "Réunion", ws.[I:I], "<>" & "Passage")

Merci à tous, Kim.
 

Pièces jointes

Re : [RESOLU] MsgBox avec condition sur 2 colonnes

Re,

autre test...essaye de ton côté 🙂

Sub Macro_1()
Dim ws As Worksheet, c As Range
Set ws = Sheets("BD")
For Each c In Range(ws.[H2], ws.[H65000].End(xlUp)) 'H65000 et pas G65000
If c = "X" And (c.Offset(, 1) <> "Passage" Or c.Offset(, 1) <> "Réunion") Then
MsgBox "Dans l'onglet BD, des bureux inaffectés sont mal renseignés," & _
vbCrLf & vbCrLf & "Merci de renseigner la colonne I de la valeur Passage ou Réunion !", vbOKOnly + vbExclamation, " Attention !": Exit Sub
End If
Next c
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
702
Réponses
3
Affichages
941
Retour