Conditionner la saisie dans une cellule

Bonjour à tous et merci d'avance de votre aide

Je souhaiterai "tout simplement" interdire la saisie dans une cellule si une autre cellule déterminée à l'avance n'est pas elle même remplie.

Je m'explique :

Par exemple, jeux veux saisir une donnée numérique sans décimale dans la cellule B2 mais interdire cette saisie si la cellule B1 n'est pas remplie au préalable, et ainsi de suite dans un tableau.

Petit problème supplémentaire, le fichier est remis à jour chaque mois et les données saisies en B2 amenées à être mensuellement effacées et resaisies!

Merci de m'aider si vous avez la solution.

Bonjour,

une solution en VBA, a mettre dans le code de la feuille correspondande

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 2 Then
    Application.EnableEvents = False
        If Target.Offset(-1, 0) = "" Then
            MsgBox "Vous devez remplir la cellule " & Target.Offset(-1, 0).Address & " en premier"
            Target = ""
        End If
    Application.EnableEvents = True
    End If
End Sub

regarde si ça peut te convenir

Merci pour votre réactivité.

Néanmoins je suis un novice. Que veux dire et de quelle faàçon doit -on faire pour inclure le code dans la page correspondante?

Pardon pour mon ignorance!

Le code est en VBA, c'est un language de programmation utilisé par excel, en autre pour enregistré les macros. On peut s'en servir pour faire des choses qui normallement ne se font pas à partir de formule Excel. Pour copier ton code, suit la procédure suivante:

Une fois ton classeur ouvert, fait alt+F11. Ensuite à ta gauche clique avec le bouton de droit sur la feuille où tu veux que le code fonctionne. Sélectionne Code dans le menu et copie le code que je t'ai posté dans la fenêtre qui s'est ouverte.

Ce que le code fait: à chaque changement de cellule, il vérifie la ligne de la cellule, si c'est la ligne 2 alors il vérifie si la cellule au dessus est vide. Si elle est vide un message d'erreur apparait.

Celui qui dit "moi, je sais !" est plus ignorant que l'ignorant ; il faut toujours savoir apprendre des autres.

Inutile donc de t'excuser parce que tu ne sais pas comment faire!

Pour répondre à ton problème sans utiliser de macro, l'outil 'Validation de données' est tout indiqué.

1. Tu sélectionnes la cellule B2.

2. Tu vas ensuite dans l'onglet 'Données' -> Menu 'Validation'

3. Dans l'onglet 'Options' au niveau de 'Autoriser', tu choisis 'Personnalisé' et au niveau de 'Formule', tu entres '=B1<>0' sans les guillemets.

4. Lorsque tu voudras saisir des données en B2, si B1 est vide (déterminé par la formule =B1<>0), un message d'erreur s'affichera : "La valeur que vous avez tapée n'est pas valide..."

J'espère avoir été clair

Très bonne solution vba-new,

j'ai toujours tendance à tous faire en VBA, mais c'est pas toujours la meilleure solution.

un ignorant qui sait reconnaitre une meilleure solution que la sienne est est un peu moins ignorant que l'ignorant ...

Merci Math

Regarde mon pseudo : vba-new

Bien que je commence à comprendre le VBA, je ne suis pas encore assez érudit en VBA pour penser VBA

Et donc je cherche en général d'abord à résoudre un problème sans VBA!

un ignorant qui sait reconnaitre une meilleure solution que la sienne est est un peu moins ignorant que l'ignorant ...

... ou bien qui sait mettre de côté son amour-propre quand il le faut

sans rancune.

pour terminer, citons la très bonne signature de Dubois

Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)

Merci à vous pour vos précieux conseils.

En fait je n'ai pas réussi avec le code. Sans doute un peu trop pointu pour moi. Je n'ai peut-être pas bien compris la manip

Par contre la solution validation fonctionne très bien et je souhaiterai compliquer un tout petit peu mais malgré plusieurs esssais je n'ai pas la solution.

Je suis sur que pour vous ce sera du gateau.

J'aurai aimé vous mettre un exemple mais je ne sais pas non plus comment on joint un document sur ce site, alors j'essaie de m'expliquer clairement.

Je souhaite, sur excel, interdire la saisie dans la cellule C1 si la cellule B1 ou la celule A1 ne sont pas déjà renseignées. En résumé l'une des 2 cellules A ou B doit être renseignée sinon le message d'erreur apparait.

Merci encore de m'aider

Bonjour, Salut à tous,

Clique sur le lien suivant pour envoyer ton fichier et donne-nous le lien de cet envoi. Sinon pour une formule personnalisée de validation utilise celle-ci

=OU(A1<>"";B1<>"")

Joindre un fichier

Voici l'adresse qui vous permettra de visuliser ma demande.

D'avance merci!

https://www.excel-pratique.com/~files/doc2/Essai_Interdiction_conditionnelle_de_saisie_dans_cellule.xls

Bonsoir astyla,

Voici une solution : https://www.excel-pratique.com/~files/doc2/an4U6Copie_de_Essai_Interdiction_conditionnelle_de_saisie_dans_cellule.xls

Clique sur la cellule E7 puis vas dans le menu 'Données' puis 'Validation' pour voir comment j'ai fait.

Bonsoir,

Une autre solution avec du code VBA dans la feuille Feuil1 : Fichier

Math a écrit :

Bonjour,

une solution en VBA, a mettre dans le code de la feuille correspondande

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 2 Then
    Application.EnableEvents = False
        If Target.Offset(-1, 0) = "" Then
            MsgBox "Vous devez remplir la cellule " & Target.Offset(-1, 0).Address & " en premier"
            Target = ""
        End If
    Application.EnableEvents = True
    End If
End Sub

regarde si ça peut te convenir

J'ai bien essayé cette formule mais sans succès !!

=OU(A1<>"";B1<>"")

Bonjour,

Peut-on savoir où tu mets cette formule ?

Merci

J'ai suivi les diverses instruction que vous avez, tous, eut la gentillesse de me faire passer.

Je viens par contre de regarder les dernières propositions, tant en VBA qu'en Validation et ça marche.

C'est donc moi le fautif.

Je vais maintenant essayer de transférer ça sur le fichier que je souhaites traiter.

En cas de souci je ne manquerai pas de revenir vers vous tous.

Merci encore vous êtes géniaus et sympa.

Alain.

Youpie!!!

La formule avec la validation de cellule marche du tonnerre.

Pour ce qui est de la formule en VBA, je n'ai pas saisi la façon de l'inclure dans ma feuille et de la faire fonctionner pour les cellues concernées.

Je vais acheter VBA pour les nuls et me documenter un peu.

Encore un grand merci à tous et bon WE.

Rechercher des sujets similaires à "conditionner saisie"