Contrôle des saisies de l'utilisateur
Résolu
zikey
Messages postés
119
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12643 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12643 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
A la fin du déroulement d'une procédure, je demande à l'utilisateur de saisir des valeurs dans certaines cellules.
Après saisie, le clic sur un bouton de commande déclenche la procédure suivante.
Cependant je voudrais faire un contrôle sur les valeurs saisies et si besoin de demander une nouvelle saisie.
Eventuellement je pourrai afficher les zones de procédure concernées.
Merci d'avance
Cordialement
A la fin du déroulement d'une procédure, je demande à l'utilisateur de saisir des valeurs dans certaines cellules.
Après saisie, le clic sur un bouton de commande déclenche la procédure suivante.
Cependant je voudrais faire un contrôle sur les valeurs saisies et si besoin de demander une nouvelle saisie.
Eventuellement je pourrai afficher les zones de procédure concernées.
Merci d'avance
Cordialement
A voir également:
- Contrôle des saisies de l'utilisateur
- Controle de compte utilisateur - Guide
- Fan controle - Télécharger - Optimisation
- Controle parental disney plus - Guide
- Changer nom utilisateur windows 10 - Guide
- Impossible d'utiliser ce numéro de téléphone pour la validation. - Forum Gmail
48 réponses
Bonjour,
Un peu léger comme explication, pourquoi ne pas passer par un formulaire à remplir et une fois rempli et contrôlé vous renseignez les cellules adéquates !
Un peu léger comme explication, pourquoi ne pas passer par un formulaire à remplir et une fois rempli et contrôlé vous renseignez les cellules adéquates !
Merci pour vos réponses,
Je m'adresse à "Le Pingou"
En effet je suis toujours dans la même procédure que vous m'avez, aimablement, écrite.
A la fin de la macro "Bilan_du_centre" l'utilisateur, après avoir rempli des cellules du fichier, doit cliquer sur le bouton "Bilan du centre" pour déclencher la macro "envoi_et_impression_bilan".
Cependant je voudrais vérifier les valeurs entrées et obliger à faire les corrections.
Je joins les 2 parties de procédure
EDIT: Correction de la coloration syntaxique.
Je m'adresse à "Le Pingou"
En effet je suis toujours dans la même procédure que vous m'avez, aimablement, écrite.
A la fin de la macro "Bilan_du_centre" l'utilisateur, après avoir rempli des cellules du fichier, doit cliquer sur le bouton "Bilan du centre" pour déclencher la macro "envoi_et_impression_bilan".
Cependant je voudrais vérifier les valeurs entrées et obliger à faire les corrections.
Je joins les 2 parties de procédure
'15) Message pour la saisie dans les cases jaunes.
Dim vRéponse1 As String
vRéponse1 = MsgBox("POUR UTILISER LES CASES JAUNES AFIN DE NOTER VOS MODIFICATIONS ET VOS DEMANDES" & Chr(10) & _
"POUR BEBES PAS PLUS DE PRODUITS COMMANDES QUE DE PRODUITS PROPOSES" & Chr(10) & _
" CLIQUEZ SUR LE BONTON OK" & Chr(10) & _
"APRES AVOIR INSCRIT VOS MODIFICATIONS ET DEMANDES CLIQUER SUR LE BOUTON" & Chr(10) & _
"BILAN DE LA SEMAINE", vbOKOnly, "OUVREZ BIEN LES YEUX")
'16) Vérification des quantités de produits pour Bébés.
Dim Alimproposée As String
Dim Alimcommandée As String
Dim Coucheproposée As String
Dim Couchecommandée As String
Alimproposée = Range("S23").Value + Range("S24").Value + Range("S25").Value _
+ Range("S26").Value
Alimcommandée = Range("T23").Value + Range("T24").Value + Range("T25").Value _
+ Range("T26").Value
Coucheproposée = Range("S28").Value + Range("S29").Value + Range("S30").Value _
+ Range("S31").Value
Couchecommandée = Range("T28").Value + Range("T29").Value + Range("T30").Value _
+ Range("T31").Value
If Alimcommandée <= Alimproposée Then
If Couchecommandée <= Couchecalculée Then
GoTo 5
Else
vRépons10 = MsgBox _
("LA QUANTITE DE COUCHES COMMANDEE EST SUPERIEURE A CELLE PROPOSEE" _
& Chr(10) & "VERIFIER AUSSI LA QUANTITE DE NOURRITURE" _
& Chr(10) & "FAIRE LES CORRECTIONS", vbOKOnly, "VALEURS ERRONNEES")
'GoTo 6
End If
Else
vRépons11 = MsgBox _
("LA QUANTITE DE NOURRITURE COMMANDEE EST SUPERIEURE A CELLE PROPOSEE" _
& Chr(10) & "FAIRE LES CORRECTIONS", vbOKOnly, "VALEURS ERRONNEES")
'GoTo 6
End If
5
'16) Affichage du bouton "BILAN DU CENTRE"
'Sheets("Bilan du centre").Select
ActiveSheet.Unprotect Password:="sotser"
ActiveSheet.Shapes("Bouton 8").Visible = True
EDIT: Correction de la coloration syntaxique.
Pardon, je n'ai pas su mettre à la suite la deuxième partie
Je la renvoie en précisant qu'elle n'est pas terminée, je ne sais pas comment faire
Cordialement
Je la renvoie en précisant qu'elle n'est pas terminée, je ne sais pas comment faire
Cordialement
'16) Vérification des quantités de produits pour Bébés.
Dim Alimproposée As String
Dim Alimcommandée As String
Dim Coucheproposée As String
Dim Couchecommandée As String
Alimproposée = Range("S23").Value + Range("S24").Value + Range("S25").Value _
+ Range("S26").Value
Alimcommandée = Range("T23").Value + Range("T24").Value + Range("T25").Value _
+ Range("T26").Value
Coucheproposée = Range("S28").Value + Range("S29").Value + Range("S30").Value _
+ Range("S31").Value
Couchecommandée = Range("T28").Value + Range("T29").Value + Range("T30").Value _
+ Range("T31").Value
If Alimcommandée <= Alimproposée Then
If Couchecommandée <= Couchecalculée Then
GoTo 5
Else
vRépons10 = MsgBox _
("LA QUANTITE DE COUCHES COMMANDEE EST SUPERIEURE A CELLE PROPOSEE" _
& Chr(10) & "VERIFIER AUSSI LA QUANTITE DE NOURRITURE" _
& Chr(10) & "FAIRE LES CORRECTIONS", vbOKOnly, "VALEURS ERRONNEES")
'GoTo 6
End If
Else
vRépons11 = MsgBox _
("LA QUANTITE DE NOURRITURE COMMANDEE EST SUPERIEURE A CELLE PROPOSEE" _
& Chr(10) & "FAIRE LES CORRECTIONS", vbOKOnly, "VALEURS ERRONNEES")
'GoTo 6
End If
5
'16) Affichage du bouton "BILAN DU CENTRE"
'Sheets("Bilan du centre").Select
ActiveSheet.Unprotect Password:="sotser"
ActiveSheet.Shapes("Bouton 8").Visible = True
Bonjour,
Merci pour l'information.
Je vais regarder le détail dans la soirée, patience.
Note: prendre le message de Raymond (salutations) comme une petite gentillesse au passage.
Salutations.
Le Pingou
Merci pour l'information.
Je vais regarder le détail dans la soirée, patience.
Note: prendre le message de Raymond (salutations) comme une petite gentillesse au passage.
Salutations.
Le Pingou
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
C'est du travail de capucin, sans connaitre le format des valeurs à traiter.
Merci de me fournir la feuille qui contient les diverses propositions ou le mieux mettre le classeur sur https://www.cjoint.com/ et poster le lien.
C'est du travail de capucin, sans connaitre le format des valeurs à traiter.
Merci de me fournir la feuille qui contient les diverses propositions ou le mieux mettre le classeur sur https://www.cjoint.com/ et poster le lien.
Bonjour zikey,
Merci pour le classeur.
En marge j'ai constaté qu'il y a beaucoup de module vide (aucune procédure), je vous propose de les supprimé puisque inutile.
En fin de soirée votre code sera adapté, patience.
Merci pour le classeur.
En marge j'ai constaté qu'il y a beaucoup de module vide (aucune procédure), je vous propose de les supprimé puisque inutile.
En fin de soirée votre code sera adapté, patience.
Bonjour,
Merci de me confirmer que les contrôles sont à effectuer dans la procédure [Bilan_de_la_semaine()]
Si OK alors : Affichage du bouton "BILAN DU CENTRE"
Si non alors faire corrections
Merci de me confirmer que les contrôles sont à effectuer dans la procédure [Bilan_de_la_semaine()]
Si OK alors : Affichage du bouton "BILAN DU CENTRE"
Si non alors faire corrections
Bonjour,
Votre contrôle me semble bizarre, les quantités maximum de 2, 3, 3, 7 et ensuite vous comparez avec le total soit 15 alors pour moi je commande 0, 0, 15,0 et c'est ok Oui / Non (donc peu importe l'attribution c'est le total qui compte)
Votre contrôle me semble bizarre, les quantités maximum de 2, 3, 3, 7 et ensuite vous comparez avec le total soit 15 alors pour moi je commande 0, 0, 15,0 et c'est ok Oui / Non (donc peu importe l'attribution c'est le total qui compte)
Bonjour,
En attendant vos réponses, j'ai modifié la partie de procédure selon la version d'origine :
En attendant vos réponses, j'ai modifié la partie de procédure selon la version d'origine :
'16) Vérification des quantités de produits pour Bébés.
Dim Alimproposée As Integer
Dim Alimcommandée As Integer
Dim Coucheproposée As Integer
Dim Couchecommandée As Integer
Alimproposée = WorksheetFunction.Sum(Range("S23:S26"))
Alimcommandée = WorksheetFunction.Sum(Range("T23:T26"))
Coucheproposée = WorksheetFunction.Sum(Range("S28:S31"))
Couchecommandée = WorksheetFunction.Sum(Range("T28:T31"))
If Alimcommandée > Alimproposée Then
vRépons11 = MsgBox("LA QUANTITE DE NOURRITURE COMMANDEE EST SUPERIEURE A CELLE PROPOSEE" _
& Chr(10) & "FAIRE LES CORRECTIONS", vbOKOnly, "VALEURS ERRONNEES")
Range("T23:T26").Activate
Exit Sub
ElseIf Couchecommandée > Coucheproposée Then
vRépons10 = MsgBox("LA QUANTITE DE COUCHES COMMANDEE EST SUPERIEURE A CELLE PROPOSEE" _
& Chr(10) & "FAIRE LES CORRECTIONS", vbOKOnly, "VALEURS ERRONNEES")
Range("T28:T31").Activate
Exit Sub
End If
Bonjour,
Concerne cette instruction :
Concerne cette instruction :
ActiveSheet.Shapes("Bouton 8").Visible = True
Ne correspond à aucun objet ....est-ce correct ?
Bonjour,
Ce sont bien les totaux qui sont comparés dans les 2 cas
Le "Bouton 8" nommé "Bilan du centre" est masqué à l'ouverture du fichier "Bénéficiaires hiver 15-16" et est activé pour lancer la macro "envoi_et_impression"
Ce bouton est situé dans la page "Bilan du centre"
Dans la macro Open il faut neutraliser la macro "Suivi_enfants"
Ce sont bien les totaux qui sont comparés dans les 2 cas
Le "Bouton 8" nommé "Bilan du centre" est masqué à l'ouverture du fichier "Bénéficiaires hiver 15-16" et est activé pour lancer la macro "envoi_et_impression"
Ce bouton est situé dans la page "Bilan du centre"
Dans la macro Open il faut neutraliser la macro "Suivi_enfants"
Private Sub workbook_open()
'01) Lancement de la macro de mise à jour à l'ouverture du fichier "Bénéficiaires hiver 15-16".
ouverture_présences
End Sub
Sub ouverture_présences()
' 02) Mise à jour de la feuille "Suivi Enfants".
suivi_enfants
'03) Masquage du bonton "BILAN DU CENTRE".
Sheets("Bilan du centre").Select
ActiveSheet.Unprotect Password:="sotser"
Range("T23").Select
Range("T23").Activate
ActiveSheet.Shapes("Bouton 8").Visible = False
ActiveSheet.Protect Password:="sotser", DrawingObjects:=True, Contents:=True, _
Scenarios:=True
'04) Sélection de la cellule J9
Sheets("Saisir les Présences").Select
Range("J9").Select
Range("J9").Activate
End Sub
Sub suivi_enfants()
'05) Déverrouillage de la feuille "Suivi Enfants".
Sheets("Suivi Enfants").Select
ActiveSheet.Unprotect Password:="sotser"
'06) Suppression de la sélection de la semaine précédente.
Range("E8:S8").Select
With Selection.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
With Selection.Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
'07) Sélection de la semaine en cours.
For s = 5 To 19
If Cells(8, s).Value = Range("Q3").Value Then
Cells(8, s).Select
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 16737843
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
Next
'08) Sélection de la zone à traiter.
Rows("10:609").Select
Selection.EntireRow.Hidden = False
'09) Masquage des lignes concernant des enfants de plus de 18 mois.
For n = 10 To 609
If Cells(n, 20) = 0 Or Cells(n, 20) >= 285 Then
Rows(n).Select
Selection.EntireRow.Hidden = True
End If
Next
'10) Verrouillage de la feuille "Suivi Enfants".
Range("A1").Activate
ActiveSheet.Protect Password:="sotser", DrawingObjects:=True, Contents:=True, _
Scenarios:=True
End Sub
Bonjour,
Merci pour l'information.
Entre temps je l'avais trouvé.
Quand est-il de la proposition du message 11 .... ?
Merci pour l'information.
Entre temps je l'avais trouvé.
Quand est-il de la proposition du message 11 .... ?
Bonjour,
Je viens d'intégrer la proposition 11 mais si j'entre des valeurs supérieures je n'ai pas de sortie de la macro.
En effet on va jusqu'à la fin de la macro et donc le bouton 8 est visible et on peut continuer avec la macro "envoi_et_impression_bilan"
Cordialement
Je viens d'intégrer la proposition 11 mais si j'entre des valeurs supérieures je n'ai pas de sortie de la macro.
En effet on va jusqu'à la fin de la macro et donc le bouton 8 est visible et on peut continuer avec la macro "envoi_et_impression_bilan"
Cordialement
Bonjour,
Non ce n'est pas possible.
Vous devez avoir le message et la plage concernée sélectionnée et la macro est fermée.
Vous ne pouvez pas continuer sans correction même en via le bouton 8.
Non ce n'est pas possible.
Vous devez avoir le message et la plage concernée sélectionnée et la macro est fermée.
Vous ne pouvez pas continuer sans correction même en via le bouton 8.
Bonjour,
Eh bien je commence à comprendre ou le chat à mal à la patte.
Dans la procédure vous voulez obliger à renseigner les plages jaunes (moi je pensais que c'était déjà fait...) donc il est préférable d'introduire un formulaire de saisie pour les 8 cellules et ensuite on contrôle et si bon on poursuit.
Est-ce bien cela ?
S'il faut renseigner d'autre plage c'est le moment..... !
Eh bien je commence à comprendre ou le chat à mal à la patte.
Dans la procédure vous voulez obliger à renseigner les plages jaunes (moi je pensais que c'était déjà fait...) donc il est préférable d'introduire un formulaire de saisie pour les 8 cellules et ensuite on contrôle et si bon on poursuit.
Est-ce bien cela ?
S'il faut renseigner d'autre plage c'est le moment..... !
Bonjour,
C'est bien cela, j'avais pensé à un formulaire mais j'avais peur de changer les habitudes.
En effet, actuellement pour la période été 2015, ils font bien la saisie mais il n'y a pas de contrôle de cohérence.
Si on place un formulaire il faut que les nombres proposés soient visibles ou ils faut qu'ils apparaissent dans le formulaire
Cordialement
C'est bien cela, j'avais pensé à un formulaire mais j'avais peur de changer les habitudes.
En effet, actuellement pour la période été 2015, ils font bien la saisie mais il n'y a pas de contrôle de cohérence.
Si on place un formulaire il faut que les nombres proposés soient visibles ou ils faut qu'ils apparaissent dans le formulaire
Cordialement
Je vais me lancer dans la création du formulaire mais je pense que je vais sûrement galérer pour les liens !
Bonjour,
A force de réflexion essayez cette proposition sans formulaire :
A force de réflexion essayez cette proposition sans formulaire :
'16) '16) Vérification des quantités de produits pour Bébés.
Dim Alimproposée As Integer
Dim Alimcommandée As Integer
Dim Coucheproposée As Integer
Dim Couchecommandée As Integer
coplja:
If contpl = False Then
Alimproposée = WorksheetFunction.Sum(Range("S23:S26"))
Alimcommandée = WorksheetFunction.Sum(Range("t23:t26"))
Coucheproposée = WorksheetFunction.Sum(Range("S28:S31"))
Couchecommandée = WorksheetFunction.Sum(Range("t28:t31"))
If Alimcommandée > Alimproposée Then
vRépons11 = MsgBox("LA QUANTITE DE NOURRITURE COMMANDEE EST SUPERIEURE A CELLE PROPOSEE" _
& Chr(10) & "FAIRE LES CORRECTIONS", vbOKOnly, "VALEURS ERRONNEES")
Range("T23:T26").Activate
GoTo coplja
ElseIf Couchecommandée > Coucheproposée Then
vRépons10 = MsgBox("LA QUANTITE DE COUCHES COMMANDEE EST SUPERIEURE A CELLE PROPOSEE" _
& Chr(10) & "FAIRE LES CORRECTIONS", vbOKOnly, "VALEURS ERRONNEES")
Range("T28:T31").Activate
GoTo coplja
End If
contpl = True
End If