Macro : Verifie si toute les cellules "blanches" sont remplies

Nazerti

XLDnaute Nouveau
Bonjour !

Le projet sur lequel je travail prend fin..

et je bloque sur une macro qui serait pourtant tres utile pour l'utilisateur. En fait pour etre tout a fait honnete je ne connais rien au Macro. Mais je suis certain qu'il est possible d'avoir un code obligeant l'utilisateur a remplir toutes les cellules "blanches" avant de proceder au tour suivant (via un clic sur un bouton deja implante dans la feuille),

J'ai deja vu des ebauches de codes allant dans ce sens mais rien que je ne puisse encore utiliser... : (

Si l'utilisateur clique sur ce bouton (lien vers une autre feuille) et que l'une des cellules "blanches" n'est pas remplie alors on peut prevoir un message pop-up de type erreur.

est-ce que c'est possible ?

merci !

Jeremy
 

job75

XLDnaute Barbatruc
Re : Macro : Verifie si toute les cellules "blanches" sont remplies

Bonjour Nazerti,

Sur le principe, voir le fichier joint et cette macro dans le code de la feuille :

Code:
Private Sub Worksheet_Deactivate()
Dim c As Range, plage As Range
'---détermination des plages colorées---
For Each c In Me.UsedRange
  If c.Interior.ColorIndex <> xlNone Then _
    Set plage = Union(c, IIf(plage Is Nothing, c, plage))
Next
'---contrôle des cellules---
If Not plage Is Nothing Then
  If Application.CountA(plage) < plage.Count Then
    Me.Activate
    MsgBox "Des cellules colorées sont vides..."
  End If
End If
End Sub
A+
 

Pièces jointes

  • Plages(1).xls
    36.5 KB · Affichages: 50

job75

XLDnaute Barbatruc
Re : Macro : Verifie si toute les cellules "blanches" sont remplies

Re,

Solution plus simple :

Code:
Private Sub Worksheet_Deactivate()
Dim c As Range
For Each c In Me.UsedRange
  If c.Interior.ColorIndex <> xlNone And IsEmpty(c) Then
    Me.Activate
    MsgBox "Des cellules colorées sont vides..."
    Exit Sub
  End If
Next
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Plages(2).xls
    36 KB · Affichages: 57

Nazerti

XLDnaute Nouveau
Re : Macro : Verifie si toute les cellules "blanches" sont remplies

Merci!

Mais quel "color index" pour les cellules "blanches" (non coloriées - en fait toute la table est grisée, il s'agit d'un formulaire) ?

ça marchera quand même?
 

Nazerti

XLDnaute Nouveau
Re : Macro : Verifie si toute les cellules "blanches" sont remplies

Et.. Je voudrais aussi que ce code ne soit applicable que sur deux onglets bien spécifiques. Mais je ne sais pas comment m'occuper de ça..

Voici le code couleur que j'ai trouvé pour les cellules vides : -4142. C'est bien ça?

En tout cas.. ça ne marche pas :)
 

Nazerti

XLDnaute Nouveau
Re : Macro : Verifie si toute les cellules "blanches" sont remplies

Code:
Private Sub Worksheet_Deactivate()
Dim c As Range
For Each c In Me.UsedRange
  If c.Interior.ColorIndex = 2 And IsEmpty(c) Then
    Me.Activate
    MsgBox "All cells must be filled"
    Exit Sub
  End If
Next
End Sub

J'ai donc réussi à appliquer ce code et ça semble fonctionner tout a fait correctement. mais je viens de réaliser par la même occasion que le formulaire utilisé doit aussi fournir un échappatoire (un lien externe sous forme de bouton macro vers une autre feuille qui peut être activée (ouverte) même si toutes les cellules "blanches" ne sont pas remplies)


Comment je pourrais ajouter cette exception? :confused:
Ou sinon.. Faire en sorte que cette formule ne s'applique que si je clique sur le bouton vert ("booking form"). Et pas pour le reste... (voir fichier ci-joint)
 

Pièces jointes

  • Rate Sheet Consolidation.xlsm
    54.6 KB · Affichages: 64
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22