Contrôle de saisie de cellule

Pour toutes vos questions à propos d'Excel ...

Contrôle de saisie de cellule

Messagepar padasan » 16 Juin 2011, 10:59

Bonjour,

Je dispose d'un fichier ouvert à de nombreuses personnes.
Je souhaiterai intégrer une formule ou une macro pour "obliger" la saisie de différentes cellules ou du moins informer l'utilisateur que sa demande ne peut être prise en compte s'il ne rempli pas telle ou telle cellule (avec un message d'avertissement).
Il y a t'il une formule de contrôle ou de test logique qui permettrait cela ?

Merci par avance,
padasan
Jeune membre
 
Messages: 27
Inscription: 13 Mai 2011, 09:06
Version Excel: 2003

Re: Contrôle de saisie de cellule

Messagepar dubois » 16 Juin 2011, 11:59

Bonjour,

On peut faire une petite macro qui boucle sur les cellules à renseigner,
Faudrait voir la feuille (colore les cellules en question)

Amicalement
Claude
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Re: Contrôle de saisie de cellule

Messagepar Gorfael » 16 Juin 2011, 12:00

Salut padasan et le forum
Il n'y a ni devin, ni télépathe sur ce site... et un seul utilisateur de ton fichier.
Généralités dans le sujet => généralités dans la réponse

tu peux utiliser les listes de validation en interdisant le vide
une formule qui teste la valeur des différentes cellules
des MFC
des macros
A+
Plus le problème est moins précis, moins je peux plus aider !
Donner un poisson à l'homme affamé c'est apaiser sa faim. Lui apprendre à pécher, c'est le nourrir.
Il n'y a toujours aucun télépathe ou devin recensé sur ce site
Gorfael
Membre fidèle
 
Messages: 197
Inscription: 01 Oct 2007, 12:14
Localisation: Basse Goulaine (44)
Version Excel: informatique, lecture, aïkido

Re: Contrôle de saisie de cellule

Messagepar padasan » 16 Juin 2011, 13:47

J'ai essayé avec la validation mais le message d'erreur que je créé ne s'affiche pas si la cellule est vide à l'enregistrement...
Sinon, quelle formule utiliser pour tester les cellules et faire apparaitre un message en cas de vide ?
Doit on forcément passer par une macro au final ?

Je met un fichier en pj pour illustration comme le demandait Claude (cellule en jaune doivent être rempli)

Merci

-- 16 Juin 2011, 13:48 --

Voici le fichier en question !! :wink:
Fichiers joints
test.xls
(164 Kio) Téléchargé 18 fois
padasan
Jeune membre
 
Messages: 27
Inscription: 13 Mai 2011, 09:06
Version Excel: 2003

Re: Contrôle de saisie de cellule

Messagepar Gorfael » 16 Juin 2011, 15:51

Salut padasan et le forum
Comme je l'ai déjà dit, je ne suis pas utilisateur de ton fichier : toute évidence ne l'est que pour toi !

Si j'ai bien compris, on propose des places sur la feuille "Covoiturage 14" :

nom_14 : tu en fais une plage fixe, alors qu'elle doit être dynamique : pour ce nom, dans "fait référence à" :
Code: Tout sélectionner
=DECALER('14'!$A$1;1;0;NBVAL('14'!$A$2:$A$1000);1)
et tu essaies, en ajoutant ou supprimant des nom en A de 14.
Ensuite, tu peux affecter la liste de validation aux cellules D12:D63.

Si on inscrit une valeur dans B12:B63, il faudra obligatoirement que B, C, D soient remplies (et sans doute H et I) : Ce qui m'importe, c'est le moment où on avertit que les cellules ne sont pas remplies.
On peut le faire de manière automatique, mais comme je ne connais pas le fonctionnement attendu... je propose qu'on fasse cela à l'inscription (clic sur je m'inscris).
Remplace ton code par celui-ci :
Code: Tout sélectionner
Sub Inscription14()
'Déclaration =====================================
Dim F As Worksheet, Shp As Shape, X As Long, Col As Integer
'MEI =============================================
Set F = ActiveSheet                     'feuille active
Set Shp = F.Shapes(Application.Caller)  'forme ayant lancé la macro
'Vérification ====================================
X = Shp.TopLeftCell.Row                 'ligne concernée
For Col = 2 To 4
    If F.Cells(X, Col) = "" Then
        MsgBox "vous devez remplir : " & F.Cells(11, Col), vbCritical, "Erreur de saisie"
        F.Cells(X, Col).Activate
        Exit Sub
    End If
Next Col

'Sortie ==========================================
MsgBox ("Nous vous remercions de proposer le covoiturage pour ce trajet. Les données ont bien été enregistrées, vous pouvez quitter l'application.")
ActiveWorkbook.Save
End Sub
Testes-le. On aurait pu le condenser (ne pas définir F, X et Shp, mais utiliser la définition de Application.caller), mais je suppose que c'est un début de traitement.
A+
Plus le problème est moins précis, moins je peux plus aider !
Donner un poisson à l'homme affamé c'est apaiser sa faim. Lui apprendre à pécher, c'est le nourrir.
Il n'y a toujours aucun télépathe ou devin recensé sur ce site
Gorfael
Membre fidèle
 
Messages: 197
Inscription: 01 Oct 2007, 12:14
Localisation: Basse Goulaine (44)
Version Excel: informatique, lecture, aïkido


Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 11 invités