Projet de formulaire avec des codes VB [Résolu/Fermé]

Signaler
Messages postés
68
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
14 juillet 2015
-
Fatalys
Messages postés
68
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
14 juillet 2015
-
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.
Messages postés
14892
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
10 décembre 2019
1197
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62815 internautes nous ont dit merci ce mois-ci

Messages postés
68
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
14 juillet 2015
38
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!
Messages postés
14892
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
10 décembre 2019
1197
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 : http://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
Messages postés
68
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
14 juillet 2015
38
Bonjour,

Voici le lien vers le fichier: http://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.
Messages postés
14892
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
10 décembre 2019
1197
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
Messages postés
68
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
14 juillet 2015
38
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 :)