Création d'un Listing Client

Bonjour,

Comme certains le savent je suis sur la création d'un listing client.

J'ai déjà créé plusieurs sujet pour résoudre sa réalisation, mais ce n'est pas pratique.

Ce nouveau sujet servira de "foure-tout" pour traiter mes futurs problèmes concernant ce projet, et ceci pour plusieurs raisons:

- éviter de surcharger le forum qui se trouve déjà très actif,

  • centraliser le projet dans un seul sujet afin de faciliter sa navigation,
  • et surtout pour aider d'autres membres à créer des projets similaires sans avoir à fouiller dans tout le forum.
Ce premier message sert de description du projet, les questions viennent dans les messages suivants.

NOTE: Ce message est amené à être mis à jour selon l'avancement du projet, surtout le fichier joint!

1.1. Les Feuilles.

Elle sont au nombre 3:

- "INTRO", qui sert à expliquer comment utiliser le listing, comment contacter l'organisme et comment activer les macros (selon la version d'excel utilisée),

  • "Base_client", qui est le listing à proprement parler et qui contient donc les clients selon plusieurs critères,
  • "progr.", qui est une feuille masquée utilisée pour la programmation (par exemple, les listes déroulante).

1.2. Le Menu.

Le Menu est un bouton cliquable depuis la seconde feuille, et permet plusieurs choses:

- Ajouter un Contrôle,

  • Effectuer une Recherche ou un Tri dans le listing selon l'élément choisis par l'utilisateur (date, n° de dossier, nom, type de manège, et cetera),
  • Afficher une Calculatrice,
  • Afficher un Calendrier,
  • Configurer les Préférences.

Merci pour ceux qui ont eu le courage de s'intéresser à mon propos

Bien à vous,

Aikamaru.


Voilà maintenant place à la première question:

Peut-on faire en sorte que le bouton Menu suive l'écran pour rester toujours visible?

(par exemple en bas à gauche serai le mieux)

Évidement le but étant que le menu soit accessible simplement, même si l'utilisateur consulte un client ligne 1200.

Bien à vous,

Aikamaru.

240listing-client.xlsm (101.68 Ko)

Bon apparemment personne n'a la réponse à cette question.

Je passe à la suivante!

J'ai un gros problème avec le sous-menu Préférences!

Je l'ai un peu modifié et quand je l'ai testé j'ai remarqué qu'il se boquait.

Tout le menu fonctionne bien mais dès que je clique sur Préférences, l'USF s'affiche bien mais j'ai beau cliquer n'importe où ça ne fait rien d'autre que me jouer un son windows. Impossible aussi de le fermer. Obliger de faire ALT+F4

Essayez le fichier et essayez de me dire d'où vient le problème s'il vous plait!

160listing-client.xlsm (102.83 Ko)

--- QUESTION 3 ---

J'essais de placer des valeurs dans ma feuille à partir d'une macro (la fameuse UserForm_ajout_controle):

Donc dans mon code, j'ai ça:

Private Sub CommandButton_Valider_Click()
    With Sheets("Base_client")
        derligne = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
        If derligne = 2 Then derligne = 3 'A cause de la fusion des lignes 1 et 2

        .Range("A" & derligne) = TextBox_num_dossier.Value
        .Range("B" & derligne) = TextBox_date.Value
        .Range("E" & derligne) = TextBox_nom.Value
        .Range("F" & derligne) = TextBox_prenom.Value
        .Range("C" & derligne) = TextBox_lieu.Value
        .Range("D" & derligne) = TextBox_departement.Value
        .Range("G" & derligne) = TextBox_voie.Value
        .Range("H" & derligne) = TextBox_bp.Value
        .Range("I" & derligne) = TextBox_cp.Value
        .Range("J" & derligne) = TextBox_ville.Value
        .Range("K" & derligne) = TextBox_tel.Value
        .Range("L" & derligne) = TextBox_metier.Value
        .Range("O" & derligne) = TextBox_prix.Value
        .Range("P" & derligne) = TextBox_deplacement.Value
        .Range("M" & derligne) = var_ACNC.Value
        .Range("N" & derligne) = ComboBox_reglement.Value
    End With

End Sub

Et ça:

Private Sub OptionButton_AC_Click()
    Dim var_ACNC As String
    var_ACNC = "AC"
End Sub

Private Sub OptionButton_NC_Click()
    Dim var_ACNC As String
    var_ACNC = "AC"
End Sub

Mais lorsque je teste la macro il me dit:

Erreur d'exécution '424':

Objet requis

Quelqu'un sait-il d'où vient l'erreur?

Bien à vous,

Aikamaru.

Bonjour,

Une trentaine de visites et pas une seule réponse : malgré certains atouts ce fil est une fausse bonne idée.

Le côté positif de la chose c'est qu'on devine une capacité d'analyse et d'organisation assez rare.

Les aspects négatifs sont nombreux :

Sur la forme :

Si on n'adhère pas à ton design ça ne donne pas envie de participer. Personnellement ces visuels surdimensionnés ne me branchent pas du tout. (Pour un jeu, je dis pas : Ça pourrait être marrant ! Mais pour une appli à caractère professionnel, Beuh...)

La conception du menu est d'autant plus irritante que 2010 offre des possibilités de personnalisation du ruban très chiadées...

De plus il faut éviter de proposer (sur un forum et sans prévenir) des options qui modifient définitivement l'ergonomie d'Excel. Quand on le fait il faut prévoir de restituer automatiquement la présentation d'origine quand on quitte l'application (voire même quand on change de fenêtre : Tes utilisateurs ne seront peut-être pas content de ne plus avoir de barre de formule ou d'onglet s'ils doivent passer d'une appli à l'autre.

Pour le coup le bouton qu'il soit mobile ou pas est sans intérêt. Pas de bouton serait encore mieux. Pour la gestion d'une base de données, c'est parfaitement inutile.

Plusieurs questions sur un même thread est contraire à la philosophie des forums et aux habitudes des répondeurs : Les répondeurs les plus expérimentés ne répondent qu'aux questions qui les intéressent (ou de leur domaine de compétence)

Sur le fond :

Il existe une option de recherche sur ce forum (en haut à droite du forum) voici ce que donne "bouton suiveur"

https://forum.excel-pratique.com/excel/bouton-sur-excel-t20988.html

Question 2 et 3 Je n'ai pas trop cherché :

Ton calendar plante à l'ouverture du classeur il faut utiliser des contrôles standard de la suite à billou ou crée un calendar exportable sur toutes les machines.

Il faut utiliser des déclarations de variables en début de procédures et non disséminées un peu partout.

Il faut utiliser des noms de contrôles, objets et variables courts et suffisamment explicites. (10 caractères au grand maximum)

Des noms trop longs rendent le code illisible et découragent les bonnes volontés. ceci est tellment vrai que cette technique est parfois utilisés pour la protection de certains programmes... (obfuscation)

UserForm_ajout_controle est certes explicite mais usfAjCtrl serait mieux

cbOk est mieux que CommandButton_VALIDER

tbDept est préférable à TextBox_departement

tbNom, tbdate, tbDeplc, tbCodep également

ScrollBar_Zoom ou CheckBox_StopMenu... bif !

Il faut éviter les .value qui ne servent à rien

…a plus forte raison dans

= var_ACNC.Value (ACNC étant une variable elle n'a pas de propriété Value) La propriété Value ne s'applique qu'aux objets et non aux variables : ce qui explique le message objet requis…

Pour le coup je n'ai pas eu le courage de démarrer le débogueur… sur ton menu.

Bon continuation…

Bonjour,

A ben un grand merci!

Je peux enfin comprendre nombre de choses...

... Et qu'une chose à dire: Au boulot!

Pour ma décharge, étant débutante, toutes ces notions ne pouvais que m'être étrangères; donc forcément si personne ne me l'aurait jamais dit, je n'aurai jamais pu le deviner.

Enfin le principal est d'y voir plus clair.

Merci encore pour le temps consacré.

Bien à toi,

Aikamarau.

bonsoir,

Pour ma décharge, étant débutante, toutes ces notions ne pouvais que m'être étrangères,

donc forcément si personne ne me l'aurait jamais dit, je n'aurai jamais pu le deviner.

Je l'avais bien compris comme cela c'est pourquoi que je me suis donné la peine de répondre car tu me semble quand même avoir de réelles dispositions pour ce genre d'exercice…

Concernant la question de la mise en forme des options d'Excel.

Il faut considérer 2 situations.

La phase de construction ou toutes les options que tu proposes sont inutiles. En effet pendant cette période, ces propriétés sont en générale utile au programmeur en mode visible.

Dans la phase d'utilisation, c'est à toi de déterminer si oui ou non si la barre de formule, les onglets… et autres joyeusetés sont indispensables ou non au fonctionnement de ton application.

Ces options ne doivent pas être évaluées à la légère : En effet si la disparition du quadrillage à l'écran peut sembler préférable, elle implique par contre bien souvent un quadrillage personnalisé, bien plus lourd à de nombreux titres.

Si toutefois tu décides malgré tout de te lancer dans quelques modifications environnementales tu peux malgré tout l'envisager vers la fin de ton projet (quand l'ensemble est assez bien finalisé pour ne pas jouer sans cesse avec les paramètres)

Toutefois dans ce cas tu dois te donner la peine de mémoriser toutes les variables d'environnement que tu comptes modifier et d'assurer que tu as prévus tous les cas de figures nécessaire à rétablir l'environnement familier de l'utilisateur s'il quitte ton application.

En pièce jointe une démo de code respectueux de l'utilisateur : L'environnement d'origine est restitué à la sortie du classeur.

https://galopin01.pagesperso-orange.fr/Perso13/DefEnviro.xlsm

Nota : GridLine et Heading s'applique en fait Feuille par Feuille. Il est donc inutile de le mémoriser. En principe cet affichage est censé être permanent.

DisplayFormulaBar est un peu caractériel : Impossible de restituer l'option d'origine en sortie de classeur. Ça ne marche que si plusieurs classeurs sont ouvert en même temps : Dans ce cas si tu switch entre les 2 classeurs l'un affiche la barre de formule, l'autre non.

Concernant la Question 3

En fait

Dim var_ACNC As String

doit être placé en tête du module du USF avant la première Private Sub tout au début du module USF (pour pouvoir être lu par toutes les Sub)

Dim var_ACNC As String
Private Sub OptionButton_AC_Click()
    var_ACNC = "AC"
End Sub

Private Sub OptionButton_NC_Click()
    var_ACNC = "NC"
End Sub

Private Sub CommandButton_Valider_Click()
' la suite sans changement...

A+

Rechercher des sujets similaires à "creation listing client"