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 » 4 novembre 2014, 16:37

Bonjour Banzaï,

Génial pour le jaune selon la textbox modifiée ça fonctionne du tonnerre.
Par contre lorsque je fais une recherche sur le userform1 et qu'il ne trouve pas la donnée il met erreur d'exécution 381 embêtant car l'utilsateur devra déboguer relancer le processus. Peut-on faire s'il ne trouve pas mettre un msg (pas de réponse pour ce critère de recherche).

Cordialement Samy
type 13.jpg
FICHIER CLIENT V16 QUADRA.xlsm
(293.35 Kio) Téléchargé 8 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 » 4 novembre 2014, 17:48

Bonjour

Désolé pas trouvé ce code dans l'Userform1
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 5 novembre 2014, 13:47

Bonjour Banzaï,

Désolé je n'ai pas été très clair dans mon explication.
A l’ouverture du fichier un userform s’ouvre il faut choisir « modification » puis une fois le userfom modification ouvert tu vas dans "mot clé cherché" et tu inscris quelque chose du type sdedezz qui ne figure pas dans le fichier et là il va déboguer.
Le userform modification = userform1

L’erreur se trouve sur le bouton OK
Ligne : ligne = Me.ListBox1.List(pointeur, 1)

Idéalement je souhaiterai qu’il mette un msg tu type les données inscrites ne corresponde à aucun client par ex.
FICHIER CLIENT V16 QUADRA.zip
(290.45 Kio) Téléchargé 11 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 » 5 novembre 2014, 17:40

Bonjour

Je ne sais si je dois en rire ou m'agacer

As tu eu l'idée de suivre les instructions
belsamis010975 a écrit :A l’ouverture du fichier un userform s’ouvre il faut choisir « modification »
Et bien non c'est "Consultation"
belsamis010975 a écrit :quelque chose du type sdedezz qui ne figure pas dans le fichier et là il va déboguer.
Non tu peux écrire ce que tu veux il ne débogue pas car il ne fait pas de recherche lors des modifications du TextBox
belsamis010975 a écrit :Le userform modification = userform1
Et bien non l'Userform modification s'appelle "GESTION_CONTACTS"
Et l'userform1 s'appelle "Userform1" et c'est dans celui-ci que le plantage se produit, contrairement à ce que tu as indiqué dans ton message précédent

Ceci étant précisé

Modifies la fin de la procédure Private Sub B_ok_Click()
     Loop While Not c Is Nothing And c.Address <> premier
   End If
   [surligner]If Me.ListBox1.ListCount > 0 Then[/surligner]
    pointeur = 0
    ligne = Me.ListBox1.List(pointeur, 1)
    affiche
  [surligner]Else[/surligner]
    [surligner]MsgBox "Aucun résultat pour " & Me.MotCle[/surligner]
  [surligner]End If[/surligner]
End Sub
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 5 novembre 2014, 21:02

Banzaï,

En effet il vaut mieux en rire je me suis entièrement trompé sur le noms des UF. Je mets ça sur le dos de inattentivité. J'étais sur deux choses à fois. La procédure je la connais heureusement, il vaut pour moi car mon équipe ne comprendra rien non plus.

En tout les cas merci encore pour toute l'aide apportée.

Je vais pouvoir clôturer le sujet .
J'espère ne pas avoir abusé de ton temps.

Cordialement

Samy
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 » 5 novembre 2014, 21:25

Bonsoir

Avant de clôturer

Que se passe t'il si suite à une recherche infructueuse (exemple avec "quelque chose du type sdedezz") la listbox va être vide
Et comment faut il faire pour remplir de nouveau la ListBox

Une solution consiste à effacer la zone recherche
La programmation est faite dans le fichier joint

belsamis010975 Base de données V018.zip
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 6 novembre 2014, 15:34

Bonjour Banzaï,

Merci d'avoir soulever un problème dont je n'avais pas pensé. J'ai testé ton fichier avec la solution que tu proposes, je n'ai constatée aucune différence avec le précédent fichier.
J'ai repéré le bout de code rajouté :
Dim I As Long
Me.ListBox1.Clear
If Me.MotCle = "" Then
For I = 2 To f.[A65000].End(xlUp).Row
Me.ListBox1.AddItem
Me.ListBox1.List(I - 2, 0) = f.Cells(I, 4)
Me.ListBox1.List(I - 2, 1) = I
Next
Else
Je dois mal comprendre la façon de procéder, à l'ouverture je choisis CONSULTATION j'inscris sehqmdh et la un msg me disant aucun résultat pour elqkhkl. La listbox se vide. En remettant un critère correcte il trouve ce qu'on lui demande.
Peux tu me renseigner davantage.
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 » 6 novembre 2014, 17:46

Bonjour
belsamis010975 a écrit : En remettant un critère correcte il trouve ce qu'on lui demande
Exact

Mais expliques comment fais tu pour avoir toute la liste ?

Moi j'avais pensé à cette solution : Effacer la TextBox de recherche

Si ce n'est pas important ne l'utilises pas
b
belsamis010975
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 14 juin 2013
Version d'Excel : 2010FR

Message par belsamis010975 » 13 novembre 2014, 13:35

Bonjour Banzaï,

Désolé de cette absence je n’étais pas dispo ces derniers temps.
Pour répondre à ta question pour afficher de nouveau tous les clients il faut cliquer sur le bouton « tout » sur le userform consultation.

Par contre on ma soumit un souhait, un de mes collaborateur m’a demandé s’il été possible de mettre du jaune automatiquement sans passer par le userform de la colonne Z à BD soit la 26éme à la 56éme colonne.

Voici le code qui le fait automatiquement soit par le userform ou directement sur le fichier de la 4ème à la 20éme colonne. Ca fonctionne nickel
Mais quand je duplique le code en y mettant les bonnes données ça fonctionne bien sur le fichier mais en passant par userform ça met en jaune la ligne de la colonne 26 à 56.

Ce code est sur la feuille FICHIER DE BASE

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Set Plage = Range(Cells(Target.Row, 4), Cells(Target.Row, 20))
Set Plage = Range(Cells(Target.Row, 26), Cells(Target.Row, 56)) (VOICI LA LIGNE QUE J'AI RAJOUTE ONGLET FICHIER CLIENT)

If Target.Count = 1 And Not Application.Intersect(Target, Plage) Is Nothing Then
Target.Interior.Color = vbYellow
End If
Set Plage = Nothing
End Sub

Merci Banzaï
FICHIER CLIENT V18BIS.xlsm
(298.31 Kio) Téléchargé 19 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 » 13 novembre 2014, 14:12

Bonjour

Pas sur d'avoir tout compris

Modifies le code du module de la feuille "FICHIER DE BASE"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range

  Set Plage = Range(Cells(Target.Row, 26), Cells(Target.Row, 56))
  If Target.Count = 1 And Not Application.Intersect(Target, Plage) Is Nothing Then
    Plage.Interior.Color = vbYellow
  End If
End Sub
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message