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

IF VBA plage de cellules

rem13

XLDnaute Nouveau
Bonjour,

J'aimerais appliquer cette programmation sur plusieurs cellules de la ligne 7 colonne 3 jusqu'à la ligne 19 colonne 3 et pareilles pour la colonne 4 mais comment faire pour eviter de copier coller la formule qui marche actuellement, 19 fois... ?

En sachant que cette formule doit marcher pour chaque ligne..

If Cells(7, 3).Value = "Applicable" And Cells(7, 4).Value = "" Then
MsgBox ("Il manque une réponse"), vbCritical

Merci d'avance.
 

job75

XLDnaute Barbatruc
Bonjour rem13,

A placer dans le code de la feuillle (clic droit sur l'onglet et Visualiser le code) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In [C7:C19]
If c = "Applicable" And c(1, 2) = "" Then MsgBox "Il manque une réponse", vbCritical: c(1, 2).Select: Exit Sub
Next
End Sub
La macro s'exécute quand on modifie ou valide une cellule quelconque.

A+
 

rem13

XLDnaute Nouveau
J'ai du mal m'exprimer,

enfaite c'est lors du clic sur un bouton que le code doit vérifier si les cellules "applicables" en (c3 : c19) et que les cellules (d3:d19) sont pas vides alors ça valide et je passe à une autre feuille, sinon message d'erreur car il manque une cellule pas remplies.

Voila le fichier

merci d'avance.
 

Pièces jointes

  • exemple.xlsm
    28.1 KB · Affichages: 12

job75

XLDnaute Barbatruc
Code:
Private Sub CommandButton2_Click()
Dim c As Range, flag As Boolean
For Each c In [C7:C19]
If c = "Applicable" And c(1, 2) = "" Then MsgBox "Il manque une réponse en " & c(1, 2).Address(0, 0), vbCritical: flag = True
Next
If flag Then Exit Sub
'---suite du code---
End Sub
 

rem13

XLDnaute Nouveau
Le code ne marche pas.., j'ai rajouté à la fin Sheets("feuille").activate, et à chaque fois ça m'envoie vers cette feuille même si j'ai des cellules qui sont applicables en colonne C et vide en colonne D
 

rem13

XLDnaute Nouveau
Une dernière question : pensez-vous que c'est possible de faire la même macro avec le même tableau mais qui aurait des filtres, voici un exemple ci-dessous, j'aimerai appliquer votre code uniquement sur le thème choisis au préalable et pas sur la totalité du tableau.

merci d'avance.

Ci-joint le fichier avec l'expliquation sur excel.

Cordialement.
 

Pièces jointes

  • exemple(1).xlsm
    33.7 KB · Affichages: 7

job75

XLDnaute Barbatruc
Code:
For Each c In [C7:C40]
    If Not c.EntireRow.Hidden Then If c = "Applicable" And c(1, 2) = "" Then _
        MsgBox "Il manque une réponse en " & c(1, 2).Address(0, 0), vbCritical: flag = True
Next
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…