Userform

Résolu/Fermé
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 - 21 mai 2017 à 00:22
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 28 juin 2017 à 17:37
Bonjour à tous,

https://mon-partage.fr/f/IJed4bJN/

J'ai un fichier (ci-joint) qui se remplit par userform. Quand on fait un double clic dans l'onglet Liste Complete, il apparait avec les données de la ligne concernée.

J'ai trois questions sur cet userform. Dois-je faire trois sujets différents, ou puis je poser mes questions dans un même sujet ?

Allez je tente dans un meme sujet. Si il faut que je change, n'hésitez pas.

Question 1:
Lorsque je modifie mes lignes via des saisies dans l'userform, il y a une sauvegarde de ces modifications dans l'onglet Commit à des fins de traitements ultérieurs.
Cependant, il reste la possibilité de modifier des données sans l'userform. Comment puis-je les enregistrer aussi dans l'onglet commit ?

Question 2 :
Pour activer l'userform, il faut doublecliquer dans l'ongelt Liste complete. Ce double clic vous permet d'avoir devant vous dans l'userform les données de la ligne que vous venez de cliquer. Comment peut-on mettre une zone de liste déroulante (pour les villes) qui permettrait aussi de faire une recherche par ville en remplissant bien evidement le reste des données de la ville sélectionner ?

Question 3 :
Dans cet userform, j'ai des listbox où j'aimerai limiter la saisie à des formats dates uniquement. Comment puis-je parametrer ceci?



Merci pour vos réponses
Benoit

32 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
21 mai 2017 à 08:28
Bonjour,

Un peu malade ...... Ah bon!

Question3:
Ce sont des textbox
'control entree avec format date
Private Sub Textbox51_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    TextBox51.MaxLength = 10
    Select Case KeyAscii
        Case 46, 48 To 57
            ' 01/04/2016
            VT = Len(TextBox51)
            If VT = 2 Or VT = 5 Then TextBox51 = TextBox51 & "/"
        Case Else
            KeyAscii = 0
            MsgBox "Only numbers allowed"
    End Select
End Sub


Question2:
zone de liste déroulante (pour les villes)
Oui, vous mettez le resultat ou, car une ville doit etre x fois dans la base?
Ensuite ajouter le code pour recuperer l'enregistrement de la selection dans cette liste

Question1:
modifier des données sans l'userform.
Ajouter cette procedure:
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
faire un test si c'est une cellule base qui vient d'etre modifiee, prendre la parti du code de l'UF qui enregistre les modif (bien sur avec quelques modifs)

A+
1
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
21 mai 2017 à 18:48
Bonsoir,

https://mon-partage.fr/f/fffhc1QO/

Question 1
J'ai bien mis le code en place.
Problème dès que j'utilise l'userform, la deuxième macro s'active et enregistre tout les éléments de l'userform comme étant chacun un nouvel enregistrement.

Comment mettre en veille la deuxième facon de saisir lorsque l'userform est activé ?

Cordialement
Benoit
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 21 mai 2017 à 20:11
Bonjour,

la deuxième macro s'active
Quelle macro ?

Suite:
Macro question 2, ok. Deux possibilite, dans le code de mise ajour de l'UF:
soit vous utilisez l'instruction Application.EnableEvents
voir:https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.enableevents?redirectedfrom=MSDN
soit au meme endroit, vous utilisez un drapeau (Flag) boolean qui fera la meme chose en le testant dans le code feuille
Private Sub Worksheet_Change(ByVal Target As Range). Ne pas oublier de la declarer en public
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
21 mai 2017 à 22:41
Bonsoir

Je refais la question 1 :

Question 1:
Lorsque je modifie mes lignes via des saisies dans l'userform, il y a une sauvegarde de ces modifications dans l'onglet Commit à des fins de traitements ultérieurs.
Cependant, il reste la possibilité de modifier des données sans l'userform. Comment puis-je les enregistrer aussi dans l'onglet commit ?


J'ai bien inséré la procédure

Private Sub Worksheet_Change(ByVal Target As Range)

J'ai bien adapté les macros qui dépendent de ces procédures.

Donc maintenant, quand je sélectionne une cellule j'ai bien un enregistrement des modifications dans le deuxième onglet.
Et si je doubleclic, j'ai bien mon userform qui apparait.
Seulement là j'ai les deux procédures qui se déclenchent en meme temps, donc j'ai plusieurs lignes qui se remplissent pour un seul enregistrement.

Et je n'ai pas compris votre dernier post f894009

Merci
Benoit
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 22 mai 2017 à 06:49
Bonjour,

quand je sélectionne une cellule
Non, quand une cellule est modifiee.

dans au debut code de l'UF ou il y la mise a jour des enregistrement, vous devez empecher l'evenement
Private Sub Worksheet_Change(ByVal Target As Range)
en utilisant l'instruction Application.Enableevents=False et a la fin de ce code remettre a True
L'autre facon de "bloquer" cette evenement par un boolean est aussi faisable, mais c'est vous qui devez en faire la gestion

Au fait, quelle version de fichier que vous utilisez?
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
24 mai 2017 à 10:10
Bonjour,

Ca y est j'ai un peu de temps.
Le code supplémentaire Application.Enableevents=false ne change rien au problème.

https://mon-partage.fr/f/SVd2z9AP/*

J'ai toujours une action des deux procédures en simultanées.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017
24 mai 2017 à 10:41
Bonjour et bienvenue a cette petite

fichier modifie:https://mon-partage.fr/f/hsdX8gpP/

la modif est dans les sub routines d'enregistrement, car il faut bloquer la procedure dans les deux cas de modification UF et direct sur feuille
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
24 mai 2017 à 10:59
Je viens de tester avec les deux sub routines, et pas de changement de résultats.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 24 mai 2017 à 12:09
Re,

Ok, je viens de voir qu'il y a x enregistrements pour une meme modif

Manquait un application.enableevents dans code bouton sauvegarde modif
https://mon-partage.fr/f/xTyJt5qG/
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
25 mai 2017 à 18:05
Bonjour,

Désolé de ne répondre qu'aujourd'hui, Bébé est à la maison. Beaucoup de changements.

Merci pour votre réponse. Nickel.
Maintenant pourriez vous me dire pourquoi cela fonctionne ? Pourquoi un application.enableevents à cet endroit précis ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017
25 mai 2017 à 19:09
Bonjour,

Maintenant pourriez vous me dire pourquoi cela fonctionne ?
Je pourrai dire que c'est tout a fait normal que ca marche.....
Explication:
les points communs entre l'UF et l'evenement
Private Sub Worksheet_Change(ByVal Target As Range)
et l'evenement
Private Sub Worksheet_Change(ByVal Target As Range)
avec elle meme sont les
Sub enregistrer_existant(), Sub enregistrer_nouveau() et dans l'UF Private Sub modifyButon_Click()
c'est a dire l'ecriture dans la feuille. Donc pour eviter de declancher l'evenement
Private Sub Worksheet_Change(ByVal Target As Range)
il faut mettre la gestion application.enableevents dans les sub et avant/apres l'ecriture des cellules dans Private Sub modifyButon_Click() de l'UF


Facile, non?
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
25 mai 2017 à 19:36
Oui, dis comme çà..lol

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
25 mai 2017 à 19:44
Pour mes dates dans les textbox,

j'ai essayé votre code, mais message variable non défini pour VT

https://mon-partage.fr/f/7xPtyTXu/
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
25 mai 2017 à 19:52
Bon, j'ai déclaré VT comme string,

Problème résolu il accepte la saisie

Cependant, est-ce le bon format de déclaration ?
Le tableau ne reconnait pas cette saisi comme une date mais comme du texte.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 25 mai 2017 à 20:16
Re,

Ben oui,
Option Explicit 'à mettre systématiquement en haut de chaque module/form

Obligation de declarer toutes les variables
Il faut declarer la variable VT: Dim VT as string au debut de l'evenement
 Private Sub ModifyDatePrévisite_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)e

et enlever le End Sub en trop

Vu que vous avez 4 dates a entrer, il est possible de faire un sub pour les quatres.
C'est vous qui voyez

Petite rectification pour application.enableevents:
Seulement utile dans l'UF
 Private Sub modifyButon_Click()

Je viens de verifier, car le probleme ne venait que de l'ecriture faite avec l'UF et les deux sub ecrivent dans la feuille COMMIT donc pas utile (ce qui m'avait un peu "enduit" en erreur c'etait les x lignes dans commit pour une modif), mais ajouter
Application.Enableevent=True 

dans l'UF
 Private Sub modifyButon_Click()

juste avant
enregistrer_nouveau
, je ne l'avais pas mis du fait qu'il etait dans les sub

Si vous avez bloque les evenement feuille, mettez ceci
Sub test()
Application.EnableEvents = True
End Sub
dans un module et faites excuter ce code
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
Modifié le 25 mai 2017 à 20:18
Vt Déclaré
End Sub enlevé

Ne prend pas les dates saisies comme une date dans le tableau et pourtant les colonnes sont au format date
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017
Modifié le 25 mai 2017 à 20:47
Re,
Normal, il faut une conversion en date francaise

votre fichier avec un sub formatage date et conversion date
https://mon-partage.fr/f/a2SUeluf/

Et évidement les modif application.enableevents
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
25 mai 2017 à 22:46
Re,

Petite soucis avec l'UF dans cette version.
L'UF ne se déclenche plus après la première modif.
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
26 mai 2017 à 08:33
Et après le bug, les deux saisies ne fonctionnent plus dans le commit.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 mai 2017 à 10:03
Bonjour,
En fait, je crois qu'il n'accepte pas que l'on puisse enregistrer si la valeur est à 0
Il faut mettre un test sur les textbox date car l'instruction CDate() n'admet pas un vide
Et après le bug, les deux saisies ne fonctionnent plus dans le commit.
Normal sur arret erreur avec le bouton modif, les evenements feuilles sont bloquer. Il faut integrer un traitement d'erreur qui debloquera ces evenements

Vous apprenez en meme temps que votre fichier evolue vu que je n'integre pas volontairement les traitements d'erreur (dites si cela ne convient pas)
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
26 mai 2017 à 10:12
Ca me convient très bien, c'est justement ce que je cherche.

Le traitement d'erreur c'est un
On error go to ?
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
26 mai 2017 à 10:16
J'ai fait un essai en mettant des on error go to 0 devant chaque ligne de Cdate, et ca a l'air de fonctionner
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017
26 mai 2017 à 11:52
Re,
Oui, mais ma question:
Ces lignes ne sont pas remplies entierement au depart?

On error go to ?

Y a peut-etre mieux suivant votre reponse
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
26 mai 2017 à 12:07
Re
Le début des lignes est remplie N°client, nom etc...Jusqu'à la colonne Date prévisionnelle de visite.
C'est là où les FSM rentrent des données pour leur phoning.
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
27 mai 2017 à 23:48
Ok, merci. Je le note.

Désolé de ne répondre que maintenant, mais les obligations parentales...
Vous ne m'avez pas dit ce que vous faites dans la vie ?
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
31 mai 2017 à 15:47
Bonjour F894009,

J'espère que vous allez bien.
Je crois que vous etes pas adpete de parler de vous, ou alors vous etes en vacances. Ok pour moi.
Revenons en à nos codes
Pour mes textbox de dates j'ai réussi à créer un masque de saisie avec les données que vous m'aviez donné.
Peut-on interdire la saisie (accidentelle) d'élements non numérique ou la saisie d'espace vide, car si ils saisissent 1052017, l'enregistrement se fait quand meme.

Rebesoin du fichier?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017
31 mai 2017 à 15:52
Bonjour,
Rebesoin du fichier?
Oui, pour les modif que vous auriez pu faire

Peut-on interdire la saisie (accidentelle)
Je vais verifier, mais il me semble que c'est deja dans le code de formatage
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
31 mai 2017 à 17:10
https://mon-partage.fr/f/1aPhiaOP/
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017
Modifié le 31 mai 2017 à 17:55
Re,

Ben oui, normal, il y a que cette textbox ou le code est ok
Private Sub Modify_DatePrevisite_change()
Dim Valeur As Byte

Modify_DatePrevisite.MaxLength = 10

Valeur = Len(Modify_DatePrevisite)
If Valeur = 2 Or Valeur = 5 Then Modify_DatePrevisite = Modify_DatePrevisite & "/"

If Not (IsNumeric(Left(Modify_DatePrevisite.Value, 2))) Or Not (IsNumeric(Mid(Modify_DatePrevisite.Value, 4, 2))) Or Not (IsNumeric(Right(Modify_DatePrevisite.Value, 4))) Then
                MsgBox "Le format date n'est pas conforme"
                Exit Sub
End If

End Sub

les autres a l'image de celle-ci
Private Sub ModifyActSuivDate_change()
Dim Valeur As Byte
ModifyActSuivDate.MaxLength = 10
On Error Resume Next
Valeur = Len(ModifyActSuivDate)
If Valeur = 2 Or Valeur = 5 Then ModifyActSuivDate = ModifyActSuivDate & "/"
End Sub

il en manque un peu

Dans le fichier c-dessous, modif faites pour un sub controle pour toutes les textbox date
https://mon-partage.fr/f/m6Woivea/
ce n'est pas le fichier que vous avez mis a dispo, mais si vous voulez reporter les modifs a vous de jouer.

Vous manquera ensuite: si la date n'est pas complete ou 45 jours ou 14 mois ou annee 200 ou annee 4561
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
31 mai 2017 à 18:09
Dans votre macro, c'est quoi

"Select Case vkey
Case 46,48 to 57 "?

Et KeyASCii?
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
1 juin 2017 à 00:36
Ok,

Je viens de tester le code AScii de 48 à 57. C'est bon j'ai compris.
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
1 juin 2017 à 00:47
Une modif.
pour les mag fermés ou refus, quand je coche la case refus ou fermés, j'ai true dans la cellule concernée.
Maintenant si j'ai true dans cette cellule, j'aimerai avoir X dans les cellules de dates (Ca permettrait de faire des titres plus simples...)

J'ai donc dans le private sub de la checkbox de refus
if (checkbox.value=true)then
Cells (,13).value="X"
Else
End if

C'est les valeurs de cells qui me manquent.
Là c'est le genre de petits détails qui me fait dire que je suis loin de maitriser. Comment dire si la cellule (ligne X, colonne 27) est egale à vrai alors la cellule située sur la meme ligne mais en colonne 13 sera égale à X.
??
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
1 juin 2017 à 08:01
Bonjour,

Comment dire si la cellule (ligne X, colonne 27)
Comme quoi, il est tres utile que je vous ai demande votre dernier fichier car Il y a une colonne en plus par rapport a celui-ci: Internet UF Textbox Format date.xlm

C'est les valeurs de cells qui me manquent.
Comprends pas.......

Tout peut se faire par VBA, peut-etre pas judicieux de melanger VBA et une formule qui devra etre repetee a chaque ajout de ligne
Faut penser aussi a l'affichage dans l'UF (controle de format, etc.....)
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
1 juin 2017 à 13:23
Bonjour

Comme quoi, il est tres utile que je vous ai demande votre dernier fichier car Il y a une colonne en plus par rapport a celui-ci: Internet UF Textbox Format date.xlm
Dans le dernier que j'avais mis en partage la colonne 27 était là.

Il ne faut pas que j'envoie des questions aussi tard. la colonne 27 est le numéro de zone, donc rien à voir. Allez je recommence.
Ma question est :
si en colonne Refus j'ai "vrai" j'aimerais avoir "X" dans les colonnes "Dates Prévisionnelle de visite" et "date previsionnelle d'installation",
Oui je peux passer par une formule, ca je sais faire (déjà fait sur Colonne en cour, par exemple). Seulement dans les colonnes dates j'ai aussi une possiblité de saisie par l'UF donc si je mets une formule dans cette colonne, que l'UF est utilisé, ma formule va disparaitre (si saisie date et remise à zéro plus tard par exemple).
Donc il me semble que passer par vba est le plus simple.

J'ai donc dans le private sub de la checkbox de refus
if (checkbox.value=true)then
Cells (????,13).value="X"
Else
End if
J'ai essayé ce code, mais je ne sais pas comment dire si j'ai "Vrai" dans la colonne Refus alors je dois avoir "X" dans la colonne 13 sur la meme ligne.

Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017
1 juin 2017 à 14:29
Re,
Cells (????,13).value="X"
Ben, le numero de ligne vous l'avez, il fait parti des variables globales qui sont écrite sur double click cellule ou/et motif d'une cellule et qui sont utilisées dans le code de l'UF.
Vous verrez bien tout seul les problemes que pose votre modification
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 02:05
Bonsoir,

En fait, ce que je n'ai pas dit du départ, c'est que je ne suis pas l'utilisateur final ni le "client". Je fais des demandes parfois qui ne sont pas les miennes.

Donc pour la demande juste au dessus, c'est bon j'ai retrouvé mon target.row.

Mais j'ai analysé votre fin de réponse, et sans testé, il est évident que de rajouter un élément en dehors de la saisie par UF, cela rajoute certains éléments; mais en plus rajouter un élément dans une cellule où on force la date, les difficultés sont trop importantes et risquent (parceque ce n'est pas impossible) de rajouter un fort ralentissement.
Donc j'ai proposé au "Client" l'utilisation d'une mise en forme conditionnelle qui mettra aussi bien en évidence sa demande que si c'était un X.

D'autant plus qu'il faudrait que je puisse interdire la saisie manuelle.
Une idée en dehors de la protection de la feuille ?

Cdt
Benoit
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 2 juin 2017 à 07:23
Bonjour,

Je fais des demandes parfois qui ne sont pas les miennes.
Y a trop d'intermediaire dans beaucoup de dommaine, non ?
Vous connaissez cette histoire de la vieille dame et du serpent que plusieurs personnes doivent se raconter en cascade sans avoir entendu ce que la precedente personne a ecoute. Au debut de l'histoire le serpent mord la vieille dame et la derniere personne raconte que c'est la vieille dame qui a mordu le serpent

j'ai proposé au "Client" l'utilisation d'une mise en forme conditionnelle
C'est comme les formules, faudra pas l'oblier sur ajout de ligne(s)

faudrait que je puisse interdire la saisie manuelle.
De la feuille ou d'une partie de la feuille et pourquoi ?
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 07:49
Bonjour,

Saisie manuelle interdite de la feuille
Pour éviter les saisies anarchiques afin d'avoir des données homogènes pour l'analyse.
Masque de saisie sur chaque colonne ? Pourquoi pas....si ca prend pas beaucoup de temps à mettre en oeuvre.

Sinon, verouillage feuille, saisie uniquement par l'UF
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 08:00
Leçon du matin (Pour moi)

Pourquoi le client ne veut pas ? Parcequ'il a peur que ca me prenne du temps....
Pourquoi ca me prendrait du temps ? : Parceque lancé dans le VBA j'en oublie les fondamentaux d'Excel qui sont les Validations de données...

Ne pas courir droit dans la difficulté et rester simple...

Je m'énerve parfois
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 2 juin 2017 à 08:39
Re,

Masque de saisie sur chaque colonne ?
Oui, mais controle possible seulement sur validation pas en court de saisie. Bien cibler le format attendu

Sinon, votre "client" doit faire un choix

Pourquoi ca me prendrait du temps ?
Seul vous pouvez en decider et aussi voir si vous avez un delai polymorphe
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 10:00
Autre question :
Une fois une date saisie dans le masque des dates, je n'arrive pas à enlever ces dates par supprime dans le masque.
Comment faire?

Là je sèche depuis trois jours dessus.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 juin 2017 à 10:53
Re,
Une fois une date saisie dans le masque des dates
Oui, La touche suppr ne "marche" que sur selection de caractare(surligneage), il faut utiliser la touche BackSpace
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 10:58
Ok, ca supprime dans l'UF mais pas dans le tableau
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 juin 2017 à 11:02
Re,
Plait-il, chez moi tout est ok..!!!!!
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 11:15
Et bien chez moi cela ne fonctionne pas alors que je viens de tester sur le dernier que vous avez envoyé.

J'utilise le backspace puis enter.
Dans le tableau, la date reste présente
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 juin 2017 à 11:21
Re,
C'est quel nom le dernier fichier?
Touche suppr: la cellule doit etre seulement selectionnee, pas de curseur a l'interieur
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 11:24
Re,


Internet UF Textbox Format date

Cela fonctionne quand je supprime dans la case du tableau, j'aimerai que cela fonctionne dans l'UF
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 juin 2017 à 11:39
Re,

Relisez lentement le post 49
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 11:41
oui, utilisation de backspace dans l'UF; je suis d'accord. Mais les données restent dans le tableau
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 juin 2017 à 11:43
Re,

Z'etes fatigue, pour changer les valeurs dans les cellules il faut clic sur le bouton ou alors y kake chose de bizard
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 11:46
Ok, c'est vrai je suis un peu fatigué (beaucoup peut-etre).

Reprenons par l'exemple =
- Je rentre une date par l'UF
- Je valide mon UF
- Mince je me suis trompé
- Je retourne dans l'UF
- Je veux faire backspace dans la date erronée
- Ok, disparition dans l'UF
- Surprise toujours présente dans le tableau.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 juin 2017 à 11:54
Re,
Vous suivez bien.

Par contre:
Je veux faire backspace dans la date erronée
Pouvez expliquer une date erronee

Si suppression date complete:
Le probleme vient du on error resume next, puisqu'il y a erreur si pas format date, vide en fait parti.
Je vous fais le code pour une date
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
2 juin 2017 à 11:57
Ce sont des rendez-vous commerciaux, et parfois ils peuvent reporter aux calendes Grecs, d'où le "erronée".
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 2 juin 2017 à 12:56
Re,
Ok, je planche pour remplacement date par case vide tout en conservant le on error resume next par champ date si problème il y a

Suite:
En fin de compte si toujours besoin du on error resume next donc pour chaque date modifiez comme ceci dans l'UF bouton sauvegarde
        If ModifyDatePrévisite.Value <> "" Then
            OnError Resume Next
            .Cells(GLOBAL_LIGNE, 12).Value = CDate(ModifyDatePrévisite.Value)
            On Error Goto 0
        Else
            .Cells(GLOBAL_LIGNE, 12).Value = ""
        End If

Ceci parce qu'il est possible dans votre cas d'entrer cette date: 45/14/4500

Voir ce que j'ai ecrit a la fin du post 34. De meme les dates Calendes Grecs, c'est peut-etre possible de les eviter
0