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 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 28 juin 2017 à 17:37
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 28 juin 2017 à 17:37
32 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
21 mai 2017 à 08:28
21 mai 2017 à 08:28
Bonjour,
Un peu malade ...... Ah bon!
Question3:
Ce sont des textbox
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+
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+
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
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
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
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 21 mai 2017 à 20:11
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
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
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
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
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
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 22 mai 2017 à 06:49
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
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?
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?
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
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
24 mai 2017 à 10:10
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.
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.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
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
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
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
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
24 mai 2017 à 10:59
Je viens de tester avec les deux sub routines, et pas de changement de résultats.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 24 mai 2017 à 12:09
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/
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/
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
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
25 mai 2017 à 18:05
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 ?
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 ?
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
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
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
Facile, non?
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?
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
25 mai 2017 à 19:36
Oui, dis comme çà..lol
Merci
Merci
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
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/
j'ai essayé votre code, mais message variable non défini pour VT
https://mon-partage.fr/f/7xPtyTXu/
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
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.
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.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 25 mai 2017 à 20:16
Modifié le 25 mai 2017 à 20:16
Re,
Ben oui,
Obligation de declarer toutes les variables
Il faut declarer la variable VT: Dim VT as string au debut de l'evenement
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
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
dans l'UF
juste avant
Si vous avez bloque les evenement feuille, mettez ceci
Sub test()
Application.EnableEvents = True
End Sub
dans un module et faites excuter ce code
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
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
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
Modifié le 25 mai 2017 à 20:18
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
End Sub enlevé
Ne prend pas les dates saisies comme une date dans le tableau et pourtant les colonnes sont au format date
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
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
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
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
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
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.
Petite soucis avec l'UF dans cette version.
L'UF ne se déclenche plus après la première modif.
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
26 mai 2017 à 08:33
Et après le bug, les deux saisies ne fonctionnent plus dans le commit.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
26 mai 2017 à 10:03
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)
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)
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
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 ?
Le traitement d'erreur c'est un
On error go to ?
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
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
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
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
26 mai 2017 à 11:52
Re,
Oui, mais ma question:
Ces lignes ne sont pas remplies entierement au depart?
Y a peut-etre mieux suivant votre reponse
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
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
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.
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.
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
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 ?
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 ?
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
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?
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?
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
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
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
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
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
31 mai 2017 à 17:10
https://mon-partage.fr/f/1aPhiaOP/
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
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
Modifié le 31 mai 2017 à 17:55
Re,
Ben oui, normal, il y a que cette textbox ou le code est ok
les autres a l'image de celle-ci
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
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
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
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
31 mai 2017 à 18:09
31 mai 2017 à 18:09
Dans votre macro, c'est quoi
"Select Case vkey
Case 46,48 to 57 "?
Et KeyASCii?
"Select Case vkey
Case 46,48 to 57 "?
Et KeyASCii?
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
1 juin 2017 à 00:36
Ok,
Je viens de tester le code AScii de 48 à 57. C'est bon j'ai compris.
Je viens de tester le code AScii de 48 à 57. C'est bon j'ai compris.
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
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.
??
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.
??
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
1 juin 2017 à 08:01
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.....)
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.....)
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
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
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
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
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
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
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
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
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
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
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 2 juin 2017 à 07:23
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 ?
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 ?
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
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
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
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
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
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
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 2 juin 2017 à 08:39
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
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
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
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.
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.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
2 juin 2017 à 10:53
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
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
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
2 juin 2017 à 10:58
Ok, ca supprime dans l'UF mais pas dans le tableau
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
2 juin 2017 à 11:02
2 juin 2017 à 11:02
Re,
Plait-il, chez moi tout est ok..!!!!!
Plait-il, chez moi tout est ok..!!!!!
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
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
J'utilise le backspace puis enter.
Dans le tableau, la date reste présente
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
2 juin 2017 à 11:21
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
C'est quel nom le dernier fichier?
Touche suppr: la cellule doit etre seulement selectionnee, pas de curseur a l'interieur
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
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
Internet UF Textbox Format date
Cela fonctionne quand je supprime dans la case du tableau, j'aimerai que cela fonctionne dans l'UF
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
2 juin 2017 à 11:39
2 juin 2017 à 11:39
Re,
Relisez lentement le post 49
Relisez lentement le post 49
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
2 juin 2017 à 11:41
oui, utilisation de backspace dans l'UF; je suis d'accord. Mais les données restent dans le tableau
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
2 juin 2017 à 11:43
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
Z'etes fatigue, pour changer les valeurs dans les cellules il faut clic sur le bouton ou alors y kake chose de bizard
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
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.
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.
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
2 juin 2017 à 11:54
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
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
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
2 juin 2017 à 11:57
Ce sont des rendez-vous commerciaux, et parfois ils peuvent reporter aux calendes Grecs, d'où le "erronée".
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 2 juin 2017 à 12:56
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
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
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