Contrôle des saisies de l'utilisateur
Résolu
zikey
Messages postés
116
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 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
- Controle parental sur pc - Guide
- Changer nom utilisateur windows 10 - Guide
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 = TrueNe 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