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.