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
 

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

Statistiques des forums

Discussions
312 497
Messages
2 088 986
Membres
104 000
dernier inscrit
dinelcia