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

XL 2010 Affecter des bordures si cellules vides

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

Orson83

XLDnaute Impliqué
Bonsoir le forum,
Je rencontre un blocage pour affecter des bordures "rouge gras" à des cellules qui sont vides. En effet, au clic sur un bouton, j'ai une macro qui affiche une msgbox si certaines cellules sont vides (ça c'est OK) et j'aimerai ajouter des bordures aux cellules concernées mais je n'y parviens pas malgré mes recherches.
Je joins un fichier exemple dans ce fil.
Merci pour votre aide.
Tchotchodu31
 

Pièces jointes

Solution
Pour peaufiner on peut mettre la 1ère cellule vide en mode Edition avec SendKeys :
VB:
Sub BtnVaFeuil2()
Dim c As Range, flag As Boolean
For Each c In Range("D2:D5,D7:D9,D12,D15:D16")
    If c = "" Then
        Union(IIf(flag, Selection, c), c).Select 'sélection multiple
        flag = True
    End If
Next
If Not flag Then Sheets("Feuil2").Activate: Exit Sub
MsgBox "Veuillez compléter les cellules vides sélectionnées."
CreateObject("WScript.Shell").SendKeys "{F2}" 'mode Edition
End Sub
Désolé job75, les cellules ne doivent pas être modifiées tant que le bouton "Aller à la feuille 2" n'est pas cliqué.
Explications :
Au départ les cellules concernées sont vidées avec bouton pour une RAZ.
Elles sont donc vides et en attente de remplissage.
L'utilisateur remplit les cellules et passe à la feuille suivante avec un bouton et c'est à ce moment là que les Warning se déclenchent avec msgbox + bordures rouge et impossibilité de passer à la feuille suivante.
 
Bonjour à tous,

J'ai nommé la sélection les cellules concernées 'plControle'
En cas d'évolution tu as juste le nom à reprendre sans toucher au code.
Regarde si c'est ce que tu voulais.
eric
 

Pièces jointes

Bonjour @eriiic

J'avais la solution ici mais entre temps le demandeur a changé de fichier et de mise ne forme du coup il faut tout refaire en espérant qu'il ne change pas de fichier encore ....😵

@Phil69970
eriiic, Phil69970, le fil,
Phil69970 à raison, les bordures de mon premier fichier étaient toutes identiques. Je ne pensais pas que cela poserait un problème, j'en suis désolé.
Entre temps, j'ai posté le fichier présent dans ce post. Croyez-moi je ne cherche pas à compliquer.
En réalité je me moque des bordures pourvu qu'il y ait un élément distinctif qui indique à l'utilisateur que certaines cellules ne sont pas remplies.
Exemple : ?? dans les cellules vides ou fonds dégradés jaunes passe en fonds rouge, etc. -> à condition qu'elles reviennent à leur état de départ.
 

Pièces jointes

Le fil

En partant de ce que tu as écris :
En réalité je me moque des bordures pourvu qu'il y ait un élément distinctif
Je te propose autre chose qui permet d'identifier les cellules vides....

*Essaye à l'avenir d'identifier clairement tes besoins cela évitera de refaire x fois le fichier
*Je pense que cela est faisable avec une MFC comme Job75 l'a dit.
@Phil69970
 

Pièces jointes

Bonjour le fil, le forum,

On peut tout simplement sélectionner les cellules vides :
VB:
Sub BtnVaFeuil2()
Dim c As Range, flag As Boolean
For Each c In Range("D2:D5,D7:D9,D12,D15:D16")
    If c = "" Then
        Union(IIf(flag, Selection, c), c).Select 'sélection multiple
        flag = True
    End If
Next
If flag Then MsgBox "Veuillez compléter les cellules vides sélectionnées." Else Sheets("Feuil2").Activate
End Sub
A+
 
Pour peaufiner on peut mettre la 1ère cellule vide en mode Edition avec SendKeys :
VB:
Sub BtnVaFeuil2()
Dim c As Range, flag As Boolean
For Each c In Range("D2:D5,D7:D9,D12,D15:D16")
    If c = "" Then
        Union(IIf(flag, Selection, c), c).Select 'sélection multiple
        flag = True
    End If
Next
If Not flag Then Sheets("Feuil2").Activate: Exit Sub
MsgBox "Veuillez compléter les cellules vides sélectionnées."
CreateObject("WScript.Shell").SendKeys "{F2}" 'mode Edition
End Sub
 

Pièces jointes

Bonjour job75, le fil, le forum,
C'est effectivement une très bonne solution qui permet d'identifier les cellules non complétées et de proposer le remplissage de la première cellule du haut à l'utilisateur, tous ceci sans modifier la mise en forme de la cellule. Merci pour cette proposition.
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…