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

Interdire une valeur de saisie conditionnelle

  • Initiateur de la discussion Nadine
  • Date de début
N

Nadine

Guest
Bonjour à tous,

Dans le fichier ci-joint, je recherche une solution pour n'autoriser que la saisie de la valeur '1' dans une des 2 colonnes.

j'ai aussi une macro qui fonctionne mais qui doit être largement perfectible (lol)

bon lundi de Pâques [file name=CopiedeAuditessai.zip size=30596]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/CopiedeAuditessai.zip[/file]
 

Pièces jointes

  • CopiedeAuditessai.zip
    29.9 KB · Affichages: 31

andré

XLDnaute Barbatruc
Salut,

Pour la 1° question :
Sélectionner la plage sur laquelle doit s'opérer la restriction.
Menu Données / Validation.
Sous Autoriser choisir personnalisé
Sous formule taper =A1=1
A1 étant la référence de la cellule supérieuyre gauche de la plage sélectionnée (à adapter suivant le cas).

Â+
 

Marc_du_78

XLDnaute Accro
Bonjour Nadine, andré, Brigitte, le Forum,
Je ne pense pas que ceci puisse donner le choix à Nadine, j'aurai plutôt vu quelque chose comme ceci à adapter, ce dont je ne saurai, (code trouvé sur ce forum) :


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range('F5:F28')) Is Nothing Then
MsgBox 'Vous ne devez saisir que l'un ou l'autre'
Range('A1').Select
End If
End Sub

Pour ton autre question :
Sub XXx()
application.Scrreuptdating = False
et True avant End Sub
 

Tibo

XLDnaute Barbatruc
Salut Nadine,

Pour la validation, essaye ceci :

- sélectionne E6:E28
- Données / Validation / Personnalisé / Formule : =ET(E6=1;ESTVIDE($F6))

- sélectionne F6:F28
- Données / Validation / Personnalisé / Formule : =ET(F6=1;ESTVIDE($E6))

Ainsi tu contrôles à la fois la saisie du 1 et ça évite la double saisie dans les 2 colonnes.

@+

Edition : Salut Alain, t'avais pas vu. Ta solution est effectivement préférable car un seul test.

Merci.

Message édité par: tibo, à: 17/04/2006 11:29
 
N

Nadine

Guest
Kikou

Vous êtes trop fort !!! pour les validations

marc,
Les codes que tu m'as passé pour la macro me font une erreur d'exécution 438 sur l'instruction que j'ai ajouté.

biz à tous
 

Dan

XLDnaute Barbatruc
Bonjour,

Voici pour ta macro. Remplace la tienne par celle ci dessous :

Code:
Sub test()
Dim val1 As Byte
Dim val2 As Date
'Macro amendée par Dan pour Nadine - 17/04/06
'Macro pour [B]Lien supprimé[/B]
'-interdire-une-valeur-de-saisie-conditionnelle.htm
'
 Application.ScreenUpdating = False
   Sheets('Questionnaire').Range('E2:F29').Copy
   With Sheets('archivage')
    .Activate
    .Range('Début').End(xlToRight).Offset(-3, 1).Activate
    .Paste
    End With
    val1 = Sheets('Questionnaire').Range('E4').Value
    
    Sheets('Archivage').Range('Début').End(xlToRight).Offset(-1, -1) = val1
    Sheets('Données Graph').Range('Note').End(xlDown).Offset(1, 0) = val1
    
    val2 = Sheets('Questionnaire').Range('E2').Value
    Sheets('Données Graph').Range('Date').End(xlDown).Offset(1, 0) = val2
    Sheets('Questionnaire').Activate
    Application.ScreenUpdating = True
End Sub

Si pb n'hésite pas

 

Discussions similaires

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