Projet de formulaire avec des codes VB

Résolu/Fermé
Fatalys Messages postés 68 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 14 juillet 2015 - 30 déc. 2014 à 12:29
Fatalys Messages postés 68 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 14 juillet 2015 - 3 févr. 2015 à 13:01
Bonjour à tous,

Débutant dans l'utilisation du VB sur Excel (j'ai la version 2013 au travail), je fais appel à vous pour m'aiguiller dans mes démarches pour la création d'un formulaire avec certains de ces fameux codes VB.

Au boulot, je suis occupé de créer une nouvelle mouture d'un tableau que des conseillères devront remplir chaque jour avec les personnes qu'elles rencontrent (actuellement elles le font sur papier, ce qui prend un temps fou pour les statistiques du fait qu'il faut tout calculer "à la main" et j'aimerais automatiser une grande partie).

J'aimerais y ajouter du code pour:
Un compteur de clics (lors qu'elles remettent un document, ou 2, ou 3,...), clic gauche "+1" dans la cellule à coté (l'idéal sur la cellule où le clic est fait pour "économiser" une colonne) et le clic droit y ferait juste un "-1" (pour corriger les clics en trop).
----> cela permettrait de savoir combien de documents/infos/etc.. la conseillère a remis à la personne.

Transformer des cellules d'une colonne en case à cocher (j'ai déjà un code, je le mettrai en fin de message.
----> car j'utiliserai un compteur de cellules pleines (fonciton NB) pour calculer les différents actes réalisés sur la journée que je répercuterai ensuite dans un autre tableau qui fera automatiquement les statistiques moyennes par jour/mois/...

Et surtout, le plus compliqué à mon avis, ça serait de faire en sorte que ce formulaire soit seulement un modèle qu'elles ouvriront tous les jours (non, là n'est pas la difficulté), le hic, c'est qu'ils doivent s'enregistrer automatiquement avec le nom de la conseillère et la date du jour, donc j'ai pensé: Est-ce possible de faire enregistrer automatiquement un fichier (donc à partir du modèle dans un dossier précis) donc le nom reprendrait automatiquement:
[JJ.MM.AAAA] - [Nom conseillère]
->30.12.2014 - Marie (je ne sais pas par contre quelle sera l'extension du fichier enregistré))

Schématiquement (parce que j'ai l'impression de pas être clair):

Ouverture du modèle (monito.xlsm),
Inscription du nom de la conseillère dans la cellule prévue (date auto dans la cellule date)
Encodage des données:
- Nom, prénom, numéro client,
- Cases à cocher simples,
- Les fameuses cases à compteurs de clics,
- Commentaires.
Enregistrement automatique.
Quitter ->enregistrement automatique encore et désactiver l'enregistrement sur le modèle afin de le garder toujours vierge pour le lendemain.

J'espère avoir été assez précis. Merci de m'avoir lu :)


Voici le code pour les cases à cocher, il fonctionne comme je le veux, juste que ce serait plus simple avec un simple clic qu'avec un double clic:

Private Sub Worksheet_BeforeDoubleClick _
(ByVal zz As Range, Cancel As Boolean)
If zz.Address <> "$A$1" Then Exit Sub
If zz.Value = "" Then
zz.Font.Name = "Marlett"
zz.Value = Chr(97) 'ou "a"
Else
zz.Font.Name = "Arial"
zz.Value = ""
End If
Cancel = True
End Sub


Pour la cellule A1, je ne sais pas sous quelle forme je peux mettre la plage de cellules par exemple comme dans Excel (A4:A22;B4:B22;...) ou s'il y a une autre manière de faire.
Le "a" en Marlett c'est juste pour que ça soit le petit symbole "v" des cases à cocher standard.

6 réponses

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 30/12/2014 à 18:01
Bonjour,

cases à cocher
'sur click droit: coche/decoche sans changer de cellule
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("A4:A32,B4:B22")) Is Nothing Then
Cancel = True
If Target.Value = "R" Then
Target.Font.Name = "Wingdings 2"
Target.Value = "£"
ElseIf Target.Value = "" Or Target.Value = "£" Then
Target.Font.Name = "Wingdings 2"
Target.Value = "R"
End If
End If
End Sub
'sur click gauche: changer de cellule pour coche/decoche
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A4:A32,B4:B22")) Is Nothing Then
Cancel = True
If Target.Value = "R" Then
Target.Font.Name = "Wingdings 2"
Target.Value = "£"
ElseIf Target.Value = "" Or Target.Value = "£" Then
Target.Font.Name = "Wingdings 2"
Target.Value = "R"
End If
End If
End Sub


comptez les "R" pour case cochee


Pourquoi un fichier par conseillere/jour et pas enregistrement dans une feuille par ligne comme dans une base de donnee.

Un Userform a la place du modele, quoique si enregistrement type base de donnees saisie sur une feuille peut aller

A+
1
Fatalys Messages postés 68 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 14 juillet 2015 48
Modifié par Fatalys le 15/01/2015 à 11:05
Merci beaucoup, désolé du temps de réponse!


[pas trouvé le moyen de faire un quote]

----------------------------------------------------------------------------------------
Y aurait-il une solution concernant ceci?

Et surtout, le plus compliqué à mon avis, ça serait de faire en sorte que ce formulaire soit seulement un modèle qu'elles ouvriront tous les jours (non, là n'est pas la difficulté), le hic, c'est qu'ils doivent s'enregistrer automatiquement avec le nom de la conseillère et la date du jour, donc j'ai pensé: Est-ce possible de faire enregistrer automatiquement un fichier (donc à partir du modèle dans un dossier précis) donc le nom reprendrait automatiquement:
[JJ.MM.AAAA] - [Nom conseillère]
->30.12.2014 - Marie (je ne sais pas par contre quelle sera l'extension du fichier enregistré))

Schématiquement (parce que j'ai l'impression de pas être clair):

Ouverture du modèle (monito.xlsm?),
Inscription du nom de la conseillère dans la cellule prévue (date auto dans la cellule date)
Encodage des données:
- Nom, prénom, numéro client,
- Cases à cocher simples,
- Les fameuses cases à compteurs de clics,
- Commentaires.
Enregistrement automatique.
Quitter ->enregistrement automatique encore et désactiver l'enregistrement sur le modèle afin de le garder toujours vierge pour le lendemain.

----------------------------------------------------------------------------------------


Et les fichiers seront nommés selon ceci: "[contenu de D1] - [contenu de B1]" dans le dossier (emplacement réseau) P:\DRM\CDA\Monitorings\Monitos\2015\Janvier 2015
(changera chaque année/mois)

D'ailleurs est-il possible d'intégrer dans le code la création automatique du dossier à chaque nouveau mois/nouvelle année faisant l'arborescence: Année\mois?

Je répète que je ne m'y connais pas en VB, mais c'est vraiment pour faciliter le travail de l'équipe des conseillères et ensuite à la fin du mois, mon travail de statistiques.

Je peux voir pour vous héberger le fichier xlsm (fait sur excel 2013) si vous pensez que ça pourrait vous aider. (il est rempli de données fictives pour des raisons de test du code pour les cases à cocher justement).

Désolé de vous en demander tant, j'aimerais pouvoir me débrouiller comme vous, merci de m'avoir encore lu. :)

Bonne journée!
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 15/01/2015 à 14:13
Bonjour,

pour mettre a dispo votre fichier:

il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

Question: qui y a-t-il dans le fichier que vous voulez creer par jour_conseillere ceci sans trahir la confidentialite, car plutot que de creer un fichier jour_conseillere, un fichier par conseillere qui recevrait toutes les saisies sur une par saisie avec tous les renseignements souhaites
A qui serviraient ces fameux fichiers
0
Fatalys Messages postés 68 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 14 juillet 2015 48
15 janv. 2015 à 14:37
Bonjour,

Voici le lien vers le fichier: https://www.cjoint.com/?0ApoIQSDyhi

Le code VB déjà présent sert pour les cases à cocher.

Ces fichiers serviront à moi et une collègue qui utilisons ces données journalières (d'où l'utilité d'un par jour) et par conseillère du fait qu'il faut qu'elles puissent consulter directement leurs propres fichiers (leur tableau ne doit pas "s'effacer" en cours de journée) et puis pour la traçabilité des actes administratifs, c'est plus simple.

Ce qu'il y a dans les fichiers, c'est en gros, un descriptif des actes administratifs réalisés par les conseillères.

Merci bien d'être aussi rapide.
0

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

Posez votre question
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
15 janv. 2015 à 16:32
Re,

Les fameuses cases à compteurs de clics, Est-ce le nombre de cases cochees par clients ????? Sur votre document, la colonne n'existe pas!!!!!

Une fois le fichier modele sauvegarde avec le chemin et le nom que vous definissez(ceci au premier client, voir comment) , vos conseilleres ne devront plus ouvrir ce fichier modele dans la meme journee mais prendre le fichier du jour
0
Fatalys Messages postés 68 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 14 juillet 2015 48
3 févr. 2015 à 13:01
Bonjour,

J'ai changé le système de compteur de clics par un simple "cocher/décocher" par simple clic.

Quelqu'un aurait une idée pour le code d'enregistrement automatique que j'ai décrit plus haut s'il vous plait? Une bonne bière belge à ceux qui m'auront aidé, parce que c'est pas très simple et une bonne bière ça aide à détendre la tête. :D

Bonne journée, et merci encore :)
0