• Initiateur de la discussion Initiateur de la discussion Sca
  • Date de début Date de début

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 !

S

Sca

Guest
Bonjour à tous,

Voila, j'utilise un fichier pour gérer un stock (fichier joint), pour le créer je vous avais déjà demandé conseil à l'époque et BrunoM45 m'avait bien aidé.

Le problème qui se pose, est que nous nous sommes apperçu que la personne qui saisie les entrées et sorties rentre parfois des lettres au lieu de nombres, causant ainsi un bug mais la lettre reste dans le tableau.

Je souhaiterais donc, qu'il ne soit pas possible de saisir une lettre dans les colones I et J de mes 2 feuilles (toutes les feuilles) et ce, à partir de la ligne 4.
Quelqu'un pourait-il m'aider ?
 

Pièces jointes

Re : Pb saisie

Slt SCA,

Tu peux utiliser la fonction "validation"

-> "Données" / "Validation" :
* Onglet "Option"
Autoriser : décimal
Données : comprise entre
Minimum : 0 (ainsi ils ne pourront pas saisir de nombre négatif).
Maximum : 9.999.999.999 (mais si tu veux, tu peux mettre moins).
* Onglet "Alerte d'erreur"
Titre : ERREUR DE SAISIE!!!
Style : arrêt
Message d'erreur : Ne pas saisir un nombre négatif, ni de lettre

Bonne après midi.
 
Re : Pb saisie

Merci Stemsy, je n'avais pas vu ta réponse !


Le hic, c'est que j'ai mis "entier" supérieur à 0 mais j'ai pleins de bugs....

Exemple:
1) je me positionne sur une cas contenant un nombre
2) je saisie une lettre
3) il me dit que c'est pas bien
4) j'annule
5) ma macro prend le relais pour me demander si je suis sûr de vouloir saisir le nombre qui était déjà présent
6-1)soit je dis non, il me redemande et je dis une nouvelle fois non
6-2) soit je dis oui, et la... patatra!

Bref, il y a un petit conflit entre la Validation et mes macros 🙁
 
Dernière modification par un modérateur:
Re : Pb saisie

Bonjour au fil,

Sca à dit:
1) je me positionne sur une cas contenant un nombre
2) je saisie une lettre
3) il me dit que c'est pas bien
4) j'annule

Donc cette partie fonctionne correctement, c'est ok!

Sca à dit:
5) ma macro prend le relais pour me demander si je suis sûr de vouloir saisir le nombre qui était déjà présent
6-1)soit je dis non, il me redemande et je dis une nouvelle fois non
6-2) soit je dis oui, et la... patatra!
Bref, il y a un petit conflit entre la Validation et mes macros 🙁

Le problème vient de la macro.
Au vue du symptôme, ta macro ne se déclencherais pas par hasard automatiquement lorsque tu valide une saisie?

Si oui, enlève le déclenchement automatique, rajoute un bouton sur ta feuille pour lancer manuellement ta macro.

Si cette solution te convient pas, il faudra trouver l'équivalent de "validation" en VBA.

Tiens nous au courant.

A+
 
Re : Pb saisie

Bonjour au fil,
Le problème vient de la macro.
Au vue du symptôme, ta macro ne se déclencherais pas par hasard automatiquement lorsque tu valide une saisie?

Si oui, enlève le déclenchement automatique, rajoute un bouton sur ta feuille pour lancer manuellement ta macro.

Si cette solution te convient pas, il faudra trouver l'équivalent de "validation" en VBA.

Tiens nous au courant.

A+
Salut Excel-lent,

Sisi elle se déclenche automatiquement.
Le problème du bouton, c'est qu'il y a risque d'oublie de cliquer dessus, je cherche une solution où il soit impossible (dans la mesure du possible) de se tromper ou d'avoir un manqué.

J'avais trouvé une macro su le site de microsoft mais je n'ai pas réussi à la faire fonctionner et depuis... je ne la retrouve plus 😱 (oui oui, j'ai du mal ! 😛)

Merci en tout cas
 
Re : Pb saisie

J'ai retrouvé la macro sur le site de microsoft mais je ne sais pas trop comment l'appliquer dans mon fichier:

Sub LanceTest()
'Activer la procédure de test de saisie
Sheets("Feuil1").OnEntry = "TestCelluleSaisie"
End Sub

Sub TestCelluleSaisie()
With ActiveCell
'Teste si une chaine de caractère a été saisie
'dans la cellule active
If Application.IsNumber(.Value) = False Then
'Effacement du contenu de la cellule
.Clear
'Si l'option Déplacement Après Validation est cochée _
dans la boîte de dialogue Outils Option onglet Modification _
il faut remonter d'une cellule vers le haut pour pointer sur _
la même cellule
If Application.MoveAfterReturn = True Then
ActiveCell.Offset(-1).Select
End If
End If
End With
End Sub

Donc, si il ne s'agit pas d'un nombre il efface la cellule et revient sur la cellule.
 
Dernière modification par un modérateur:
Re : Pb saisie

Bonsoir,

J'ai repris mon fichier pour tout faire avec des macros en m'inspirant de celle de microsoft.
Il ne me reste plus qu'à empêcher l'utilisateur de modifier à la main les colonnes "stock" et "date" qui sont automatiquement remplis par les macros.

Ah si, j'aimerais savoir si il n'y a pas un moyen de réunir les trois fonctions ci-dessous en une seule puisque le code est identique aux 3. Quelqu'un aurait il une idée s'il vous plaît ? Merci

Sub Workbook_Open()
With ActiveCell
If (.Row > 3 And (.Column = 9 Or .Column = 10)) Then
OldValue = .Value
End If
End With
End Sub

Sub Workbook_SheetActivate(ByVal Sh As Object)
With ActiveCell
If (.Row > 3 And (.Column = 9 Or .Column = 10)) Then
OldValue = .Value
End If
End With
End Sub

Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
With ActiveCell
If (.Row > 3 And (.Column = 9 Or .Column = 10)) Then
OldValue = .Value
End If
End With
End Sub
 

Pièces jointes

Re : Pb saisie

Je me suis occupé de la proctection des cellules par macro.

Il me reste à optimiser les 3 fonctions et à résoudre un bug aussi:
lorsque je double clique dans une cellule puis que je me place sur une cellule de saisie de stock (entrée ou sortie), il me demande de confirmer la saisie de la valeur déjà présente dans ma cellule et si je valide, il double donc la valeur. En fait, il considère que j'ai saisie une valeur et ça uniquement losque j'ai fais un double clique dans la feuille juste avant.

Quelqu'un pourait-il m'aider pour ce bug s'il vous plaît ?
Merci ! 🙂
 

Pièces jointes

Re : Pb saisie

Bon finalement, j'ai encore un problème, le filtre automatique ne fonctionne plus en protégeant la feuille avec:
ActiveSheet.Protect contents:=True, userinterfaceonly:=True

Je vais y arriver, j'en suis sûr 😉

Edit: Autant pour moi, il fallait juste ajouter AllowFiltering
 
Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour