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

Obligation encodage Cellule

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 !

jorisphi

XLDnaute Occasionnel
Bonjour à tous
J'aimerai savoir comment interdire l'utilisateur de sortir de certaines cellules ou d'enregister la feuille s'il manque ces cellules non encodées
J'ai utilisé la macro suivante et elle ne fonctionne pas

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [b6] = "" Then [b6].Select
End Sub

J'aimerai aussi que d'autres cellules soient obligatoires
(voir mon fichier en annexe - Cellules couleur "Blanc"
Comment faire ?.....

Grand Merci d'avance pour votre aide
Jorisphi
 

Pièces jointes

Re : Obligation encodage Cellule

Salut Jorisphi,

Tu peux essayer :
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Dim Cel As Range, CelAValider As Range
  Dim Lig As Long
  Set CelAValider = Range("B1:B2", "J1")
  For Each Cel In CelAValider
    If Cel = "" Then
      MsgBox "Il manque la valeur dans la cellule : " & Cel.Address
      Cel.Select
      Exit Sub
    End If
  Next Cel
  For Lig = 6 To 54 Step 2
    If Range("B" & Lig) = "" Then
      MsgBox "Il manque la valeur dans la cellule : $B$" & Lig
      Range("B" & Lig).Select
      Exit Sub
    End If
  Next Lig
End Sub

A mettre dans "ThisWorkbook" 😉

A+
 
Re : Obligation encodage Cellule

Bonjour BrunoM45
Tout d'abord un tout tout grand merci pour votre réponse rapide.

Je suis un débutant en vba et vous allez peut-être rire de moi, mais je ne trouve pas comment afficher le "Thisworkbook".
C'est grâce à l'aide de personnes comme vous que je progresserai

Pourriez reprendre mon fichier et l'y inclure?. Comme cela je verrai où se trouve ce Thisworkbook

Encore un tout tout grand merci pour votre aide précieuse
Cordialement
Bien à vous
Jorisphi


-------------------------------
Tu peux essayer :
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Dim Cel As Range, CelAValider As Range
  Dim Lig As Long
  Set CelAValider = Range("B1:B2", "J1")
  For Each Cel In CelAValider
    If Cel = "" Then
      MsgBox "Il manque la valeur dans la cellule : " & Cel.Address
      Cel.Select
      Exit Sub
    End If
  Next Cel
  For Lig = 6 To 54 Step 2
    If Range("B" & Lig) = "" Then
      MsgBox "Il manque la valeur dans la cellule : $B$" & Lig
      Range("B" & Lig).Select
      Exit Sub
    End If
  Next Lig
End Sub

A mettre dans "ThisWorkbook" 😉

A+[/QUOTE]
 

Pièces jointes

Re : Obligation encodage Cellule

Re,

Il te faut aller dans l'éditeur VBA (ALT+F11)

Dans l'éditeur VBA il te faut l'explorateur de projets (CTRL+R)
dans la partie gauche tu as le nom de ton fichier

Tu déploies "Microsoft Excel Objets" en cliquant sur le petit +

Là, tu as toutes tes feuilles et en plus "ThisWorkbook"

Tu doubles clique dessus, ce qui t'ouvre une fenêtre pour le code
Tu le colle dedans 😉

Est-ce plus clair ?

a+
 
Re : Obligation encodage Cellule

Cher BrunoM45

Grand merci pour votre "Coaching"
Plus claire que ça, c'est impossible .........

J'ai essayé hier soir et votre macro fonctionne très bien

Cependant :
-elle fait le contrôle sur la colonne "C" (qui est elle est masquée) au lieu de la colonne "B" (Sauf pour la cellule B1)
- Pas de contrôle pour la cellule "J1"

Pourtant votre programmation est très bien écrite. J'ai essayé de remplacer quelques paramètres, mais sans résultat
Pour votre info, j'ai laissé dans la feuille le code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [b1] = "" Then [b1].Select
End Sub

Puis-je encore solliciter votre aide ?.....Et ce,sans trop vous faire perdre votre temps
Bonne journée à vous
Cordialement

PS : je joins mon fichier
 

Pièces jointes

Re : Obligation encodage Cellule

Bonjour Jorisphi,

Je ne sais pas si tu as fini par trouver la solution ?
dans le doute, il faut remplacer la ligne
Code:
Set CelAValider = Range("B1:B2","J1")
Oups loupé la boulette

par celle là
Code:
Set CelAValider = Range("B1:B2,J1")

A+
 
Re : Obligation encodage Cellule

Bonjour BrunoM45
Non, je n'avais toujours pas trouvé
C'était pour moi trop subtile !.....(=Changer un " de place)

Un TOUT TOUT Grand merci pour votre aide précieuse
A bientôt
Cordialement
Jorisphi
-----------------------------------------
Bonjour Jorisphi,

Je ne sais pas si tu as fini par trouver la solution ?
dans le doute, il faut remplacer la ligne par celle là
[Set CelAValider = Range("B1:B2,J1")[/CODE]

A+
 
Dernière édition:
Re : Obligation encodage Cellule

Bonjour BrunoM45

J'ai changé et place votre macro dans la worksheet
et j'aimerai qu'il me dise avant d'enregister qu'il manque une valeur
Avant (dans This workbookà il m'avertissais)
Que dois-je ajouter à la macro ?......

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Cel As Range, CelAValider As Range
Dim Lig As Long
Set CelAValider = Range("B1,J1")
For Each Cel In CelAValider
If Cel = "" Then
MsgBox "Il manque la valeur dans la cellule : " & Cel.Address
Cel.Select
Exit Sub
End If
Next Cel
For Lig = 6 To 54 Step 2
If Range("B" & Lig) = "" Then
MsgBox "Il manque la valeur dans la cellule : $B$" & Lig
Range("B" & Lig).Select
Exit Sub
End If
Next Lig
End Sub


Merci d'avance
Cordialement
Jorisphi
 

Pièces jointes

- 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

P
Réponses
4
Affichages
1 K
P
C
Réponses
4
Affichages
1 K
Christian_67240
C
Réponses
8
Affichages
1 K
C
Réponses
1
Affichages
2 K
claivier_58
C
C
Réponses
3
Affichages
2 K
claivier_58
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…