format numérique dans un useform Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 24 octobre 2014, 15:18

Salut Banzaï,

Moi qui pensait en avoir fini avec ce fichier et non,

Maintenant mon soucis c’est lorsqu’on clique sur le bouton modification, que je modifie une seule textbox j’ai du jaune dans plusieurs cellules qui n’ont pas été modifiées par l’userform. J’ai repéré la partie du code qui pose problème.

userform GESTION_CONTACT
Private Sub ToggleButton1_Click()

If i = 1 Or i = 6 Then
Ws.Cells(ligne, i + 1) = CDate(Me.Controls("TextBox" & i)) ' On écrit la nouvelle valeur
Else

Lorsque je supprime ce code ça fonctionne mais je n’ai plus la conversion des textbox 1 et 6 en nombre.
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'690
Appréciations reçues : 5
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 24 octobre 2014, 16:02

Bonjour

Cela devient complexe à gérer tous les cas ainsi que les exceptions
Espérons que cela n’amène pas d'autres problèmes
belsamis010975 Base de données V014.zip
(279.79 Kio) Téléchargé 21 fois
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 27 octobre 2014, 08:34

Bonjour Banzaï,

Aprés plusieurs essais,

cette ligne se met en deboquage. dés lors que je modifie une donnée, mas la modification s'opère quand même.

Private Sub ToggleButton1_Click()

If CDate(Me.Controls("TextBox" & i)) <> CDate(Ws.Cells(ligne, i + 1)) Then
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 27 octobre 2014, 08:34

Bonjour Banzaï,

Aprés plusieurs essais,

cette ligne se met en deboquage. dés lors que je modifie une donnée, mas la modification s'opère quand même.

Private Sub ToggleButton1_Click()

If CDate(Me.Controls("TextBox" & i)) <> CDate(Ws.Cells(ligne, i + 1)) Then
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'690
Appréciations reçues : 5
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 27 octobre 2014, 11:58

Bonjour

Avec si peux de renseignements je ne vais pas trouver
Il faut que je sache exactement les démarches à suivre pour arriver à l'erreur

Quel est le message d'erreur ?
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 28 octobre 2014, 14:42

Bonjour Banzaï,

En effet je n'ai pas été claire du tout,
Voici le problème, le fichier marche nickel à l'exception de la modification de donnée dans le userfrom GESTION_CONTACT.
Le but est dés qu'un utilisateur modifie une donnée de la colonne D à T la ou les cellules se colories en jaune soit les textbox de 3 à 19.
Le problème est que la première modification se passe bien et aprés il affiche un message d'erreur
"ERREUR D'EXECUTION TYPE 13"
Et voici la ligne qui bloque :

If CDate(Me.Controls("TextBox" & i)) <> CDate(Ws.Cells(ligne, i + 1)) Then

Ex code SAP 47194 ligne 3 je modifie n'importe quoi tout fonctionne
Ex code SAP 49177 ligne 36 je modifie la cétégorie client le message apparé.
J'espère que tu vas comprendre mes problèmes, car tout fonctionne
image erreur
image erreur
belsamis010975 Base de données V014.zip
(277.35 Kio) Téléchargé 5 fois
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'690
Appréciations reçues : 5
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 28 octobre 2014, 15:06

Bonjour

Cela vient que dans la TextBox ou/et dans la cellule il n'y ait pas de date

Modifies le code
  For i = 1 To 19
    If Me.Controls("TextBox" & i).Visible = True Then
      ' Si la nouvelle valeur est différente de l'ancienne valeur
      If i = 1 Or i = 6 Then
      [surligner]If IsDate(Me.Controls("TextBox" & i)) And IsDate(Ws.Cells(ligne, i + 1)) Then[/surligner]
          If CDate(Me.Controls("TextBox" & i)) <> CDate(Ws.Cells(ligne, i + 1)) Then
            Ws.Cells(ligne, i + 1) = CDate(Me.Controls("TextBox" & i))   ' On écrit la nouvelle valeur
            If i > 2 Then Ws.Range("C" & ligne) = "X"       ' On note "Modification"
          End If
        [surligner]End If[/surligner]
Corrigé dans cette version
belsamis010975 Base de données V015.zip
(288.13 Kio) Téléchargé 8 fois
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 28 octobre 2014, 16:36

Merci d'être aussi rapide,

j'ai testé le fichier plus de message d'erreur.
Mais toujours ce problème de cellule qui se mettent en jaune malgrés qu'elles ne soient pas modifiées. J'ai remarqué c'est dés que je modifie quelque chose qui est après la colonne G

la première fois ça fonctionne très bien et après pour une seule modification d'une textbox plusieurs cellules sont en jaune.

Ex code SAP 62967 modification apportée sur la colonne NOMS 2 tout est OK
Ex code SAP 90446 modification apportée sur la colonne NOMS 2 et la il met en jaune le NOMS 2 et la colonne K = CP
Sur la feuille FICHIER DE BASE il y à un code
C'est peut être celui ci qui pose problème.
jaune.jpg
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 28 octobre 2014, 17:05

Banzaï

Voici un exemple de fichier que j'utilisais avant de passer prochainement par le formulaire.
En colonne C formule qui Met une (X) qui si il y a du jaune de la colonne D à T. Dés que l'on modifie une cellule elle se met en jaune automatiquement.
Voici ce que j'aimerai faire avec le formulaire.GESTION_CONTACT. On y est presque je le sais.
ex fichier ancien.xlsm
(110.46 Kio) Téléchargé 6 fois
Avatar du membre
Banzai64
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'690
Appréciations reçues : 5
Inscrit le : 21 novembre 2010
Version d'Excel : 2003 FR (learning 2010 - 2013)

Message par Banzai64 » 28 octobre 2014, 17:28

Bonjour

C'est normal
Dans la cellule K9 tu as un nombre(28000) que tu compare avec du texte ( "28 000" ) ---> pas glop alors jaune
Dans la cellule K14 tu as un texte ( "28 100" ) que tu compares avec du texte ( "28 100" ) -> Glop alors pas jaune

A tester
belsamis010975 Base de données V016.xlsm
(286.68 Kio) Téléchargé 15 fois
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message