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

  • Initiateur de la discussion Initiateur de la discussion Nazerti
  • 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 !

N

Nazerti

Guest
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
 
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

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

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?
 
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 🙂
 
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? 😕
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

Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
6
Affichages
2 K
Maryloo2005
M
D
Réponses
4
Affichages
2 K
D
J
Réponses
7
Affichages
2 K
jayroom
J
C
Réponses
1
Affichages
2 K
Retour